Przejdź do głównej zawartości

Konfiguracja

Uwierzytelniłeś się, uruchomiłeś Codex, a on natychmiast spróbował uruchomić rm -rf node_modules bez pytania. Albo gorzej, pytał o pozwolenie na każde polecenie ls zanim zrobił cokolwiek użytecznego. Różnica między tymi doświadczeniami to jeden plik: config.toml. Skonfiguruj go dobrze, a Codex będzie działał jak zaufany starszy kolega. Skonfiguruj źle, a będzie albo nieodpowiedzialny, albo sparaliżowany.

  • Plik ~/.codex/config.toml skonfigurowany z twoim preferowanym modelem, polityką zatwierdzania i poziomem sandbox
  • Nadpisania na poziomie projektu w .codex/config.toml dla ustawień zespołowych
  • Jasne zrozumienie kolejności priorytetów konfiguracji
  • Flagi funkcji włączone dla potrzebnych możliwości
  • Tryb wyszukiwania w sieci dostrojony do twoich wymagań bezpieczeństwa

Codex odczytuje konfigurację z plików TOML. Twoje osobiste ustawienia domyślne znajdują się w ~/.codex/config.toml, a nadpisania specyficzne dla projektu w .codex/config.toml w katalogu głównym repozytorium.

Zarówno CLI jak i rozszerzenie IDE współdzielą te same warstwy konfiguracji. Aplikacja też je czyta. Skonfiguruj raz, używaj wszędzie.

Codex rozwiązuje ustawienia w następującej kolejności, od najwyższego do najniższego priorytetu:

  1. Flagi CLI i nadpisania --configcodex -a never ma priorytet nad wszystkim.

  2. Wartości profilu — Z --profile <name> jeśli używasz nazwanych profili.

  3. Konfiguracja projektu — Pliki .codex/config.toml, uporządkowane od katalogu głównego projektu w dół do bieżącego katalogu roboczego. Najbliższy katalog wygrywa. Ładowane tylko dla zaufanych projektów.

  4. Konfiguracja użytkownika~/.codex/config.toml.

  5. Konfiguracja systemowa/etc/codex/config.toml na Unix (jeśli istnieje).

  6. Wbudowane domyślne — Fabryczne ustawienia Codex.

Oznacza to, że twój zespół może commitować plik .codex/config.toml do repozytorium z polityką zatwierdzania specyficzną dla projektu, a poszczególni deweloperzy mogą nadpisać te ustawienia własnymi preferencjami w ~/.codex/config.toml.

Oto produkcyjny ~/.codex/config.toml z ustawieniami, które większość deweloperów zmienia najpierw.

~/.codex/config.toml
# Wybór modelu -- GPT-5.3-Codex jest domyślny i najlepszy do zadań programistycznych
model = "gpt-5.3-codex"
# Polityka zatwierdzania -- kontroluje kiedy Codex pauzuje aby zapytać przed uruchomieniem poleceń
# Opcje: "on-request" (pytaj o wszystko), "on-failure" (auto-zatwierdzaj,
# pytaj przy błędach), "never" (pełna autonomia -- tryb "yolo")
approval_policy = "on-failure"
# Tryb sandbox -- kontroluje dostęp do systemu plików i sieci
# Opcje: "workspace-write" (domyślny, ograniczony do projektu), "danger-full-access"
sandbox_mode = "workspace-write"
# Tryb wyszukiwania w sieci
# Opcje: "cached" (domyślny, zaindeksowane wyniki), "live" (w czasie rzeczywistym),
# "disabled" (bez wyszukiwania)
web_search = "cached"
# Nakład myślenia -- ile model myśli przed odpowiedzią
# Opcje: "low", "medium", "high"
model_reasoning_effort = "high"
# Przechowywanie poświadczeń
cli_auth_credentials_store = "auto"

Polityka zatwierdzania to najważniejsze ustawienie. Oto co faktycznie robi każdy tryb.

Codex pauzuje i prosi o pozwolenie przed każdą edycją pliku i wykonaniem polecenia. To najbezpieczniejszy tryb, ale tworzy najwięcej tarcia.

approval_policy = "on-request"

Używaj gdy: Pracujesz w nieznanych bazach kodu, uruchamiasz Codex po raz pierwszy lub pracujesz w środowiskach produkcyjnych.

Dla ustawień zespołowych utwórz .codex/config.toml w katalogu głównym repozytorium:

# .codex/config.toml -- commitowany do repozytorium
# Standardowa polityka zatwierdzania zespołu
approval_policy = "on-failure"
# Sandbox ograniczony do workspace
sandbox_mode = "workspace-write"
# Zespół preferuje wysoki nakład myślenia dla tej złożonej bazy kodu
model_reasoning_effort = "high"

Gdy deweloper sklonuje repozytorium i zaufa projektowi, te ustawienia zastosują się automatycznie. Jego osobisty ~/.codex/config.toml nadal ma priorytet dla ustawień, które jawnie nadpisze.

Opcjonalne możliwości znajdują się w tabeli [features]:

[features]
# Przyspiesz powtarzane polecenia przez zrzut środowiska shell
shell_snapshot = true
# Włącz cofanie przez zrzuty git ghost per-tura (włączone domyślnie)
undo = true
# Włącz inteligentne zatwierdzanie sugerujące reguły prefiksów
request_rule = true

Kluczowe flagi funkcji:

FlagaDomyślnaCo robi
shell_snapshotfalseCache-uje środowisko shell dla szybszych powtarzanych poleceń
undotrueTworzy zrzuty Git per-tura dla możliwości cofnięcia zmian
request_ruletrueInteligentne zatwierdzanie sugeruje reguły uprawnień do ponownego użycia
unified_execfalseUżywa zunifikowanego narzędzia exec opartego o PTY (beta)
remote_compactiontrueKompresuje kontekst zdalnie (tylko uwierzytelnianie ChatGPT)

Włącz z CLI bez edycji konfiguracji:

Okno terminala
codex --enable shell_snapshot

Codex obsługuje eksperymentalne ustawienie stylu komunikacji:

# Opcje: "friendly", "pragmatic", "none"
model_personality = "pragmatic"

Możesz też zmienić to per-sesję przez /personality w TUI.

Kontroluj które zmienne środowiskowe Codex przekazuje do uruchamianych poleceń:

[shell_environment_policy]
include_only = ["PATH", "HOME", "NODE_ENV", "DATABASE_URL"]

To kluczowe dla bezpieczeństwa. Bez tej polityki Codex przekazuje całe twoje środowisko shell do każdego uruchamianego polecenia, co może doprowadzić do wycieku tajemnic.

Nie zawsze musisz edytować config.toml. CLI akceptuje jednorazowe nadpisania:

Okno terminala
# Nadpisz model dla tej sesji
codex -c model=gpt-5.2
# Nadpisz politykę zatwierdzania
codex -a never
# Włącz flagę funkcji
codex --enable shell_snapshot
# Połącz wiele nadpisań
codex -c model=gpt-5.2 -c model_reasoning_effort=low

Ostrzeżenie “Niezaufany projekt” i konfiguracja projektu ignorowana: Codex pyta o zaufanie do projektu przy pierwszym otwarciu. Jeśli odmówiłeś, pliki .codex/config.toml na poziomie projektu są pomijane. Uruchom ponownie Codex w projekcie i zaakceptuj pytanie o zaufanie.

Tryb zatwierdzania wydaje się być zły: Sprawdź kolejność priorytetów. Flaga CLI nadpisuje wszystko. Uruchom codex bez flag aby przetestować ustawienia pliku konfiguracji w izolacji.

Flaga funkcji nie działa: Niektóre flagi wymagają ponownego uruchomienia Codex. Zamknij Aplikację, zakończ CLI i otwórz ponownie. Flagi funkcji są odczytywane przy starcie, nie ładowane na żywo.

Błąd “sandbox_mode not allowed”: Twoja organizacja może wymuszać ograniczenia przez requirements.toml. Skontaktuj się z administratorem jeśli zarządzane polityki blokują preferowany tryb sandbox.

Brakujące zmienne środowiskowe w poleceniach: Jeśli Codex uruchamia npm test i nie powiedzie się bo brakuje DATABASE_URL, sprawdź swoje [shell_environment_policy]. Albo dodaj zmienną do include_only, albo usuń politykę aby przekazywać wszystko.