Przejdź do głównej zawartości

Porady dotyczące instalacji i konfiguracji

Zainstalowałeś Codex, uruchomiłeś pierwszy prompt i dostałeś przyzwoite wyniki. Ale twój kolega, który używa go od miesiąca, jakoś dostaje odpowiedzi dwa razy szybciej, nigdy nie trafia na monity o zatwierdzenie przy podstawowych poleceniach i zawsze ma załadowane właściwe serwery MCP. Różnica to nie talent — to dobrze dostrojony config.toml i kilka poprawek środowiska, których jeszcze nie zrobiłeś.

  • Produkcyjny config.toml, który możesz dostosować do swojego przepływu pracy
  • Wzorce uwierzytelniania do użytku osobistego, CI i wdrożeń zespołowych
  • Porady dotyczące przygotowania środowiska, które zapobiegają marnowaniu tokenów przez agenta na konfigurację
  • Konfiguracje profili do przełączania między trybami przeglądu, rozwoju i automatyzacji

Codex jest najpotężniejszy, gdy używasz wielu powierzchni jednocześnie. Zainstaluj wszystkie trzy:

Okno terminala
# CLI (wymaga Node.js 22+)
npm install -g @openai/codex
# App -- pobierz z codex.openai.com
# Rozszerzenie IDE -- zainstaluj z marketplace edytora (VS Code, Cursor, Windsurf)

App i rozszerzenie IDE synchronizują się automatycznie, gdy oba są otwarte w tym samym projekcie. Otrzymujesz automatyczny kontekst z edytora (otwarte pliki, pozycja kursora) w kompozytorze App bez dodatkowej konfiguracji.

Okno terminala
# Sprawdź wersję CLI i status autoryzacji
codex --version
codex login status

Jeśli login status kończy się kodem 0, jesteś uwierzytelniony. Jeśli nie, uruchom codex login, aby otworzyć przepływ OAuth w przeglądarce.

To jest konfiguracja, od której powinien zacząć większość indywidualnych programistów:

~/.codex/config.toml
model = "gpt-5.3-codex"
approval_policy = "on-failure"
sandbox_mode = "workspace-write"
file_opener = "cursor" # lub vscode, windsurf
# Przyspiesz powtarzane polecenia
[features]
shell_snapshot = true
# Klikalne powiadomienia po zakończeniu zadań
[tui]
notifications = ["agent-turn-complete", "approval-requested"]

Dla CI/CD i skryptowania potrzebujesz minimalnego tarcia i ustrukturyzowanego wyjścia:

# ~/.codex/config.toml -- profil CI
[profiles.ci]
model = "gpt-5.1-codex-mini"
approval_policy = "on-request"
sandbox_mode = "workspace-write"
hide_agent_reasoning = true
web_search = "disabled"

Użyj go z: codex exec --profile ci "Fix the failing test"

Dodaj tę linię na początku swojego config.toml, aby uzyskać autouzupełnianie i walidację w VS Code lub Cursor z rozszerzeniem Even Better TOML:

#:schema https://developers.openai.com/codex/config-schema.json

Teraz twój edytor podświetla nieprawidłowe klucze i sugeruje prawidłowe wartości.

Domyślny przepływ OAuth w przeglądarce jest najprostszy:

Okno terminala
codex login

To otwiera przeglądarkę, uwierzytelnia przez ChatGPT i przechowuje dane uwierzytelniające w pęku kluczy systemu operacyjnego.

Dla środowisk headless przekaż klucz API:

Okno terminala
printenv OPENAI_API_KEY | codex login --with-api-key

Lub użyj uwierzytelniania urządzenia, gdy masz terminal, ale nie masz przeglądarki:

Okno terminala
codex login --device-auth
# Przechowuj dane uwierzytelniające w pliku zamiast w pęku kluczy
cli_auth_credentials_store = "file"
# Lub jawnie użyj pęku kluczy systemu operacyjnego
cli_auth_credentials_store = "keyring"

Użyj file w kontenerach i runnerach CI, gdzie dostęp do pęku kluczy jest niedostępny.

Codex dziedziczy twoje środowisko powłoki. Skonfiguruj swoje środowisko deweloperskie przed uruchomieniem Codex, aby nie marnował tokenów na sprawdzanie, co aktywować:

Okno terminala
# Aktywuj virtualenv Pythona PRZED uruchomieniem Codex
source .venv/bin/activate
# Uruchom wymagane demony
docker compose up -d postgres redis
# Wyeksportuj zmienne, których Codex będzie potrzebował
export DATABASE_URL="postgresql://localhost:5432/myapp"
# Teraz uruchom Codex
codex

Kontroluj, które zmienne środowiskowe Codex może widzieć, aby uniknąć wycieku sekretów:

[shell_environment_policy]
inherit = "core"
exclude = ["AWS_*", "AZURE_*", "GITHUB_TOKEN"]
set = { NODE_ENV = "development" }

To zachowuje PATH i HOME, ale usuwa dane uwierzytelniające chmury. Tabela set wstrzykuje zmienne do każdego podprocesu uruchamianego przez Codex.

Uzupełnianie Tab dla wszystkich poleceń i flag Codex:

Okno terminala
# Zsh (dodaj do ~/.zshrc, po compinit)
eval "$(codex completion zsh)"
# Bash (dodaj do ~/.bashrc)
eval "$(codex completion bash)"
# Fish
codex completion fish | source

Teraz codex ex<TAB> rozwija się do codex exec, a wszystkie flagi się autouzupełniają.

~/.codex/config.toml
model = "gpt-5.3-codex"
[profiles.review]
model = "gpt-5.3-codex"
model_reasoning_effort = "high"
approval_policy = "never"
review_model = "gpt-5.3-codex"
[profiles.quick]
model = "gpt-5.1-codex-mini"
approval_policy = "on-request"
[profiles.oss]
model_provider = "ollama"

Przełączaj w locie:

Okno terminala
codex --profile review # Tryb głębokiej analizy
codex --profile quick # Tryb szybkiej iteracji
codex --oss # Lokalny model przez Ollama
profile = "review" # Zawsze zaczyna w trybie przeglądu, chyba że zostanie nadpisany
Okno terminala
# Włącz migawki powłoki dla szybszych powtarzanych poleceń
codex features enable shell_snapshot
# Włącz unified exec dla lepszej obsługi PTY
codex features enable unified_exec
# Wyświetl wszystkie dostępne flagi funkcji
codex features list

Zmiany flag funkcji są zapisywane w ~/.codex/config.toml. Gdy używasz profili, zmiana jest przechowywana w aktywnym profilu.

Nadpisz dowolną wartość konfiguracji na jedno uruchomienie bez edytowania plików:

Okno terminala
# Użyj innego modelu na jedno zadanie
codex --model gpt-5.1-codex-mini "Quick question about this function"
# Nadpisz zagnieżdżone wartości konfiguracji
codex -c sandbox_workspace_write.network_access=true "Install this npm package"
# Włącz wyszukiwanie w sieci na jedno uruchomienie
codex --search "What's the latest React 19 API for this pattern?"
  • Uzupełnianie poleceń w powłoce nie działa: Linia eval musi być po compinit w konfiguracji powłoki. Dla Zsh dodaj autoload -Uz compinit && compinit przed linią eval, jeśli widzisz command not found: compdef.
  • Konfiguracja się nie ładuje: Uruchom codex features list, aby zobaczyć, które funkcje są aktywne. Sprawdź błędy składni w pliku TOML za pomocą walidacji schematu.
  • Dane uwierzytelniające utracone po restarcie: Przełącz się z keyring na file w przechowywaniu danych uwierzytelniających, jeśli pęk kluczy systemu operacyjnego resetuje się przy logowaniu. Sprawdź cli_auth_credentials_store w konfiguracji.
  • Zastosowano zły profil: Nazwy profili rozróżniają wielkość liter. Zweryfikuj za pomocą codex --profile <name> features list, aby potwierdzić, że profil ładuje się poprawnie.
  • Wyciek zmiennych środowiskowych: Przeprowadź audyt ustawień shell_environment_policy. Uruchom Codex i poproś go o echo $SECRET_VAR, aby zweryfikować, że wykluczenia działają.