Konfiguracja
Uwierzytelnieles sie, uruchomiles Codex, a on natychmiast sprobowal uruchomic rm -rf node_modules bez pytania. Albo gorzej, pytal o pozwolenie na kazde polecenie ls zanim zrobil cokolwiek uzytecznego. Roznica miedzy tymi doswiadczeniami to jeden plik: config.toml. Skonfiguruj go dobrze, a Codex bedzie dzialal jak zaufany starszy kolega. Skonfiguruj zle, a bedzie albo nieodpowiedzialny, albo sparalizowany.
Co wyniesiesz z tego przewodnika
Dział zatytułowany „Co wyniesiesz z tego przewodnika”- Plik
~/.codex/config.tomlskonfigurowany z twoim preferowanym modelem, polityka zatwierdzania i poziomem sandbox - Nadpisania na poziomie projektu w
.codex/config.tomldla ustawien zespolowych - Jasne zrozumienie kolejnosci priorytetow konfiguracji
- Flagi funkcji wlaczone dla potrzebnych mozliwosci
- Tryb wyszukiwania w sieci dostrojony do twoich wymagan bezpieczenstwa
Plik konfiguracji
Dział zatytułowany „Plik konfiguracji”Codex odczytuje konfiguracje z plikow TOML. Twoje osobiste ustawienia domyslne znajduja sie w ~/.codex/config.toml, a nadpisania specyficzne dla projektu w .codex/config.toml w katalogu glownym repozytorium.
Zarowno CLI jak i rozszerzenie IDE wspoldziela te same warstwy konfiguracji. Aplikacja tez je czyta. Skonfiguruj raz, uzywaj wszedzie.
Kolejnosc priorytetow konfiguracji
Dział zatytułowany „Kolejnosc priorytetow konfiguracji”Codex rozwiazuje ustawienia w nastepujacej kolejnosci, od najwyzszego do najnizszego priorytetu:
-
Flagi CLI i nadpisania
--config—codex -a neverma priorytet nad wszystkim. -
Wartosci profilu — Z
--profile <name>jesli uzywasz nazwanych profili. -
Konfiguracja projektu — Pliki
.codex/config.toml, uporzadkowane od katalogu glownego projektu w dol do biezacego katalogu roboczego. Najblizszy katalog wygrywa. Ladowane tylko dla zaufanych projektow. -
Konfiguracja uzytkownika —
~/.codex/config.toml. -
Konfiguracja systemowa —
/etc/codex/config.tomlna Unix (jesli istnieje). -
Wbudowane domyslne — Fabryczne ustawienia Codex.
Oznacza to, ze twoj zespol moze commitowac plik .codex/config.toml do repozytorium z polityka zatwierdzania specyficzna dla projektu, a poszczegolni deweloperzy moga nadpisac te ustawienia wlasnymi preferencjami w ~/.codex/config.toml.
Podstawowe ustawienia
Dział zatytułowany „Podstawowe ustawienia”Oto produkcyjny ~/.codex/config.toml z ustawieniami, ktore wiekszosc deweloperow zmienia najpierw.
# Wybor modelu -- GPT-5.3-Codex jest domyslny i najlepszy do zadan programistycznychmodel = "gpt-5.3-codex"
# Polityka zatwierdzania -- kontroluje kiedy Codex pauzuje aby zapytac przed uruchomieniem polecen# Opcje: "on-request" (pytaj o wszystko), "on-failure" (auto-zatwierdzaj,# pytaj przy bledach), "never" (pelna autonomia -- tryb "yolo")approval_policy = "on-failure"
# Tryb sandbox -- kontroluje dostep do systemu plikow i sieci# Opcje: "workspace-write" (domyslny, ograniczony do projektu), "danger-full-access"sandbox_mode = "workspace-write"
# Tryb wyszukiwania w sieci# Opcje: "cached" (domyslny, zaindeksowane wyniki), "live" (w czasie rzeczywistym),# "disabled" (bez wyszukiwania)web_search = "cached"
# Naklad myslenia -- ile model mysli przed odpowiedzia# Opcje: "low", "medium", "high"model_reasoning_effort = "high"
# Przechowywanie poswiadczencli_auth_credentials_store = "auto"Tryby zatwierdzania w szczegolach
Dział zatytułowany „Tryby zatwierdzania w szczegolach”Polityka zatwierdzania to najwazniejsze ustawienie. Oto co faktycznie robi kazdy tryb.
Codex pauzuje i prosi o pozwolenie przed kazda edycja pliku i wykonaniem polecenia. To najbezpieczniejszy tryb, ale tworzy najwiecej tarcia.
approval_policy = "on-request"Uzywaj gdy: Pracujesz w nieznanych bazach kodu, uruchamiasz Codex po raz pierwszy lub pracujesz w srodowiskach produkcyjnych.
Codex auto-zatwierdza akcje, ale pauzuje i pyta gdy cos sie nie powiedzie. To idealny punkt rownego dla wiekszosci prac programistycznych — Codex plynie gladko na szczesliwych sciezkach, ale konsultuje sie z toba gdy pojawiaja sie bledy.
approval_policy = "on-failure"Uzywaj gdy: Codzienna praca programistyczna w zaufanych projektach.
Codex uruchamia wszystko bez pytania. Edycje plikow, polecenia shell, operacje Git — wszystko autonomicznie. To najszybszy tryb, ale wymaga duzego zaufania. Mozesz tez uzyc flagi CLI --full-auto dla tego samego efektu z sandboxingiem.
approval_policy = "never"Uzywaj gdy: Praca w skonteneryzowanych srodowiskach, jednorazowych branchach, pipeline-ach CI/CD lub gdy chcesz niezakloco flow i mozesz latwo cofnac zmiany.
Nadpisania na poziomie projektu
Dział zatytułowany „Nadpisania na poziomie projektu”Dla ustawien zespolowych utworz .codex/config.toml w katalogu glownym repozytorium:
# .codex/config.toml -- commitowany do repozytorium
# Standardowa polityka zatwierdzania zespoluapproval_policy = "on-failure"
# Sandbox ograniczony do workspacesandbox_mode = "workspace-write"
# Zespol preferuje wysoki naklad myslenia dla tej zlozonej bazy kodumodel_reasoning_effort = "high"Gdy deweloper sklonuje repozytorium i zaufa projektowi, te ustawienia zastosuja sie automatycznie. Jego osobisty ~/.codex/config.toml nadal ma priorytet dla ustawien, ktore jawnie nadpisze.
Flagi funkcji
Dział zatytułowany „Flagi funkcji”Opcjonalne mozliwosci znajduja sie w tabeli [features]:
[features]# Przyspiesz powtarzane polecenia przez zrzut srodowiska shellshell_snapshot = true
# Wlacz cofanie przez zrzuty git ghost per-tura (wlaczone domyslnie)undo = true
# Wlacz inteligentne zatwierdzanie sugerujace reguly prefiksowrequest_rule = trueKluczowe flagi funkcji:
| Flaga | Domyslna | Co robi |
|---|---|---|
shell_snapshot | false | Cache-uje srodowisko shell dla szybszych powtarzanych polecen |
undo | true | Tworzy zrzuty Git per-tura dla mozliwosci cofniecia zmian |
request_rule | true | Inteligentne zatwierdzanie sugeruje reguly uprawnien do ponownego uzycia |
unified_exec | false | Uzywa zunifikowanego narzedzia exec opartego o PTY (beta) |
remote_compaction | true | Kompresuje kontekst zdalnie (tylko uwierzytelnianie ChatGPT) |
Wlacz z CLI bez edycji konfiguracji:
codex --enable shell_snapshotStyl komunikacji
Dział zatytułowany „Styl komunikacji”Codex obsluguje eksperymentalne ustawienie stylu komunikacji:
# Opcje: "friendly", "pragmatic", "none"model_personality = "pragmatic"Mozesz tez zmienic to per-sesje przez /personality w TUI.
Przekazywanie zmiennych srodowiskowych
Dział zatytułowany „Przekazywanie zmiennych srodowiskowych”Kontroluj ktore zmienne srodowiskowe Codex przekazuje do uruchamianych polecen:
[shell_environment_policy]include_only = ["PATH", "HOME", "NODE_ENV", "DATABASE_URL"]To kluczowe dla bezpieczenstwa. Bez tej polityki Codex przekazuje calE twoje srodowisko shell do kazdego uruchamianego polecenia, co moze doprowadzic do wycieku tajemnic.
Szybkie nadpisania CLI
Dział zatytułowany „Szybkie nadpisania CLI”Nie zawsze musisz edytowac config.toml. CLI akceptuje jednorazowe nadpisania:
# Nadpisz model dla tej sesjicodex -c model=gpt-5.2
# Nadpisz polityke zatwierdzaniacodex -a never
# Wlacz flage funkcjicodex --enable shell_snapshot
# Polacz wiele nadpisancodex -c model=gpt-5.2 -c model_reasoning_effort=lowGdy cos nie dziala
Dział zatytułowany „Gdy cos nie dziala”Ostrzezenie “Niezaufany projekt” i konfiguracja projektu ignorowana: Codex pyta o zaufanie do projektu przy pierwszym otwarciu. Jesli odmowiles, pliki .codex/config.toml na poziomie projektu sa pomijane. Uruchom ponownie Codex w projekcie i zaakceptuj pytanie o zaufanie.
Tryb zatwierdzania wydaje sie byc zly: Sprawdz kolejnosc priorytetow. Flaga CLI nadpisuje wszystko. Uruchom codex bez flag aby przetestowac ustawienia pliku konfiguracji w izolacji.
Flaga funkcji nie dziala: Niektore flagi wymagaja ponownego uruchomienia Codex. Zamknij Aplikacje, zakoncz CLI i otworz ponownie. Flagi funkcji sa odczytywane przy starcie, nie ladowane na zywo.
Blad “sandbox_mode not allowed”: Twoja organizacja moze wymuszac ograniczenia przez requirements.toml. Skontaktuj sie z administratorem jesli zarzadzane polityki blokuja preferowany tryb sandbox.
Brakujace zmienne srodowiskowe w poleceniach: Jesli Codex uruchamia npm test i nie powiedzie sie bo brakuje DATABASE_URL, sprawdz swoje [shell_environment_policy]. Albo dodaj zmienna do include_only, albo usun polityke aby przekazywac wszystko.