codex exec - Codex w skryptach i CI
codex exec uruchamia Codex w trybie nieinteraktywnym, bez otwierania interaktywnego TUI. Sprawdza się w potokach automatyzacji, takich jak CI, kontrole przed scaleniem i zadania harmonogramowane. Możesz przekazywać jego wynik do kolejnych narzędzi, na przykład podczas tworzenia informacji o wydaniu lub podsumowań.
Podaj polecenie zadania jako pojedynczy argument, a podczas działania Codex wysyła postęp na stderr i końcową wiadomość agenta na stdout. Jeśli wejście jest przekazywane przez stdin i podasz też argument z promptem, prompt staje się instrukcją, a dane ze stdin — dodatkowym kontekstem. Gdy całe polecenie ma pochodzić ze stdin, użyj codex exec -; taki sposób pasuje między innymi do promptów generowanych przez skrypt.
Domyślnie codex exec działa w piaskownicy tylko do odczytu, więc automatyzacji należy przydzielić jedynie uprawnienia potrzebne do danego zadania. Gdy zadanie wymaga edycji, użyj --sandbox workspace-write; szerszy dostęp można włączyć przez --sandbox danger-full-access. danger-full-access stosuj wyłącznie w kontrolowanym środowisku, takim jak odizolowany runner CI lub kontener. Flaga --full-auto nie jest już obsługiwana; zamiast niej można wybrać --sandbox workspace-write albo --approve-for-me z piaskownicą workspace-write.
Do przetwarzania zdarzeń w skryptach włącz --json: standardowe wyjście staje się wtedy strumieniem JSON Lines zawierającym zdarzenia emitowane podczas działania. Jeśli potrzebujesz wyłącznie końcowej wiadomości, możesz zapisać ją do pliku przez -o lub --output-last-message, a jednocześnie pozostawić jej wypisanie na stdout. Do danych o ustalonej strukturze dla kolejnych kroków użyj --output-schema, aby końcowa odpowiedź była zgodna ze schematem JSON. Polecenia muszą być uruchamiane wewnątrz repozytorium Git; kontrolę tę można pominąć przez --skip-git-repo-check, jeśli środowisko jest bezpieczne.
tee, który zapisuje go w pliku.codex exec "generate release notes for the last 10 commits" | tee release-notes.md
npm test 2>&1 \ | codex exec "summarize the failing tests and propose the smallest likely fix" \ | tee test-summary.md
jq.codex exec --json "summarize the repo structure" | jq
Zastosowanie w praktyce
Włącz codex exec jako krok potoku CI, kontroli przed scaleniem albo zadania uruchamianego według harmonogramu. Aby przeanalizować logi lub wynik innego polecenia, przekaż je przez stdin i podaj instrukcję w argumencie promptu; dane wejściowe zostaną użyte jako dodatkowy kontekst. Jeśli kolejny etap potoku potrzebuje stabilnych pól, przekaż schemat przez --output-schema i zapisz końcowy wynik do pliku.
danger-full-access uruchamiaj wyłącznie w kontrolowanym środowisku.