Komendy CLI Codex, komendy slash i skróty
Codex CLI to coś więcej niż codex "prompt": zapisuje każdą sesję, więc codex resume i codex fork kontynuują ją albo rozgałęziają z pełnym zapisem rozmowy, udostępnia dziesiątki komend slash w interfejsie terminalowym (TUI) oraz uruchamia codex review i codex exec ze skryptu. Każdą komendę i flagę poniżej sprawdzono na Codex CLI 0.157.1.
Ta strona jest dla programistów, którzy już pracują z Codexem w terminalu i wciąż płacą ten sam podatek: tłumaczą kontekst od nowa w świeżej sesji, tracą dobry wątek, gdy eksperyment pójdzie źle, i czytają cały diff, bo nic innego nie mówi im, czy zmiana jest poprawna. Większość tego podatku znika, gdy zaczniesz używać komend sesji, kilku komend slash i bramki przeglądu. Jeśli nie masz jeszcze zainstalowanego Codexa, zacznij od pierwszego zadania w Codexie.
Co zyskujesz, opanowując Codex CLI
Dział zatytułowany „Co zyskujesz, opanowując Codex CLI”- Rutynę pracy z sesjami: nazwane sesje wznawiane po nazwie, forki do eksperymentów i kolejkę na kolejne polecenia.
- Kilkanaście komend slash, które naprawdę przydają się na co dzień, i wiedzę, kiedy każda z nich się opłaca.
- Klawisze TUI do korygowania trwającej tury, kolejkowania następnej i pisania długich promptów w edytorze.
- Cztery prompty do skopiowania i bramkę z przeglądem i testami, która sprawdza wynik, więc nie musisz czytać każdej linii.
- Pułapki wersji 0.157.1, które po cichu zmieniają zachowanie, wraz z rozwiązaniem każdej z nich.
Jak kontynuować sesję Codexa zamiast tłumaczyć wszystko od nowa?
Dział zatytułowany „Jak kontynuować sesję Codexa zamiast tłumaczyć wszystko od nowa?”Codex zapisuje na dysku każdą sesję interaktywną. codex resume otwiera ją ponownie z całym zapisem rozmowy, więc agent pamięta decyzje, ograniczenia i pliki z poprzedniego razu.
# Terminal: otwórz listę wyboru (sesje uruchomione w tym katalogu)codex resume
# Kontynuuj najnowszą sesjęcodex resume --last
# Szukaj sesji ze wszystkich katalogów, nie tylko z bieżącegocodex resume --all
# Kontynuuj i od razu wyślij kolejne poleceniecodex resume --last "The plan is approved. Implement step 1 and run the tests."Lista wyboru domyślnie filtruje sesje po katalogu roboczym. Jeśli brakuje sesji, o której wiesz, że istnieje, uruchomiłeś ją gdzie indziej: dodaj --all. Sesje uruchomione przez codex exec też są ukryte w liście i w --last, dopóki nie dodasz --include-non-interactive.
Nazywaj sesje, żeby znaleźć je za tydzień
Dział zatytułowany „Nazywaj sesje, żeby znaleźć je za tydzień”UUID po tygodniu nic ci nie powie. W TUI uruchom /rename i nadaj wątkowi nazwę, na przykład payments-retry. Od tej chwili codex resume, codex exec resume, codex exec fork, codex archive i codex queue przyjmują nazwę wszędzie tam, gdzie przyjmują identyfikator sesji (codex fork przyjmuje UUID albo --last):
codex resume payments-retry "CI is green again. Continue with the refund path."Dwie kolejne komendy utrzymują listę w porządku: codex archive <nazwa> ukrywa zakończoną sesję, a codex unarchive <nazwa> ją przywraca, natomiast codex delete <nazwa> usuwa ją na stałe. W TUI to samo dla bieżącej sesji robią /archive i /delete.
Zakolejkuj polecenie dla istniejącej sesji
Dział zatytułowany „Zakolejkuj polecenie dla istniejącej sesji”codex queue dodaje wiadomość do kolejki istniejącej sesji, bez otwierania tej sesji w twoim terminalu. --thread przyjmuje UUID sesji albo jej dokładną nazwę:
codex queue --thread payments-retry --message "When the tests pass, update CHANGELOG.md."Jak sprawdzić alternatywę, nie tracąc oryginalnego wątku?
Dział zatytułowany „Jak sprawdzić alternatywę, nie tracąc oryginalnego wątku?”codex fork kopiuje zapis rozmowy do nowego wątku i nie rusza oryginału. W wersji 0.157.1 przyjmuje prompt, więc rozgałęziasz i wydajesz polecenie jedną komendą. W TUI /fork rozgałęzia bieżącą rozmowę.
--worktree uruchamia każdy fork w nowym, zarządzanym worktree Gita; bez tej flagi oba forki edytują te same pliki. Pracę z worktree opisuje strona worktree w Codexie. Porównuj forki po wynikach testów i /diff, a nie po tym, jak pewnie brzmi ich końcowa wiadomość.
Których komend slash w Codexie warto się nauczyć?
Dział zatytułowany „Których komend slash w Codexie warto się nauczyć?”Wpisz / w polu wiadomości, żeby zobaczyć pełną listę dla twojej wersji; komendy /help nie ma (sprawdzone w 0.157.1, slash_command.rs). Poniżej te, które zmieniają przebieg sesji. Opisy są parafrazą pliku slash_command.rs w wersji 0.157.1.
| Komenda | Co robi | Kiedy po nią sięgnąć |
|---|---|---|
/review | Przegląda bieżące zmiany i zgłasza problemy | Przed każdym commitem; przyjmuje własne instrukcje w tej samej linii |
/diff | Pokazuje diff Gita, łącznie z nieśledzonymi plikami | Zanim zaakceptujesz pracę z danej tury |
/status | Pokazuje konfigurację sesji i zużycie tokenów | Gdy agent zachowuje się, jakby miał inny model albo uprawnienia |
/model | Wybiera model i poziom rozumowania | Trudny błąd wymaga większego wysiłku, zmiana nazwy mniejszego |
/permissions | Określa, co Codex może robić | Zacząłeś w trybie tylko do odczytu, a teraz chcesz, żeby edytował pliki |
/compact | Streszcza rozmowę, żeby nie przekroczyć limitu kontekstu | Długie sesje, zanim agent zacznie zapominać ograniczenia |
/new | Zaczyna nową rozmowę w tym samym TUI | Temat się zmienił, a stary kontekst tylko by mylił |
/fork, /resume, /rename | Rozgałęzia, wznawia albo nazywa wątki | Zobacz sekcje powyżej |
/plan | Przełącza w tryb planowania (Plan mode) | Uzgodnij podejście przed jakąkolwiek zmianą plików |
/goal | Ustawia lub pokazuje cel długiego zadania | Wielogodzinne zadania, które nie mogą zboczyć z kursu |
/init | Tworzy plik AGENTS.md | Pierwsza sesja w repozytorium |
/side, /btw | Otwiera rozmowę poboczną w tymczasowym forku | Szybkie pytanie, które nie powinno zaśmiecać głównego wątku |
/mcp, /skills, /plugins | Wyświetla narzędzia MCP, skille i pluginy | Sprawdzenie, czy integracja faktycznie się załadowała |
/approve | Zatwierdza jedną ponowną próbę po odmowie auto-review | Auto-review zablokował komendę, którą już sprawdziłeś |
/copy, /export | Kopiuje ostatnią odpowiedź albo eksportuje rozmowę do Markdownu | Wklejenie planu do zgłoszenia albo PR |
Większość komend, w tym /compact, /new, /init, /review i /plan, jest niedostępna, gdy tura trwa. Najpierw przerwij turę klawiszem Esc. /model, /permissions, /diff i /status działają w trakcie tury (sprawdzone w 0.157.1, slash_command.rs).
Przejrzyj własne zmiany przed commitem
Dział zatytułowany „Przejrzyj własne zmiany przed commitem”/review otwiera menu celów przeglądu. Te same cele są dostępne jako flagi codex review, które uruchamia przegląd bez TUI:
| Cel | W TUI | Z powłoki |
|---|---|---|
| Praca względem gałęzi bazowej | /review → gałąź bazowa | codex review --base main |
| Zmiany w indeksie (staged), poza indeksem i nieśledzone pliki | /review → niezatwierdzone zmiany | codex review --uncommitted |
| Jeden commit | /review → commit | codex review --commit <SHA> |
| Własne instrukcje | /review Focus on… | codex review "Focus on…" |
W 0.157.1 ostatniego wiersza nie połączysz z pozostałymi w powłoce: codex review odrzuca własny prompt razem z --uncommitted, --base lub --commit („the argument ‘—uncommitted’ cannot be used with ‘[PROMPT]’”). Podaj albo flagę celu, albo własne instrukcje, nie oba naraz.
Jeśli do przeglądów chcesz używać innego modelu niż do pisania kodu, ustaw review_model w ~/.codex/config.toml:
review_model = "gpt-6-sol"Który model pasuje do jakiego zadania, razem z cenami, znajdziesz w przeglądzie modeli.
Które klawisze TUI oszczędzają czas przy każdej turze?
Dział zatytułowany „Które klawisze TUI oszczędzają czas przy każdej turze?”Naciśnij ? w pustym polu wiadomości, żeby zobaczyć skróty dla twojej wersji. Poniżej domyślne ustawienia z 0.157.1; możesz je zmienić komendą /keymap.
| Klawisz | Co robi |
|---|---|
@ | Otwiera wyszukiwanie plików z dopasowaniem przybliżonym (fuzzy); wybrana ścieżka trafia do wiadomości |
! na początku linii | Uruchamia lokalną komendę powłoki; jej wynik trafia do rozmowy |
Enter, gdy agent pracuje | Wysyła wiadomość do trwającej tury, żeby ją skorygować |
Tab, gdy agent pracuje | Ustawia wiadomość w kolejce do wysłania po bieżącej turze |
Esc, gdy agent pracuje | Przerywa turę |
Esc dwa razy w spoczynku | Edytuje poprzednią wiadomość |
Ctrl+G | Otwiera $VISUAL albo $EDITOR do napisania długiego promptu |
Ctrl+R | Przeszukuje historię promptów |
Ctrl+T | Otwiera pełny zapis rozmowy |
Alt+, / Alt+. | Obniża lub podnosi poziom rozumowania |
Różnicę między Enter a Tab warto mieć we krwi. Enter koryguje agenta od razu („stop, ta tabela jest generowana; zmień migrację”). Tab ustawia w kolejce następne zadanie, nie przeszkadzając w bieżącym („potem dopisz wpis do changeloga”).
Prefiks ! to najszybszy sposób, żeby dać agentowi dowody zamiast twojego streszczenia:
!npm test -- payments 2>&1 | tail -40Jak przekazać Codexowi zrzut ekranu z terminala?
Dział zatytułowany „Jak przekazać Codexowi zrzut ekranu z terminala?”Dołącz obrazy do pierwszego promptu flagą -i albo --image. Wpisz prompt przed flagą albo użyj formy z =: w 0.157.1 -i pobiera kolejne argumenty aż do następnej flagi, więc prompt podany po niej zostanie odczytany jako kolejna ścieżka do obrazu.
codex "The checkout button overlaps the total on a 375px viewport. Fix the CSS and tell me which rule caused it." -i broken-layout.pngcodex --image=expected.png,actual.png "The first image is the design, the second is production. List every visual difference, then fix them."W TUI możesz też wkleić obraz ze schowka do pola wiadomości. codex exec i codex resume przyjmują tę samą flagę -i z wieloma plikami; codex exec resume przyjmuje jeden plik -i <FILE> (sprawdzone w 0.157.1).
Jak sterować Codexem ze skryptu powłoki?
Dział zatytułowany „Jak sterować Codexem ze skryptu powłoki?”codex exec wykonuje jedno zadanie bez TUI i kończy działanie, więc nadaje się do skryptów i hooków Gita. Pełny opis, łącznie ze strumieniem zdarzeń JSONL i CI, znajdziesz na stronie Codex bez interakcji: codex exec. Trzy wywołania, których potrzebujesz najczęściej:
# Edycja plików w sandboksie obszaru roboczegocodex exec --sandbox workspace-write "Fix the lint errors reported by npm run lint, then rerun it"
# Kontekst przez potok; stdin jest doklejane do promptu jako blok <stdin>git diff main...HEAD | codex exec "Write a PR description for this diff: summary, risks, test plan"
# Zapis tylko końcowej wiadomości do plikucodex exec -o release-notes.md "Draft release notes for the commits since the last tag"Gdy wynik czyta skrypt, każ Codexowi zwrócić JSON zgodny ze schematem zamiast prozy:
endpoints.schema.json określa kształt, jaki musi mieć końcowa wiadomość:
{ "type": "object", "additionalProperties": false, "required": ["endpoints"], "properties": { "endpoints": { "type": "array", "items": { "type": "object", "additionalProperties": false, "required": ["method", "path", "description"], "properties": { "method": { "type": "string", "enum": ["GET", "POST", "PUT", "PATCH", "DELETE"] }, "path": { "type": "string" }, "description": { "type": "string" } } } } }}Skąd wiesz, że wynik jest poprawny, bez czytania każdej linii?
Dział zatytułowany „Skąd wiesz, że wynik jest poprawny, bez czytania każdej linii?”CLI daje ci elementy bramki; to ty decydujesz, co znaczy „gotowe”. Rutyna, która sprawdza się przy codziennych zmianach:
-
Wpisz sprawdzenie do promptu. Każdy prompt na tej stronie kończy się komendą, którą agent musi uruchomić i zaraportować, na przykład komendą testów albo
npm run lint. Deklaracja sukcesu bez tego wyniku nie jest sukcesem. -
Uruchom sprawdzenie sam. Uruchom te same komendy testów i sprawdzania typów w swoim terminalu albo przez
!w TUI. Zapis rozmowy agenta to raport, a nie dowód. -
Czytaj kształt diffa, nie każdą linię.
/diffpokazuje, które pliki się zmieniły. Jednolinijkowa poprawka błędu, która dotyka ośmiu plików, najpierw wymaga pytania, a dopiero potem przeglądu. -
Uruchom niezależny przegląd. Zapisz prompt „tylko defekty” z tej strony jako
review-prompt.txti uruchomcodex review - < review-prompt.txtalbo wklej go po/revieww TUI. Własny prompt zastępuje flagi celu, a przy własnym prompcie bez flagi celu to recenzent ustala zakres na podstawie twoich słów, więc nazwij go wprost („Review my uncommitted changes…”). Przegląd działa w świeżym kontekście, a nie w tym, który napisał zmianę. Popraw każde znalezisko P0 i P1 przed commitem; o P2 i P3 decydujesz sam. -
Waliduj wynik maszynowy mechanicznie. Przy uruchomieniach z
--output-schemasprawdź plik przezjqw skrypcie (na przykładjq -e '.endpoints | length > 0' endpoints.json) i przerwij krok, gdy warunek nie jest spełniony.
Zatwierdzasz zachowanie: testy i wyniki przeglądu. Żeby ten sam przegląd działał na każdym pull requeście w całym zespole, skorzystaj z warstwowej konfiguracji opisanej na stronie przegląd kodu z Codexem.
Jak wskazać Codexowi właściwe katalogi?
Dział zatytułowany „Jak wskazać Codexowi właściwe katalogi?”# Inny katalog jako katalog roboczy, bez cdcodex -C ~/src/shop-api "Explain how orders are persisted"
# Drugi katalog z prawem zapisu obok obszaru roboczegocodex -C apps/web --add-dir ../api "Rename the orderId field in the web client and the API together"
# exec poza repozytorium Gitacodex exec --skip-git-repo-check "Write a Python script that deduplicates rows in data.csv by email"codex exec odmawia działania poza repozytorium Gita bez --skip-git-repo-check. To zabezpieczenie istnieje, bo Git jest twoim przyciskiem „cofnij”; używaj tej flagi tylko w katalogach do wyrzucenia.
Uzupełnianie komend w powłoce: wygeneruj skrypt dla swojej powłoki i załaduj go, na przykład eval "$(codex completion zsh)" w ~/.zshrc po compinit. Gdy coś w instalacji wygląda podejrzanie, codex doctor sprawdza instalację, konfigurację, uwierzytelnianie i stan środowiska uruchomieniowego.
Zadania w chmurze: codex cloud (w 0.157.1 oznaczone jako eksperymentalne) wysyła, wyświetla i stosuje zadania z terminala: codex cloud exec --env <ENV_ID> "…", codex cloud list, codex cloud diff <TASK_ID> i codex cloud apply <TASK_ID>. Konfigurację środowiska i best-of-N opisuje strona środowiska chmurowe Codex.
Co się psuje, gdy sterujesz Codexem z CLI?
Dział zatytułowany „Co się psuje, gdy sterujesz Codexem z CLI?”codex resume --lastotwiera złą sesję.--lastwidzi tylko sesje interaktywne uruchomione w bieżącym katalogu. Dodaj--alldla innych katalogów i--include-non-interactivedla sesji uruchomionych przezcodex exec. Lepiej: nazwij wątek przez/renamei wznawiaj go po nazwie.- Dwa forki nadpisują sobie nawzajem pliki. Fork kopiuje zapis rozmowy, a nie drzewo robocze. Uruchom każdy fork we własnym worktree z
--worktreealbo uruchamiaj je po kolei. codex exec resumeodrzuca--sandbox. W 0.157.1codex exec resumenie ma flagi--sandbox(sprawdzone przezcodex exec resume --help). Przekaż ustawienie jako konfigurację:codex exec resume --last -c sandbox_mode="workspace-write" "…".codex exec -a neverkończy się błędem „unexpected argument”. W 0.157.1codex execnie ma własnej flagi-ai jej nie potrzebuje: i tak działa z akceptacjąnever(on-requestprzy--approve-for-me), a prefikscodex -a never exec …tego nie zmienia. Usuń flagę, sprawdź linięapproval:w nagłówku przebiegu i ogranicz przebieg sandboxem albo profilem uprawnień.- Skopiowana komenda używa
--full-autoalbo-a on-failure. Żadna nie działa w 0.157.1:--full-autozniknęło zcodexicodex exec, a-aprzyjmuje tylkoon-requestinever. Użyj--sandbox workspace-writealbo--approve-for-me, żeby kierować prośby o zgodę do automatycznego przeglądu. - Komenda slash nic nie robi.
/compact,/new,/reviewi kilka innych jest niedostępnych w trakcie tury. NaciśnijEsc, potem uruchom komendę. -i a.png "prompt"traktuje twój prompt jak plik. W 0.157.1-ipobiera argumenty aż do następnej flagi, więc prompt podany po niej staje się ścieżką do pliku, także przy-i a.png,b.png(sprawdzone zcodex exec0.157.1). Wpisz prompt najpierw, użyj--image=a.png,b.pngalbo zakończ listę--.- Nigdy nie sięgaj po
--dangerously-bypass-approvals-and-sandbox, żeby ominąć prośbę o zgodę. Wyłącza ona także sandbox; jest przeznaczona wyłącznie dla uruchomień, które już działają w zewnętrznym, jednorazowym sandboksie.
Ogólne wychodzenie z odmów sandboksa, przepełnienia kontekstu i edycji w złym kierunku opisuje strona odzyskiwanie po błędach w Codexie.
Co dalej z Codex CLI
Dział zatytułowany „Co dalej z Codex CLI”- Ustaw domyślne wartości raz zamiast podawać flagi: konfiguracja Codex.
- Codex w skryptach i CI: Codex bez interakcji: codex exec.
- Bezpieczne równoległe forki: worktree w Codexie i przepływy wieloagentowe.
- Krótkie codzienne przyspieszenia dla CLI i aplikacji: triki wydajnościowe w Codexie i aplikacja Codex w praktyce.
- Te same idee w Claude Code: komendy slash w Claude Code i wiersz poleceń Claude Code.