Szybsza praca z Codexem: skonfiguruj raz, oszczędzaj w każdej sesji
ENTriki na wydajność w Codexie to jednorazowe ustawienia i nawyki, które usuwają powtarzalne tarcie z codziennych sesji Codex CLI: autouzupełnianie i aliasy powłoki do wznawiania i review, klucze config.toml dla powiadomień, paska statusu i klikalnych ścieżek plików oraz profile przełączające model i wysiłek rozumowania. Każdy trik sprawdzono na Codex CLI 0.157.1 i każdy zostawia bramkę weryfikacji na miejscu.
Ta strona jest dla programistów, którzy codziennie pracują z Codexem w terminalu i wciąż tracą minuty na te same rzeczy: wpisują te same flagi, patrzą na spinner zamiast pracować, godzinę później odkrywają, że tura czekała na zatwierdzenie, i powtarzają całe zadanie, bo „gotowe” agenta wcale nie było gotowe. Same komendy opisuje strona Komendy Codex CLI, komendy slash i skróty; tutaj chodzi o konfigurację wokół nich. Jeśli nie masz jeszcze skonfigurowanego Codexa, zacznij od szybkiego startu z Codexem.
Co daje dopracowana codzienna konfiguracja Codexa
Dział zatytułowany „Co daje dopracowana codzienna konfiguracja Codexa”- Trzy funkcje powłoki, które zamieniają wznawianie, review i fork w krótkie komendy.
- Blok
config.toml, który daje znać, kiedy tura się kończy albo czeka na ciebie, i pokazuje limity w trakcie pracy. - Dwa profile,
quickideep, dzięki którym wysiłek i model zmieniasz jedną flagą, a nie objazdem w środku sesji. - Bramkę weryfikacji, którą szybciej uruchomić, niż pominąć, więc tempo nie zamienia się w poprawki.
- Trzy prompty do skopiowania i rozwiązania dla ustawień, które zawodzą po cichu.
Które triki w Codexie zwracają się najszybciej?
Dział zatytułowany „Które triki w Codexie zwracają się najszybciej?”Zacznij od góry tabeli. Każdy wiersz usuwa koszt, który płacisz w każdej sesji, a nie raz w tygodniu.
| Trik | Konfiguracja | Co usuwa | Po czym poznasz, że działa |
|---|---|---|---|
| Funkcje powłoki do resume, review i fork | Trzy linie w profilu powłoki | Przepisywanie flag i tłumaczenie kontekstu od nowa | cxl otwiera ostatnią sesję z całym zapisem rozmowy |
| Powiadomienia o końcu tury i o zatwierdzeniu | Dwa klucze w [tui] | Pilnowanie spinnera; tury utknięte na zatwierdzeniu | Powiadomienie systemowe, gdy przełączysz okno |
| Pasek statusu z limitami i kontekstem | Jeden klucz w [tui] | Niespodziewane zatrzymania na limicie i ciche kompaktowanie | Stopka pokazuje pozostały kontekst i okna limitów |
Profile quick i deep | Dwa małe pliki | Zmianę nazwy na wysokim wysiłku albo trudny błąd na niskim | /status pokazuje model i wysiłek z profilu |
Jedna komenda check, którą uruchamiacie ty i agent | Jeden skrypt i jedna linia w AGENTS.md | „Gotowe”, które godzinę później wywraca CI | Ostatnia wiadomość agenta kończy się wynikiem sprawdzenia |
| Klikalne odwołania do plików | Jeden klucz | Kopiowanie ścieżek z transkryptu do edytora | src/api/users.ts:42 otwiera się w linii 42 |
Skonfiguruj powłokę raz
Dział zatytułowany „Skonfiguruj powłokę raz”Załaduj autouzupełnianie, a potem opakuj trzy komendy sesji, które wpisujesz najczęściej. Wstaw to do ~/.zshrc (po compinit) albo do ~/.bashrc:
# Terminal: profil powłokieval "$(codex completion zsh)" # bash: eval "$(codex completion bash)"
# Kontynuuj najnowszą sesję z tego katalogu, opcjonalnie z kolejnym poleceniemcxl() { codex resume --last "$@"; }
# Review zmian staged, unstaged i nieśledzonych w świeżym kontekściecxrev() { codex review --uncommitted; }
# Rozgałęź ostatnią sesję w nowy wątek, opcjonalnie z innym poleceniemcxfork() { codex fork --last "$@"; }W fish uruchom codex completion fish | source z config.fish. codex completion generuje też skrypty dla elvish i powershell.
W wersji 0.157.1 zarówno codex resume, jak i codex fork przyjmują prompt na końcu, więc cxl "Testy już przechodzą; przejdź do kroku 3" otwiera sesję i wysyła polecenie jedną komendą. cxrev nie przyjmuje promptu, bo codex review odrzuca własne instrukcje razem z --uncommitted albo --base; do review z konkretnym celem użyj /review w TUI albo codex review "Skup się na logice ponowień" bez flagi zakresu. cxfork celowo pomija --worktree: w wersji 0.157.1 codex fork --worktree wymaga jawnego UUID sesji i kończy się błędem z --last. --last widzi tylko sesje uruchomione w bieżącym katalogu; --all, nazwy sesji i codex queue do całej reszty opisuje strona o komendach CLI.
Streszczenie kosztuje jeden krótki akapit, a w kilka sekund mówi ci, czy wznowiona sesja pamięta ograniczenie. Jeśli nie pamięta, popraw ją przed jakąkolwiek zmianą w plikach, a nie po niej.
Skonfiguruj config.toml pod swój sposób pracy
Dział zatytułowany „Skonfiguruj config.toml pod swój sposób pracy”Te klucze należą do ~/.codex/config.toml. Wszystkie istnieją w schemacie konfiguracji 0.157.1 (config_toml.rs i struktura [tui] w types.rs):
file_opener = "cursor" # vscode, vscode-insiders, windsurf, cursor lub none
[tui]# Powiadomienia systemowe z TUI, tylko dla tych zdarzeńnotifications = ["agent-turn-complete", "approval-requested"]notification_condition = "unfocused" # albo "always"
# Elementy stopki, w tej kolejnościstatus_line = ["model-with-reasoning", "git-branch", "context-remaining", "five-hour-limit", "weekly-limit"]
# Mniej animacji i bez podpowiedzi na starcieanimations = falseshow_tooltips = falseCo daje każdy z nich:
file_openerzamienia odwołania do plików w odpowiedziach Codexa w linki, które otwierają edytor we wskazanej linii. Wymaga terminala, który renderuje hiperłącza.notificationsdaje w praktyce najwięcej, boapproval-requestedznaczy więcej niżagent-turn-complete: tura czekająca na zatwierdzenie stoi, dopóki tego nie zauważysz. Domyślnenotification_conditiontounfocused, więc powiadomienie przychodzi tylko wtedy, gdy terminal nie jest na wierzchu.status_linezastępuje domyślne elementy stopki tymi, które wymienisz.five-hour-limitiweekly-limitpokazują dwa okna użycia twojego planu, więc widzisz zbliżający się limit, zamiast trafić na niego w połowie zadania. Pasek możesz też zbudować interaktywnie komendą/statusline.- Wyłączenie
animationsishow_tooltipsnic nie kosztuje, gdy znasz już TUI.
Powiadomienia TUI idą przez terminal. Żeby zamiast tego uruchamiać własny program, na przykład wysyłający wiadomość na telefon albo na kanał czatu, użyj klucza notify na najwyższym poziomie. Codex uruchamia komendę i dokleja jako ostatni argument ładunek JSON; jego type to agent-turn-complete, a zawiera m.in. pola cwd i last-assistant-message:
# ~/.codex/config.toml (najwyższy poziom, nie pod [tui])notify = ["python3", "/Users/YOUR_USER/.codex/notify.py"]#!/usr/bin/env python3# ~/.codex/notify.py: powiadomienie systemowe w macOS przez terminal-notifierimport json, subprocess, sys
event = json.loads(sys.argv[-1])if event.get("type") == "agent-turn-complete": msg = (event.get("last-assistant-message") or "Turn complete")[:120] subprocess.run(["terminal-notifier", "-title", "Codex", "-message", msg])Zastąp YOUR_USER nazwą swojego użytkownika w macOS i zostaw ścieżkę bezwzględną. terminal-notifier zainstalujesz przez brew install terminal-notifier.
Żeby wyłapać literówki, uruchom raz codex --strict-config: kończy się błędem przy każdym nierozpoznanym polu najwyższego poziomu, np. file_openr zamiast file_opener (0.157.1 nie sprawdza kluczy wewnątrz [tui]). W trakcie sesji /debug-config pokazuje, które warstwy konfiguracji i pliki wymagań zostały zastosowane.
Przełączaj tempo i głębię profilami
Dział zatytułowany „Przełączaj tempo i głębię profilami”Częsta strata czasu to niedopasowanie wysiłku do zadania: mechaniczna zmiana nazwy na wysokim wysiłku albo błąd współbieżności na niskim, a potem robiony od nowa. Profile usuwają to niedopasowanie jedną flagą. Profil to osobny plik, $CODEX_HOME/<name>.config.toml (zwykle ~/.codex/<name>.config.toml), nakładany na konfigurację bazową przez -p albo --profile:
# ~/.codex/quick.config.toml: edycje mechaniczne, wyszukiwanie, drobne poprawkimodel = "gpt-6-luna"model_reasoning_effort = "low"# ~/.codex/deep.config.toml: pytania projektowe, trudne błędy, ryzykowne migracjemodel = "gpt-6-astra"model_reasoning_effort = "high"codex -p quick "Rename getUser to fetchUser across src/api and run npm run check"codex -p deep "Find why the order-sync job double-charges when two workers pick the same batch"GPT-6.1 Sol to domyślny model wbudowany w Codexa od CLI 0.159.1; profil deep przypina GPT-6 Astra ręcznie do najtrudniejszej pracy, a GPT-6 Luna to szybki i tani wariant do łatwiejszych zadań. Oba profile wymagają CLI na tyle nowego, żeby widział ich modele (Luna wymaga wersji 0.155.0 lub nowszej). Najpierw dostrój wysiłek, a model zmieniaj dopiero wtedy, gdy twoje własne wyniki to uzasadniają. Do jednorazowej zmiany w środku sesji służy /model, który ustawia model i wysiłek bez profilu. Który model pasuje do której pracy, razem z cenami, znajdziesz w przeglądzie modeli.
Sedno jest w ostatnim zdaniu. Tani model jest szybki, gdy wie, gdzie kończy się jego zadanie; bez tej granicy improwizuje, a za improwizację płacisz czasem review.
Przestań czekać na agenta
Dział zatytułowany „Przestań czekać na agenta”Powiadomienia zwalniają cię z pilnowania; cztery kolejne nawyki sprawiają, że praca idzie dalej, gdy tura trwa. Klawisze i komendy opisuje strona o komendach CLI; tutaj liczy się nawyk.
- Kolejkuj następne zadanie zamiast czekać na bieżące. Wciśnij
Tab, gdy agent pracuje, żeby dodać polecenie do kolejki i wykonać je po bieżącej turze;Enterkoryguje bieżącą turę. Z innego terminalacodex queue --thread NAME --message "…"robi to samo dla nazwanej sesji. - Pytania poboczne zadawaj z boku.
/side(albo/btw) otwiera rozmowę poboczną w efemerycznym forku, więc „co dopasowuje ten regex?” nie zaśmieca kontekstu głównego wątku. - Alternatywę sprawdzaj równolegle, a nie potem.
cxfork "Try the approach with a database lock instead"rozgałęzia ostatnią sesję w nowy wątek, a oryginał zostaje bez zmian. Żeby obie próby nie edytowały tych samych plików, daj alternatywie osobny worktree Git, jak opisuje strona Worktree w Codex. - Mów zamiast pisać długie prompty.
/voicewłącza i wyłącza wprowadzanie głosowe; od wersji 0.156.0 jest domyślnie włączone. Długie pisane prompty otwieraj w edytorze prosto z pola wiadomości (klawisz znajdziesz na stronie o komendach CLI).
Niech weryfikacja będzie najszybszym krokiem
Dział zatytułowany „Niech weryfikacja będzie najszybszym krokiem”Tempo, które pomija weryfikację, to pożyczony czas: zaoszczędzone minuty wracają jako czerwone CI albo błąd na review. Rozwiązanie polega na tym, żeby sprawdzanie było tańsze niż jego pominięcie.
-
Daj repozytorium jedną komendę sprawdzającą. W projekcie Node dodaj
"check": "npm run lint && npm run typecheck && npm test"dopackage.json. W innych stosach służy do tego celmake checkalbojust check. Jedna komenda oznacza, że ty i agent uruchamiacie dokładnie tę samą bramkę. -
Każ Codexowi ją uruchamiać i pokazywać wynik. Dodaj jedną linię do
AGENTS.md: „Before you say a task is done, runnpm run checkand paste the last 20 lines of its output. A claim of success without that output is not success.” Jak utrzymaćAGENTS.mdkrótkim i skutecznym, opisuje strona AGENTS.md w Codex. -
Uruchom ją sam. Wpisz
!npm run checkw polu wiadomości. Transkrypt agenta to raport; twoje własne uruchomienie to dowód. -
Spójrz na kształt zmiany.
/diffpokazuje, które pliki się zmieniły. Jeśli jednolinijkowa poprawka zmienia osiem plików, najpierw zapytaj dlaczego, a dopiero potem rób review. -
Zrób review w świeżym kontekście. Przed commitem uruchom
cxrev. Napraw każde znalezisko P0 i P1; o P2 i P3 decydujesz sam. Pełną pętlę, łącznie z segregowaniem znalezisk, opisuje strona Przegląd zmian Codex przed commitem.
Zatwierdzasz zachowanie: zielone sprawdzenie, które uruchomiłeś sam, i review bez otwartych znalezisk P0 ani P1. Nie musisz czytać każdej linii, żeby to zrobić.
Jedna pułapka tempa zasługuje na osobne ostrzeżenie. Wyłączenie zatwierdzeń nie przyspiesza Codexa w sposób, który przetrwa jedną złą komendę. Jeśli zatwierdzenia ci przeszkadzają, najpierw włącz powiadomienia; jeśli nadal przeszkadzają, --approve-for-me kieruje prośby o zatwierdzenie do automatycznego review w sandboksie workspace-write. --dangerously-bypass-approvals-and-sandbox zostaw wyłącznie dla jednorazowych sandboksów z ograniczoną siecią i nigdy nie wpisuj go do aliasu.
Po wprowadzeniu zmian uruchom raz codex --strict-config. Jeśli zgłosi błąd, audyt zaproponował klucz najwyższego poziomu, który nie istnieje; usuń go. Czyste uruchomienie nie dowodzi, że klucze w [tui] są poprawne; sprawdź je w TUI albo przez /debug-config.
Czy te triki naprawdę oszczędzają ci czas?
Dział zatytułowany „Czy te triki naprawdę oszczędzają ci czas?”Sprawdź to przez tydzień, zamiast ufać wrażeniu. Wybierz trzy sygnały, które widać bez dodatkowych narzędzi:
- Tłumaczenie od nowa. Policz sesje, w których przepisywałeś kontekst, który agent powinien był mieć. Wznawianie przez
cxlpowinno sprowadzić tę liczbę prawie do zera. - Utknięte tury. Policz, ile razy wróciłeś do tury, która czekała na zatwierdzenie. Powiadomienia o zatwierdzeniach powinny usunąć większość takich przypadków.
- Odsetek powtórek. Policz zadania, które musiałeś uruchomić ponownie, bo pierwszy wynik nie przeszedł sprawdzenia albo review. Jeśli
quickdaje więcej powtórek, niż oszczędza, podnieś jego wysiłek, zanim zrezygnujesz z profilu.
/status pokazuje konfigurację bieżącej sesji i zużycie tokenów, a /usage okna użycia twojego konta; sprawdzisz nimi, czy praca na quick rzeczywiście zużywa mniej limitu. Plany i kredyty opisuje strona Kredyty, limity użycia i koszty Codex.
Co psuje się przy optymalizacjach Codexa?
Dział zatytułowany „Co psuje się przy optymalizacjach Codexa?”- Autouzupełnianie w zsh nic nie robi. Linia
evalwykonuje się przedcompinit. Przenieś ją podcompiniti otwórz nową powłokę. - Profil jakby nie działał. Plik musi się nazywać
<name>.config.tomli leżeć w$CODEX_HOME(zwykle~/.codex), a nazwa po-pmusi dokładnie odpowiadać nazwie pliku. Starsze tabele[profiles.<name>]wconfig.tomlnadal są wczytywane; przenieś je do plików, żeby każdy profil był zdefiniowany w jednym miejscu. Wynik sprawdzisz przez/statusalbo/debug-config. - Ustawienie jest po cichu ignorowane.
codex --strict-configzamienia nieznane klucze najwyższego poziomu, np.file_openr, w błąd. W 0.157.1 nie sprawdza kluczy wewnątrz tabel takich jak[tui], więc literówka w rodzajushow_tooltipnadal przechodzi po cichu. Porównaj klucze[tui]ze stroną konfiguracji albo po restarcie sprawdź efekt (podpowiedzi nadal się wyświetlają). - Nie przychodzą żadne powiadomienia. Przy
notification_condition = "unfocused"nic nie przychodzi, gdy terminal jest aktywny; do testu ustaw"always". Jeśli nadal cisza, terminal nie obsługuje sekwencji powiadomień; ustawnotification_methodnaosc9albobelpod[tui]albo użyjnotifyz własnym skryptem. W macOS zezwól też aplikacji terminala na powiadomienia w Ustawieniach systemowych. - Skrypt z
notifynigdy się nie uruchamia.notifynależy do najwyższego poziomu, nie do[tui]; podaj skrypt ścieżką bezwzględną. Przetestuj go ręcznie:python3 ~/.codex/notify.py '{"type":"agent-turn-complete","last-assistant-message":"test"}'. - Odwołania do plików nie są klikalne. Terminal nie renderuje hiperłączy albo
file_openerwskazuje edytor, którego nie masz. Poprawne wartości w 0.157.1 tovscode,vscode-insiders,windsurf,cursorinone. - Pasek statusu pokazuje ostrzeżenie. Identyfikator elementu ma literówkę. Zbuduj pasek od nowa przez
/statusline, zamiast wpisywać identyfikatory ręcznie. - Profil quick popełnia więcej błędów, niż oszczędza. Podnieś
model_reasoning_effortwquick.config.tomlo jeden stopień, zanim zmienisz model, i zostaw w prompcie granicę „wypisz zamiast edytować”. cxlotwiera nie tę sesję.--lastwidzi tylko sesje interaktywne z bieżącego katalogu. Ważne wątki nazwij przez/renamei wznawiaj je po nazwie.
Dokąd dalej, żeby przyspieszyć pracę z Codexem
Dział zatytułowany „Dokąd dalej, żeby przyspieszyć pracę z Codexem”- Wszystkie komendy i klawisze TUI użyte powyżej, szczegółowo: Komendy Codex CLI, komendy slash i skróty.
- Wszystkie klucze konfiguracji, kolejność ich stosowania i nadpisania projektowe: Konfiguracja Codex.
- Długie sesje w dobrej formie dzięki kompaktowaniu, forkom i plikom przekazania: Zarządzanie kontekstem w Codex.
- Przyspieszenia w aplikacji desktopowej: Aplikacja desktopowa Codex.
- Ta sama idea w innych narzędziach: triki na wydajność w Claude Code i oszczędzanie czasu w Cursor albo zbiorcza lista w trikach dla zaawansowanych.