Zaawansowana konfiguracja
Profile w config.toml pozwalają zapisywać nazwane warstwy konfiguracji i przełączać się między nimi z CLI. Po wskazaniu profilu Codex wczytuje konfigurację użytkownika, a następnie nakłada na nią plik profilu. Plik profilu powinien zawierać klucze na najwyższym poziomie, bez zagnieżdżania ich w tabeli profilu.
Pojedyncze uruchomienie można skonfigurować flagą przeznaczoną dla danego ustawienia albo ogólnym nadpisaniem klucza. Wartości przekazywane przez --config są zapisywane jako TOML, a nie jako JSON. Notację z kropkami można wykorzystać do ustawiania zagnieżdżonych wartości, a wartość warto ująć w cudzysłów, jeśli powłoka mogłaby podzielić ją na spacje.
Codex może ładować konfigurację projektu z kolejnych plików .codex/config.toml na drodze od katalogu głównego projektu do bieżącego katalogu. Jeśli kilka takich plików ustawia ten sam klucz, wygrywa plik położony najbliżej bieżącego katalogu. Warstwy projektowe są wczytywane tylko wtedy, gdy projekt jest zaufany, a ścieżki względne rozwiązuje się względem folderu .codex/ zawierającego plik.
Ustawienia polityki zatwierdzania wpływają na to, kiedy Codex się zatrzymuje, a tryb sandboxa określa dostęp do plików i sieci. Polityka granularna pozwala zezwalać na poszczególne kategorie żądań lub automatycznie je odrzucać. Plik konfiguracyjny projektu nie może nadpisywać ustawień dotyczących między innymi uwierzytelniania dostawcy ani wyboru profilu.
project_root_markers = [".git", ".hg", ".sl"]
approval_policy = "on-request" approvals_reviewer = "user" sandbox_mode = "workspace-write" allow_login_shell = false
openai bez definiowania osobnego dostawcy.openai_base_url = "https://us.api.openai.com/v1"
Zastosowanie w praktyce
Użyj profilu, gdy chcesz przechowywać odrębną warstwę ustawień i przełączać się na nią podczas pracy z CLI. Wybierz nadpisanie z CLI, gdy potrzebujesz zmienić konfigurację tylko na jedno uruchomienie. Dodaj projektowy .codex/config.toml, gdy ustawienia mają być ładowane z repozytorium i obowiązywać w zaufanym projekcie. Dostosuj project_root_markers, jeśli domyślne rozpoznawanie katalogu projektu nie odpowiada strukturze repozytorium.
--config traktuj wartość jako TOML i ujmij ją w cudzysłów, gdy mogłaby zostać rozdzielona przez powłokę.