Plugins
Uprząż Codex
Dołączony Plugin codex pozwala OpenClaw uruchamiać osadzone tury agenta przez
serwer aplikacji Codex zamiast wbudowanego mechanizmu PI.
Użyj tego, gdy chcesz, aby Codex zarządzał niskopoziomową sesją agenta: odkrywaniem modeli, natywnym wznawianiem wątków, natywną compaction oraz wykonywaniem przez serwer aplikacji. OpenClaw nadal zarządza kanałami czatu, plikami sesji, wyborem modelu, narzędziami, zatwierdzeniami, dostarczaniem multimediów oraz widocznym lustrzanym zapisem transkrypcji.
Gdy tura czatu źródłowego działa przez mechanizm Codex, widoczne odpowiedzi domyślnie
używają narzędzia OpenClaw message, jeśli wdrożenie nie skonfigurowało jawnie
messages.visibleReplies. Agent nadal może zakończyć swoją turę Codex prywatnie;
publikuje w kanale tylko wtedy, gdy wywoła message(action="send"). Ustaw
messages.visibleReplies: "automatic", aby zachować końcowe odpowiedzi w czacie bezpośrednim na
starszej ścieżce automatycznego dostarczania.
Tury Codex Heartbeat domyślnie otrzymują także narzędzie heartbeat_respond, aby
agent mógł zapisać, czy wybudzenie powinno pozostać ciche, czy wysłać powiadomienie, bez kodowania
tego przepływu sterowania w tekście końcowym.
Wskazówki dotyczące inicjatywy specyficzne dla Heartbeat są wysyłane jako instrukcja deweloperska trybu współpracy Codex w samej turze heartbeat. Zwykłe tury czatu przywracają tryb Codex Default zamiast przenosić filozofię heartbeat w swoim normalnym prompcie uruchomieniowym.
Jeśli próbujesz się zorientować, zacznij od
Środowiska uruchomieniowe agentów. Krótka wersja jest taka:
openai/gpt-5.5 to referencja modelu, codex to środowisko uruchomieniowe, a Telegram,
Discord, Slack lub inny kanał pozostaje powierzchnią komunikacji.
Szybka konfiguracja
Większość użytkowników, którzy chcą „Codex w OpenClaw”, potrzebuje tej ścieżki: zaloguj się z
subskrypcją ChatGPT/Codex, a następnie uruchamiaj osadzone tury agenta przez natywne
środowisko uruchomieniowe serwera aplikacji Codex. Referencja modelu nadal pozostaje kanoniczna jako
openai/gpt-*; uwierzytelnianie subskrypcji pochodzi z konta/profilu Codex, a nie
z prefiksu modelu openai-codex/*.
Najpierw zaloguj się przez Codex OAuth, jeśli jeszcze tego nie zrobiono:
openclaw models auth login --provider openai-codex
Następnie włącz dołączony Plugin codex i wymuś środowisko uruchomieniowe Codex:
{
plugins: {
entries: {
codex: {
enabled: true,
},
},
},
agents: {
defaults: {
model: "openai/gpt-5.5",
agentRuntime: {
id: "codex",
},
},
},
}
Jeśli Twoja konfiguracja używa plugins.allow, dodaj tam także codex:
{
plugins: {
allow: ["codex"],
entries: {
codex: {
enabled: true,
},
},
},
}
Nie używaj openai-codex/gpt-* w konfiguracji. Ten prefiks to starsza ścieżka, którą
openclaw doctor --fix przepisuje na openai/gpt-* w modelach podstawowych,
fallbackach, nadpisaniach heartbeat/subagent/compaction, hookach, nadpisaniach kanałów
oraz nieaktualnych utrwalonych pinezkach tras sesji.
Co zmienia ten Plugin
Dołączony Plugin codex wnosi kilka osobnych możliwości:
| Możliwość | Jak jej używasz | Co robi |
|---|---|---|
| Natywne osadzone środowisko uruchomieniowe | agentRuntime.id: "codex" |
Uruchamia osadzone tury agenta OpenClaw przez serwer aplikacji Codex. |
| Natywne polecenia sterowania czatem | /codex bind, /codex resume, /codex steer, ... |
Wiąże i kontroluje wątki serwera aplikacji Codex z rozmowy w komunikatorze. |
| Dostawca/katalog serwera aplikacji Codex | elementy wewnętrzne codex, udostępniane przez mechanizm |
Pozwala środowisku uruchomieniowemu odkrywać i weryfikować modele serwera aplikacji. |
| Ścieżka rozumienia multimediów Codex | ścieżki zgodności modeli obrazów codex/* |
Uruchamia ograniczone tury serwera aplikacji Codex dla obsługiwanych modeli rozumienia obrazów. |
| Natywny przekaźnik hooków | Hooki Plugin wokół natywnych zdarzeń Codex | Pozwala OpenClaw obserwować/blokować obsługiwane natywne zdarzenia narzędzi/finalizacji Codex. |
Włączenie Plugin udostępnia te możliwości. Nie:
- zaczyna używać Codex dla każdego modelu OpenAI
- konwertuje referencje modeli
openai-codex/*na natywne środowisko uruchomieniowe bez sprawdzenia przez doctor, że Codex jest zainstalowany, włączony, dostarcza mechanizmcodexi jest gotowy do OAuth - czyni ACP/acpx domyślną ścieżką Codex
- przełącza na gorąco istniejących sesji, które już zapisały środowisko uruchomieniowe PI
- zastępuje dostarczania kanałów OpenClaw, plików sesji, przechowywania profili uwierzytelniania ani routingu wiadomości
Ten sam Plugin jest również właścicielem natywnej powierzchni poleceń sterowania czatem /codex. Jeśli
Plugin jest włączony, a użytkownik prosi o powiązanie, wznowienie, sterowanie, zatrzymanie lub sprawdzenie
wątków Codex z czatu, agenci powinni preferować /codex ... zamiast ACP. ACP pozostaje
jawnym fallbackiem, gdy użytkownik prosi o ACP/acpx lub testuje adapter ACP
Codex.
Natywne tury Codex zachowują hooki Plugin OpenClaw jako publiczną warstwę zgodności.
Są to hooki OpenClaw działające w procesie, a nie hooki poleceń Codex hooks.json:
before_prompt_buildbefore_compaction,after_compactionllm_input,llm_outputbefore_tool_call,after_tool_callbefore_message_writedla lustrzanych rekordów transkrypcjibefore_agent_finalizeprzez przekaźnik CodexStopagent_end
Pluginy mogą także rejestrować neutralne względem środowiska uruchomieniowego middleware wyników narzędzi, aby przepisywać
dynamiczne wyniki narzędzi OpenClaw po wykonaniu narzędzia przez OpenClaw i przed
zwróceniem wyniku do Codex. Jest to osobne od publicznego hooka Plugin
tool_result_persist, który przekształca należące do OpenClaw zapisy wyników narzędzi
w transkrypcji.
Semantykę samych hooków Plugin opisują Hooki Plugin oraz Zachowanie strażników Plugin.
Mechanizm jest domyślnie wyłączony. Nowe konfiguracje powinny zachować referencje modeli OpenAI
w formie kanonicznej openai/gpt-* i jawnie wymuszać
agentRuntime.id: "codex" lub OPENCLAW_AGENT_RUNTIME=codex, gdy
wymagają natywnego wykonywania przez serwer aplikacji. Starsze referencje modeli codex/* nadal automatycznie wybierają
mechanizm dla zgodności, ale starsze prefiksy dostawców oparte na środowisku uruchomieniowym
nie są pokazywane jako normalne wybory modelu/dostawcy.
Jeśli jakakolwiek skonfigurowana trasa modelu nadal ma postać openai-codex/*, openclaw doctor --fix
przepisuje ją na openai/*. Dla pasujących tras agentów ustawia środowisko uruchomieniowe agenta
na codex tylko wtedy, gdy Plugin Codex jest zainstalowany, włączony, dostarcza
mechanizm codex i ma używalne OAuth; w przeciwnym razie ustawia środowisko uruchomieniowe na pi.
Mapa tras
Użyj tej tabeli przed zmianą konfiguracji:
| Oczekiwane zachowanie | Referencja modelu | Konfiguracja środowiska uruchomieniowego | Trasa uwierzytelniania/profilu | Oczekiwana etykieta stanu |
|---|---|---|---|---|
| Subskrypcja ChatGPT/Codex z natywnym środowiskiem uruchomieniowym Codex | openai/gpt-* |
agentRuntime.id: "codex" |
Codex OAuth lub konto Codex | Runtime: OpenAI Codex |
| OpenAI API przez normalny runner OpenClaw | openai/gpt-* |
pominięte lub runtime: "pi" |
Klucz OpenAI API | Runtime: OpenClaw Pi Default |
| Starsza konfiguracja wymagająca naprawy doctor | openai-codex/gpt-* |
naprawione na codex lub pi |
Istniejące skonfigurowane uwierzytelnianie | Sprawdź ponownie po doctor --fix |
| Mieszani dostawcy z konserwatywnym trybem automatycznym | referencje specyficzne dla dostawcy | agentRuntime.id: "auto" |
Według wybranego dostawcy | Zależy od wybranego środowiska uruchomieniowego |
| Jawna sesja adaptera Codex ACP | zależne od promptu/modelu ACP | sessions_spawn z runtime: "acp" |
Uwierzytelnianie backendu ACP | Stan zadania/sesji ACP |
Ważny podział to dostawca kontra środowisko uruchomieniowe:
openai-codex/*to starsza trasa, którą doctor przepisuje.agentRuntime.id: "codex"wymaga mechanizmu Codex i kończy się błędem zamkniętym, jeśli jest niedostępny.agentRuntime.id: "auto"pozwala zarejestrowanym mechanizmom przejmować pasujące trasy dostawcy, ale kanoniczne referencje OpenAI nadal należą do PI, chyba że mechanizm obsługuje daną parę dostawca/model./codex ...odpowiada na pytanie „którą natywną rozmowę Codex ten czat ma powiązać lub kontrolować?”- ACP odpowiada na pytanie „który zewnętrzny proces mechanizmu ma uruchomić acpx?”
Wybierz właściwy prefiks modelu
Trasy z rodziny OpenAI są specyficzne dla prefiksu. Dla typowej konfiguracji z subskrypcją oraz
natywnym środowiskiem uruchomieniowym Codex użyj openai/* z agentRuntime.id: "codex".
Traktuj openai-codex/* jako starszą konfigurację, którą doctor powinien przepisać:
| Referencja modelu | Ścieżka środowiska uruchomieniowego | Kiedy używać |
|---|---|---|
openai/gpt-5.4 |
Dostawca OpenAI przez mechanikę OpenClaw/PI | Chcesz bieżącego bezpośredniego dostępu do OpenAI Platform API z OPENAI_API_KEY. |
openai-codex/gpt-5.5 |
Starsza trasa naprawiana przez doctor | Masz starą konfigurację; uruchom openclaw doctor --fix, aby ją przepisać. |
openai/gpt-5.5 + agentRuntime.id: "codex" |
Mechanizm serwera aplikacji Codex | Chcesz uwierzytelniania subskrypcji ChatGPT/Codex z natywnym wykonywaniem Codex. |
GPT-5.5 może pojawiać się zarówno na bezpośrednich trasach z kluczem OpenAI API, jak i trasach subskrypcji Codex,
gdy Twoje konto je udostępnia. Użyj openai/gpt-5.5 z mechanizmem serwera aplikacji Codex
dla natywnego środowiska uruchomieniowego Codex albo openai/gpt-5.5 bez nadpisania środowiska uruchomieniowego Codex
dla bezpośredniego ruchu z kluczem API.
Starsze referencje codex/gpt-* pozostają akceptowane jako aliasy zgodności. Migracja zgodności doctor
przepisuje starsze referencje środowiska uruchomieniowego na kanoniczne referencje modeli
i zapisuje politykę środowiska uruchomieniowego osobno. Nowe konfiguracje natywnego mechanizmu serwera aplikacji
powinny używać openai/gpt-* plus agentRuntime.id: "codex".
agents.defaults.imageModel podąża za tym samym podziałem prefiksów. Użyj
openai/gpt-* dla normalnej trasy OpenAI oraz codex/gpt-*, gdy rozumienie obrazów
powinno działać przez ograniczoną turę serwera aplikacji Codex. Nie używaj
openai-codex/gpt-*; doctor przepisuje ten starszy prefiks na openai/gpt-*. Model
serwera aplikacji Codex musi deklarować obsługę wejścia obrazu; tekstowe modele Codex
kończą się błędem przed rozpoczęciem tury multimedialnej.
Użyj /status, aby potwierdzić efektywny mechanizm dla bieżącej sesji. Jeśli
wybór jest zaskakujący, włącz logowanie debugowania dla podsystemu agents/harness
i sprawdź ustrukturyzowany rekord Gateway agent harness selected. Zawiera on
identyfikator wybranego mechanizmu, powód wyboru, politykę środowiska uruchomieniowego/fallbacku oraz,
w trybie auto, wynik obsługi każdego kandydata Plugin.
Co oznaczają ostrzeżenia doctor
openclaw doctor ostrzega, gdy skonfigurowane referencje modeli lub utrwalony stan tras sesji
nadal używają openai-codex/*. openclaw doctor --fix przepisuje te trasy
na:
openai/<model>agentRuntime.id: "codex", gdy Codex jest zainstalowany, włączony, dostarcza mechanizmcodexi ma używalne OAuthagentRuntime.id: "pi"w przeciwnym razie
Trasa codex wymusza natywny mechanizm Codex. Trasa pi utrzymuje
agenta na domyślnym runnerze OpenClaw zamiast włączać lub instalować Codex jako
efekt uboczny czyszczenia starszej trasy.
Doctor naprawia także nieaktualne utrwalone pinezki sesji we wszystkich odkrytych magazynach sesji agentów,
aby stare rozmowy nie pozostały zablokowane na usuniętej trasie.
Wybór harness nie jest kontrolą sesji na żywo. Gdy uruchamiana jest osadzona tura,
OpenClaw zapisuje wybrany identyfikator harness w tej sesji i nadal używa go w
późniejszych turach w ramach tego samego identyfikatora sesji. Zmień konfigurację
agentRuntime albo OPENCLAW_AGENT_RUNTIME, gdy chcesz, aby przyszłe sesje
używały innego harness; użyj /new albo /reset, aby rozpocząć świeżą sesję
przed przełączeniem istniejącej rozmowy między PI i Codex. Zapobiega to
odtwarzaniu jednego transkryptu przez dwa niezgodne natywne systemy sesji.
Sesje starszego typu utworzone przed przypięciami harness są traktowane jako
przypięte do PI, gdy mają już historię transkryptu. Użyj /new albo /reset,
aby włączyć tę rozmowę do Codex po zmianie konfiguracji.
/status pokazuje efektywny runtime modelu. Domyślny harness PI jest widoczny
jako Runtime: OpenClaw Pi Default, a harness serwera aplikacji Codex jako
Runtime: OpenAI Codex.
Wymagania
- OpenClaw z dostępnym dołączonym pluginem
codex. - Serwer aplikacji Codex
0.125.0albo nowszy. Dołączony plugin domyślnie zarządza zgodnym plikiem binarnym serwera aplikacji Codex, więc lokalne poleceniacodexwPATHnie wpływają na normalne uruchamianie harness. - Uwierzytelnianie Codex dostępne dla procesu serwera aplikacji albo dla mostu
uwierzytelniania Codex w OpenClaw. Lokalne uruchomienia serwera aplikacji stdio używają
zarządzanego przez OpenClaw katalogu domowego Codex dla każdego agenta oraz izolowanego
podrzędnego
HOME, więc domyślnie nie odczytują Twojego osobistego konta, Skills, pluginów, konfiguracji, stanu wątków ani natywnego$HOME/.agents/skillsz~/.codex.
Plugin blokuje starsze albo niewersjonowane uzgodnienia serwera aplikacji. Dzięki temu OpenClaw pozostaje na powierzchni protokołu, względem której był testowany.
W testach smoke na żywo i w Dockerze uwierzytelnianie zwykle pochodzi z konta CLI Codex
albo profilu uwierzytelniania OpenClaw openai-codex. Lokalne uruchomienia serwera
aplikacji stdio mogą też przełączyć się awaryjnie na CODEX_API_KEY / OPENAI_API_KEY,
gdy nie ma konta.
Pliki inicjalizacji workspace
Codex sam obsługuje AGENTS.md przez natywne wykrywanie dokumentów projektu. OpenClaw
nie zapisuje syntetycznych plików dokumentów projektu Codex ani nie polega na zapasowych
nazwach plików Codex dla plików persony, ponieważ mechanizmy zapasowe Codex mają
zastosowanie tylko wtedy, gdy brakuje AGENTS.md.
Aby zachować parzystość workspace OpenClaw, harness Codex rozwiązuje pozostałe pliki
inicjalizacji (SOUL.md, TOOLS.md, IDENTITY.md, USER.md, HEARTBEAT.md,
BOOTSTRAP.md oraz MEMORY.md, jeśli istnieją) i przekazuje je przez instrukcje
deweloperskie Codex w thread/start i thread/resume. Dzięki temu SOUL.md oraz
powiązany kontekst persony/profilu workspace pozostają widoczne na natywnej ścieżce
Codex kształtującej zachowanie, bez duplikowania AGENTS.md.
Dodawanie Codex obok innych modeli
Nie ustawiaj globalnie agentRuntime.id: "codex", jeśli ten sam agent ma swobodnie przełączać się
między Codex i modelami dostawców innych niż Codex. Wymuszony runtime ma zastosowanie do każdej
osadzonej tury tego agenta lub tej sesji. Jeśli wybierzesz model Anthropic, gdy
ten runtime jest wymuszony, OpenClaw nadal spróbuje harness Codex i zakończy działanie
błędem zamiast po cichu kierować tę turę przez PI.
Zamiast tego użyj jednej z tych form:
- Umieść Codex na dedykowanym agencie z
agentRuntime.id: "codex". - Pozostaw domyślnego agenta na
agentRuntime.id: "auto"i zapasowym PI dla normalnego mieszanego użycia dostawców. - Używaj starszych odwołań
codex/*tylko dla zgodności. Nowe konfiguracje powinny preferowaćopenai/*oraz jawną politykę runtime Codex.
Na przykład ta konfiguracja pozostawia domyślnego agenta przy normalnym automatycznym wyborze i dodaje osobnego agenta Codex:
{
plugins: {
entries: {
codex: {
enabled: true,
},
},
},
agents: {
defaults: {
agentRuntime: {
id: "auto",
},
},
list: [
{
id: "main",
default: true,
model: "anthropic/claude-opus-4-6",
},
{
id: "codex",
name: "Codex",
model: "openai/gpt-5.5",
agentRuntime: {
id: "codex",
},
},
],
},
}
W tej formie:
- Domyślny agent
mainużywa normalnej ścieżki dostawcy oraz zapasowej zgodności PI. - Agent
codexużywa harness serwera aplikacji Codex. - Jeśli Codex jest niedostępny albo nieobsługiwany dla agenta
codex, tura kończy się błędem zamiast po cichu używać PI.
Routing poleceń agenta
Agenci powinni kierować żądania użytkownika według intencji, nie tylko według słowa „Codex”:
| Użytkownik prosi o... | Agent powinien użyć... |
|---|---|
| „Powiąż ten czat z Codex” | /codex bind |
„Wznów tutaj wątek Codex <id>” |
/codex resume <id> |
| „Pokaż wątki Codex” | /codex threads |
| „Zgłoś raport wsparcia dotyczący złego uruchomienia Codex” | /diagnostics [note] |
| „Wyślij opinię Codex tylko dla tego załączonego wątku” | /codex diagnostics [note] |
| „Użyj mojej subskrypcji ChatGPT/Codex z runtime Codex” | openai/* plus agentRuntime.id: "codex" |
„Napraw stare przypięcia konfiguracji/sesji openai-codex/*” |
openclaw doctor --fix |
| „Uruchom Codex przez ACP/acpx” | ACP sessions_spawn({ runtime: "acp", ... }) |
| „Uruchom Claude Code/Gemini/OpenCode/Cursor w wątku” | ACP/acpx, nie /codex i nie natywne podagenty |
OpenClaw reklamuje agentom wskazówki uruchamiania ACP tylko wtedy, gdy ACP jest włączone, możliwe do wywołania i obsługiwane przez załadowany backend runtime. Jeśli ACP nie jest dostępne, prompt systemowy i Skills pluginu nie powinny uczyć agenta routingu ACP.
Wdrożenia tylko z Codex
Wymuś harness Codex, gdy musisz udowodnić, że każda osadzona tura agenta używa Codex. Jawne runtime pluginu kończą się błędem i nigdy nie są po cichu ponawiane przez PI:
{
agents: {
defaults: {
model: "openai/gpt-5.5",
agentRuntime: {
id: "codex",
},
},
},
}
Nadpisanie środowiskowe:
OPENCLAW_AGENT_RUNTIME=codex openclaw gateway run
Przy wymuszonym Codex OpenClaw wcześnie kończy się błędem, jeśli plugin Codex jest wyłączony, serwer aplikacji jest zbyt stary albo serwer aplikacji nie może się uruchomić.
Codex dla poszczególnych agentów
Możesz uczynić jednego agenta wyłącznie Codex, podczas gdy domyślny agent zachowuje normalny automatyczny wybór:
{
agents: {
defaults: {
agentRuntime: {
id: "auto",
},
},
list: [
{
id: "main",
default: true,
model: "anthropic/claude-opus-4-6",
},
{
id: "codex",
name: "Codex",
model: "openai/gpt-5.5",
agentRuntime: {
id: "codex",
},
},
],
},
}
Używaj normalnych poleceń sesji, aby przełączać agentów i modele. /new tworzy świeżą
sesję OpenClaw, a harness Codex tworzy lub wznawia swój boczny wątek serwera aplikacji
w razie potrzeby. /reset czyści powiązanie sesji OpenClaw dla tego wątku
i pozwala następnej turze ponownie rozwiązać harness z bieżącej konfiguracji.
Wykrywanie modeli
Domyślnie plugin Codex pyta serwer aplikacji o dostępne modele. Jeśli wykrywanie nie powiedzie się albo przekroczy limit czasu, używa dołączonego katalogu zapasowego dla:
- GPT-5.5
- GPT-5.4 mini
- GPT-5.2
Możesz dostroić wykrywanie w plugins.entries.codex.config.discovery:
{
plugins: {
entries: {
codex: {
enabled: true,
config: {
discovery: {
enabled: true,
timeoutMs: 2500,
},
},
},
},
},
}
Wyłącz wykrywanie, gdy chcesz, aby uruchamianie unikało sondowania Codex i pozostało przy katalogu zapasowym:
{
plugins: {
entries: {
codex: {
enabled: true,
config: {
discovery: {
enabled: false,
},
},
},
},
},
}
Połączenie i polityka serwera aplikacji
Domyślnie plugin uruchamia lokalnie zarządzany przez OpenClaw plik binarny Codex za pomocą:
codex app-server --listen stdio://
Zarządzany plik binarny jest dostarczany z pakietem pluginu codex. Dzięki temu
wersja serwera aplikacji jest powiązana z dołączonym pluginem, a nie z dowolnym osobnym
CLI Codex zainstalowanym lokalnie. Ustaw appServer.command tylko wtedy,
gdy celowo chcesz uruchomić inny plik wykonywalny.
Domyślnie OpenClaw uruchamia lokalne sesje harness Codex w trybie YOLO:
approvalPolicy: "never", approvalsReviewer: "user" oraz
sandbox: "danger-full-access". To zaufana lokalna postawa operatora używana
dla autonomicznych Heartbeat: Codex może używać narzędzi powłoki i sieci bez
zatrzymywania się na natywnych promptach zatwierdzeń, na które nikt nie może odpowiedzieć.
Aby włączyć zatwierdzenia oceniane przez strażnika Codex, ustaw appServer.mode: "guardian":
{
plugins: {
entries: {
codex: {
enabled: true,
config: {
appServer: {
mode: "guardian",
serviceTier: "fast",
},
},
},
},
},
}
Tryb Guardian używa natywnej ścieżki automatycznej oceny zatwierdzeń Codex. Gdy Codex prosi o opuszczenie sandbox, zapis poza workspace albo dodanie uprawnień takich jak dostęp do sieci, Codex kieruje to żądanie zatwierdzenia do natywnego recenzenta zamiast do promptu dla człowieka. Recenzent stosuje ramy ryzyka Codex i zatwierdza albo odrzuca konkretne żądanie. Używaj Guardian, gdy chcesz mieć więcej zabezpieczeń niż w trybie YOLO, ale nadal potrzebujesz, aby nienadzorowani agenci robili postępy.
Preset guardian rozwija się do approvalPolicy: "on-request",
approvalsReviewer: "auto_review" oraz sandbox: "workspace-write".
Poszczególne pola polityki nadal nadpisują mode, więc zaawansowane wdrożenia mogą łączyć
preset z jawnymi wyborami. Starsza wartość recenzenta guardian_subagent jest
nadal akceptowana jako alias zgodności, ale nowe konfiguracje powinny używać
auto_review.
Dla już uruchomionego serwera aplikacji użyj transportu WebSocket:
{
plugins: {
entries: {
codex: {
enabled: true,
config: {
appServer: {
transport: "websocket",
url: "ws://127.0.0.1:39175",
authToken: "${CODEX_APP_SERVER_TOKEN}",
requestTimeoutMs: 60000,
},
},
},
},
},
}
Uruchomienia serwera aplikacji stdio domyślnie dziedziczą środowisko procesu OpenClaw,
ale OpenClaw posiada most konta serwera aplikacji Codex i ustawia zarówno
CODEX_HOME, jak i HOME na katalogi poszczególnych agentów w stanie OpenClaw
tego agenta. Własny loader Skills Codex odczytuje $CODEX_HOME/skills oraz
$HOME/.agents/skills, więc obie wartości są izolowane dla lokalnych uruchomień
serwera aplikacji. Dzięki temu natywne Skills, pluginy, konfiguracja, konta i stan wątków
Codex są ograniczone do agenta OpenClaw zamiast przenikać z osobistego katalogu domowego
CLI Codex operatora.
Pluginy OpenClaw i migawki Skills OpenClaw nadal przepływają przez własny rejestr pluginów i loader Skills OpenClaw. Osobiste zasoby CLI Codex nie przepływają. Jeśli masz przydatne Skills albo pluginy CLI Codex, które powinny stać się częścią agenta OpenClaw, zinwentaryzuj je jawnie:
openclaw migrate codex --dry-run
openclaw migrate apply codex --yes
Dostawca migracji Codex kopiuje Skills do bieżącego workspace agenta OpenClaw. Natywne pluginy, hooki i pliki konfiguracyjne Codex są raportowane albo archiwizowane do ręcznego przeglądu zamiast automatycznej aktywacji, ponieważ mogą wykonywać polecenia, wystawiać serwery MCP albo przenosić dane uwierzytelniające.
Uwierzytelnianie jest wybierane w tej kolejności:
- Jawny profil uwierzytelniania OpenClaw Codex dla agenta.
- Istniejące konto serwera aplikacji w katalogu domowym Codex tego agenta.
- Tylko dla lokalnych uruchomień serwera aplikacji stdio:
CODEX_API_KEY, potemOPENAI_API_KEY, gdy nie ma konta serwera aplikacji, a uwierzytelnianie OpenAI jest nadal wymagane.
Gdy OpenClaw widzi profil uwierzytelniania Codex w stylu subskrypcji ChatGPT, usuwa
CODEX_API_KEY i OPENAI_API_KEY z uruchamianego procesu podrzędnego Codex. Dzięki temu
klucze API na poziomie Gateway pozostają dostępne dla osadzeń lub bezpośrednich modeli OpenAI
bez przypadkowego rozliczania natywnych tur serwera aplikacji Codex przez API.
Jawne profile kluczy API Codex i lokalny fallback klucza środowiskowego stdio używają logowania
serwera aplikacji zamiast dziedziczonego środowiska procesu podrzędnego. Połączenia WebSocket
serwera aplikacji nie otrzymują fallbacku klucza API ze środowiska Gateway; użyj jawnego profilu uwierzytelniania albo
własnego konta zdalnego serwera aplikacji.
Jeśli wdrożenie wymaga dodatkowej izolacji środowiska, dodaj te zmienne do
appServer.clearEnv:
{
plugins: {
entries: {
codex: {
enabled: true,
config: {
appServer: {
clearEnv: ["CODEX_API_KEY", "OPENAI_API_KEY"],
},
},
},
},
},
}
appServer.clearEnv wpływa tylko na uruchamiany proces podrzędny serwera aplikacji Codex.
Dynamiczne narzędzia Codex domyślnie używają profilu native-first. W tym trybie
OpenClaw nie udostępnia dynamicznych narzędzi, które duplikują natywne operacje Codex na obszarze roboczym:
read, write, edit, apply_patch, exec, process i
update_plan. Narzędzia integracyjne OpenClaw, takie jak komunikacja, sesje, media,
cron, przeglądarka, węzły, gateway, heartbeat_respond i web_search, pozostają
dostępne.
Obsługiwane pola najwyższego poziomu pluginu Codex:
| Pole | Domyślnie | Znaczenie |
|---|---|---|
codexDynamicToolsProfile |
"native-first" |
Użyj "openclaw-compat", aby udostępnić pełny zestaw dynamicznych narzędzi OpenClaw serwerowi aplikacji Codex. |
codexDynamicToolsExclude |
[] |
Dodatkowe nazwy dynamicznych narzędzi OpenClaw pomijane w turach serwera aplikacji Codex. |
Obsługiwane pola appServer:
| Pole | Domyślnie | Znaczenie |
|---|---|---|
transport |
"stdio" |
"stdio" uruchamia Codex; "websocket" łączy się z url. |
command |
zarządzany plik binarny Codex | Plik wykonywalny dla transportu stdio. Pozostaw nieustawione, aby użyć zarządzanego pliku binarnego; ustawiaj tylko jako jawne nadpisanie. |
args |
["app-server", "--listen", "stdio://"] |
Argumenty dla transportu stdio. |
url |
nieustawione | URL WebSocket serwera aplikacji. |
authToken |
nieustawione | Token Bearer dla transportu WebSocket. |
headers |
{} |
Dodatkowe nagłówki WebSocket. |
clearEnv |
[] |
Dodatkowe nazwy zmiennych środowiskowych usuwane z uruchamianego procesu serwera aplikacji stdio po zbudowaniu przez OpenClaw dziedziczonego środowiska. CODEX_HOME i HOME są zarezerwowane dla izolacji Codex per agent OpenClaw przy lokalnych uruchomieniach. |
requestTimeoutMs |
60000 |
Limit czasu dla wywołań płaszczyzny sterowania serwera aplikacji. |
mode |
"yolo" |
Ustawienie wstępne dla wykonywania YOLO lub z przeglądem guardiana. |
approvalPolicy |
"never" |
Natywna polityka zatwierdzania Codex wysyłana przy starcie/wznowieniu/turze wątku. |
sandbox |
"danger-full-access" |
Natywny tryb piaskownicy Codex wysyłany przy starcie/wznowieniu wątku. |
approvalsReviewer |
"user" |
Użyj "auto_review", aby Codex przeglądał natywne monity zatwierdzeń. guardian_subagent pozostaje starszym aliasem. |
serviceTier |
nieustawione | Opcjonalna warstwa usługi serwera aplikacji Codex: "fast", "flex" albo null. Nieprawidłowe starsze wartości są ignorowane. |
Wywołania dynamicznych narzędzi należących do OpenClaw są ograniczane niezależnie od
appServer.requestTimeoutMs: każde żądanie Codex item/tool/call musi otrzymać
odpowiedź OpenClaw w ciągu 30 sekund. Po przekroczeniu limitu czasu OpenClaw przerywa sygnał narzędzia,
gdy jest to obsługiwane, i zwraca nieudaną odpowiedź dynamicznego narzędzia do Codex, aby
tura mogła być kontynuowana zamiast pozostawiać sesję w stanie processing.
Po tym, jak OpenClaw odpowie na żądanie serwera aplikacji Codex ograniczone do tury, harness
oczekuje też, że Codex zakończy natywną turę komunikatem turn/completed. Jeśli
serwer aplikacji milczy przez 60 sekund po tej odpowiedzi, OpenClaw w trybie best-effort
przerywa turę Codex, zapisuje diagnostyczne przekroczenie limitu czasu i zwalnia pas sesji
OpenClaw, aby kolejne wiadomości czatu nie były kolejkowane za przestarzałą
natywną turą.
Nadpisania środowiska pozostają dostępne do testów lokalnych:
OPENCLAW_CODEX_APP_SERVER_BINOPENCLAW_CODEX_APP_SERVER_ARGSOPENCLAW_CODEX_APP_SERVER_MODE=yolo|guardianOPENCLAW_CODEX_APP_SERVER_APPROVAL_POLICYOPENCLAW_CODEX_APP_SERVER_SANDBOX
OPENCLAW_CODEX_APP_SERVER_BIN omija zarządzany plik binarny, gdy
appServer.command nie jest ustawione.
OPENCLAW_CODEX_APP_SERVER_GUARDIAN=1 zostało usunięte. Zamiast tego użyj
plugins.entries.codex.config.appServer.mode: "guardian" albo
OPENCLAW_CODEX_APP_SERVER_MODE=guardian do jednorazowego testowania lokalnego. Konfiguracja jest
preferowana w powtarzalnych wdrożeniach, ponieważ utrzymuje zachowanie pluginu w tym samym
przeglądanym pliku co reszta konfiguracji harnessu Codex.
Korzystanie z komputera
Korzystanie z komputera opisuje osobny przewodnik konfiguracji: Korzystanie z komputera w Codex.
W skrócie: OpenClaw nie dostarcza aplikacji do sterowania pulpitem ani samodzielnie nie wykonuje
akcji na pulpicie. Przygotowuje serwer aplikacji Codex, sprawdza, czy
serwer MCP computer-use jest dostępny, a następnie pozwala Codex obsługiwać natywne
wywołania narzędzi MCP podczas tur w trybie Codex.
Aby uzyskać bezpośredni dostęp do sterownika TryCua poza przepływem marketplace Codex, zarejestruj
cua-driver mcp za pomocą openclaw mcp set cua-driver '{"command":"cua-driver","args":["mcp"]}'.
Zobacz Korzystanie z komputera w Codex, aby poznać różnicę
między Korzystaniem z komputera należącym do Codex a bezpośrednią rejestracją MCP.
Minimalna konfiguracja:
{
plugins: {
entries: {
codex: {
enabled: true,
config: {
computerUse: {
autoInstall: true,
},
},
},
},
},
agents: {
defaults: {
model: "openai/gpt-5.5",
agentRuntime: {
id: "codex",
},
},
},
}
Konfigurację można sprawdzić lub zainstalować z powierzchni poleceń:
/codex computer-use status/codex computer-use install/codex computer-use install --source <marketplace-source>/codex computer-use install --marketplace-path <path>
Korzystanie z komputera jest specyficzne dla macOS i może wymagać lokalnych uprawnień systemu operacyjnego, zanim
serwer MCP Codex będzie mógł sterować aplikacjami. Jeśli computerUse.enabled ma wartość true, a serwer MCP
jest niedostępny, tury w trybie Codex kończą się niepowodzeniem przed startem wątku zamiast
po cichu działać bez natywnych narzędzi Korzystania z komputera. Zobacz
Korzystanie z komputera w Codex, aby poznać wybory marketplace,
limity zdalnego katalogu, powody statusów i rozwiązywanie problemów.
Gdy computerUse.autoInstall ma wartość true, OpenClaw może zarejestrować standardowy
dołączony marketplace Codex Desktop z
/Applications/Codex.app/Contents/Resources/plugins/openai-bundled, jeśli Codex
nie wykrył jeszcze lokalnego marketplace. Użyj /new albo /reset po
zmianie konfiguracji środowiska uruchomieniowego lub Korzystania z komputera, aby istniejące sesje nie zachowywały starego
powiązania wątku PI lub Codex.
Typowe przepisy
Lokalny Codex z domyślnym transportem stdio:
{
plugins: {
entries: {
codex: {
enabled: true,
},
},
},
}
Walidacja harnessu tylko dla Codex:
{
agents: {
defaults: {
model: "openai/gpt-5.5",
agentRuntime: {
id: "codex",
},
},
},
plugins: {
entries: {
codex: {
enabled: true,
},
},
},
}
Zatwierdzenia Codex z przeglądem guardiana:
{
plugins: {
entries: {
codex: {
enabled: true,
config: {
appServer: {
mode: "guardian",
approvalPolicy: "on-request",
approvalsReviewer: "auto_review",
sandbox: "workspace-write",
},
},
},
},
},
}
Zdalny serwer aplikacji z jawnymi nagłówkami:
{
plugins: {
entries: {
codex: {
enabled: true,
config: {
appServer: {
transport: "websocket",
url: "ws://gateway-host:39175",
headers: {
"X-OpenClaw-Agent": "main",
},
},
},
},
},
},
}
Przełączanie modeli pozostaje kontrolowane przez OpenClaw. Gdy sesja OpenClaw jest dołączona
do istniejącego wątku Codex, następna tura ponownie wysyła aktualnie wybrany
model OpenAI, dostawcę, politykę zatwierdzania, piaskownicę i warstwę usługi do
serwera aplikacji. Przełączenie z openai/gpt-5.5 na openai/gpt-5.2 zachowuje
powiązanie wątku, ale prosi Codex o kontynuowanie z nowo wybranym modelem.
Polecenie Codex
Dołączony plugin rejestruje /codex jako autoryzowane polecenie ukośnikowe. Jest
ogólne i działa w każdym kanale obsługującym polecenia tekstowe OpenClaw.
Typowe formy:
/codex statuspokazuje łączność z serwerem aplikacji na żywo, modele, konto, limity szybkości, serwery MCP i Skills./codex modelswyświetla modele serwera aplikacji Codex na żywo./codex threads [filter]wyświetla ostatnie wątki Codex./codex resume <thread-id>dołącza bieżącą sesję OpenClaw do istniejącego wątku Codex./codex compactprosi serwer aplikacji Codex o skompaktowanie dołączonego wątku./codex reviewuruchamia natywny przegląd Codex dla dołączonego wątku./codex diagnostics [note]pyta przed wysłaniem opinii diagnostycznej Codex dla dołączonego wątku./codex computer-use statussprawdza skonfigurowany Plugin Computer Use i serwer MCP./codex computer-use installinstaluje skonfigurowany Plugin Computer Use i przeładowuje serwery MCP./codex accountpokazuje stan konta i limitów szybkości./codex mcpwyświetla stan serwera MCP serwera aplikacji Codex./codex skillswyświetla Skills serwera aplikacji Codex.
Gdy Codex zgłasza błąd limitu użycia, OpenClaw dołącza następny czas resetowania
serwera aplikacji, jeśli Codex go podał. Użyj /codex account w tej samej
rozmowie, aby sprawdzić bieżące konto i okna limitów szybkości.
Typowy przepływ debugowania
Gdy agent oparty na Codex zrobi coś zaskakującego w Telegram, Discord, Slack lub innym kanale, zacznij od rozmowy, w której wystąpił problem:
- Uruchom
/diagnostics bad tool choice after image uploadalbo inną krótką notatkę opisującą to, co zaobserwowano. - Zatwierdź żądanie diagnostyki jeden raz. Zatwierdzenie tworzy lokalny plik zip diagnostyki Gateway i, ponieważ sesja używa mechanizmu Codex, wysyła także odpowiedni pakiet opinii Codex na serwery OpenAI.
- Skopiuj ukończoną odpowiedź diagnostyczną do zgłoszenia błędu lub wątku pomocy.
Zawiera ona ścieżkę lokalnego pakietu, podsumowanie prywatności, identyfikatory sesji OpenClaw,
identyfikatory wątków Codex oraz wiersz
Inspect locallydla każdego wątku Codex. - Jeśli chcesz samodzielnie debugować uruchomienie, uruchom wypisane polecenie
Inspect locallyw terminalu. Wygląda ono jakcodex resume <thread-id>i otwiera natywny wątek Codex, aby można było sprawdzić rozmowę, kontynuować ją lokalnie albo zapytać Codex, dlaczego wybrał dane narzędzie lub plan.
Używaj /codex diagnostics [note] tylko wtedy, gdy konkretnie chcesz przesłać
opinię Codex dla aktualnie dołączonego wątku bez pełnego pakietu diagnostycznego
OpenClaw Gateway. W przypadku większości zgłoszeń do pomocy /diagnostics [note] jest
lepszym punktem wyjścia, ponieważ łączy lokalny stan Gateway i identyfikatory
wątków Codex w jednej odpowiedzi. Zobacz Eksport diagnostyki,
aby poznać pełny model prywatności i zachowanie na czacie grupowym.
Rdzeń OpenClaw udostępnia także właścicielską komendę /diagnostics [note] jako ogólną
komendę diagnostyczną Gateway. Jej monit zatwierdzenia pokazuje preambułę dotyczącą danych wrażliwych,
linkuje do Eksportu diagnostyki i za każdym razem żąda
openclaw gateway diagnostics export --json przez jawne zatwierdzenie wykonania.
Nie zatwierdzaj diagnostyki regułą zezwalającą na wszystko. Po zatwierdzeniu
OpenClaw wysyła raport gotowy do wklejenia ze ścieżką lokalnego pakietu i
podsumowaniem manifestu. Gdy aktywna sesja OpenClaw używa mechanizmu Codex, to
samo zatwierdzenie autoryzuje także wysłanie odpowiednich pakietów opinii Codex na
serwery OpenAI. Monit zatwierdzenia informuje, że opinia Codex zostanie wysłana, ale
nie pokazuje identyfikatorów sesji ani wątków Codex przed zatwierdzeniem.
Jeśli /diagnostics zostanie wywołane przez właściciela na czacie grupowym, OpenClaw utrzymuje
współdzielony kanał w porządku: grupa otrzymuje tylko krótkie powiadomienie, natomiast
preambuła diagnostyczna, monity zatwierdzenia oraz identyfikatory sesji/wątków Codex są wysyłane do
właściciela prywatną ścieżką zatwierdzania. Jeśli nie ma prywatnej ścieżki do właściciela,
OpenClaw odrzuca żądanie grupowe i prosi właściciela o uruchomienie go z wiadomości prywatnej.
Zatwierdzone przesłanie Codex wywołuje feedback/upload serwera aplikacji Codex i prosi
serwer aplikacji o dołączenie logów dla każdego wymienionego wątku oraz utworzonych podwątków Codex,
gdy są dostępne. Przesyłanie odbywa się normalną ścieżką opinii Codex na serwery OpenAI;
jeśli opinie Codex są wyłączone w tym serwerze aplikacji, komenda zwraca
błąd serwera aplikacji. Ukończona odpowiedź diagnostyczna wymienia kanały,
identyfikatory sesji OpenClaw, identyfikatory wątków Codex oraz lokalne komendy codex resume <thread-id>
dla wysłanych wątków. Jeśli odmówisz zatwierdzenia lub je zignorujesz,
OpenClaw nie wypisze tych identyfikatorów Codex. To przesłanie nie zastępuje lokalnego
eksportu diagnostyki Gateway.
/codex resume zapisuje ten sam pomocniczy plik wiązania, którego mechanizm używa dla
zwykłych tur. Przy następnej wiadomości OpenClaw wznawia ten wątek Codex, przekazuje
aktualnie wybrany model OpenClaw do serwera aplikacji i pozostawia włączoną
rozszerzoną historię.
Sprawdzanie wątku Codex z CLI
Najszybszym sposobem zrozumienia nieudanego uruchomienia Codex jest często bezpośrednie otwarcie natywnego wątku Codex:
codex resume <thread-id>
Użyj tego, gdy zauważysz błąd w rozmowie na kanale i chcesz sprawdzić
problematyczną sesję Codex, kontynuować ją lokalnie albo zapytać Codex, dlaczego dokonał
konkretnego wyboru narzędzia lub rozumowania. Najłatwiej zwykle najpierw uruchomić
/diagnostics [note]: po zatwierdzeniu ukończony raport wyświetla
każdy wątek Codex i wypisuje komendę Inspect locally, na przykład
codex resume <thread-id>. Możesz skopiować tę komendę bezpośrednio do terminala.
Możesz także uzyskać identyfikator wątku z /codex binding dla bieżącego czatu albo
/codex threads [filter] dla ostatnich wątków serwera aplikacji Codex, a następnie uruchomić tę samą
komendę codex resume w powłoce.
Powierzchnia komend wymaga serwera aplikacji Codex 0.125.0 lub nowszego. Poszczególne
metody sterujące są zgłaszane jako unsupported by this Codex app-server, jeśli
przyszły lub niestandardowy serwer aplikacji nie udostępnia danej metody JSON-RPC.
Granice hooków
Mechanizm Codex ma trzy warstwy hooków:
| Warstwa | Właściciel | Cel |
|---|---|---|
| Hooki Plugin OpenClaw | OpenClaw | Zgodność produktu/Plugin między mechanizmami PI i Codex. |
| Middleware rozszerzeń serwera aplikacji Codex | Pluginy dołączone do OpenClaw | Zachowanie adaptera na turę wokół dynamicznych narzędzi OpenClaw. |
| Natywne hooki Codex | Codex | Niskopoziomowy cykl życia Codex i natywna polityka narzędzi z konfiguracji Codex. |
OpenClaw nie używa projektowych ani globalnych plików Codex hooks.json do kierowania
zachowaniem Plugin OpenClaw. Dla obsługiwanego mostu natywnych narzędzi i uprawnień
OpenClaw wstrzykuje konfigurację Codex dla wątku dla PreToolUse, PostToolUse,
PermissionRequest i Stop. Gdy zatwierdzenia serwera aplikacji Codex są włączone
(approvalPolicy nie ma wartości "never"), domyślna wstrzykiwana konfiguracja natywnych hooków
pomija PermissionRequest, aby recenzent serwera aplikacji Codex i most zatwierdzeń OpenClaw
obsługiwały rzeczywiste eskalacje po przeglądzie. Operatorzy mogą nadal jawnie dodać
permission_request do nativeHookRelay.events, gdy potrzebują przekaźnika zgodności.
Inne hooki Codex, takie jak SessionStart i UserPromptSubmit, pozostają
kontrolkami na poziomie Codex; nie są udostępniane jako hooki Plugin OpenClaw w kontrakcie v1.
W przypadku dynamicznych narzędzi OpenClaw, OpenClaw wykonuje narzędzie po tym, jak Codex poprosi o wywołanie, więc OpenClaw uruchamia zachowanie Plugin i middleware, których jest właścicielem w adapterze mechanizmu. W przypadku narzędzi natywnych Codex to Codex jest właścicielem kanonicznego rekordu narzędzia. OpenClaw może odzwierciedlać wybrane zdarzenia, ale nie może przepisać natywnego wątku Codex, chyba że Codex udostępni taką operację przez serwer aplikacji lub wywołania zwrotne natywnych hooków.
Projekcje cyklu życia Compaction i LLM pochodzą z powiadomień serwera aplikacji Codex
oraz stanu adaptera OpenClaw, a nie z natywnych komend hooków Codex.
Zdarzenia OpenClaw before_compaction, after_compaction, llm_input i
llm_output są obserwacjami na poziomie adaptera, a nie przechwyceniami bajt po bajcie
wewnętrznego żądania Codex ani ładunków Compaction.
Natywne powiadomienia serwera aplikacji Codex hook/started i hook/completed są
rzutowane jako zdarzenia agenta codex_app_server.hook na potrzeby trajektorii i debugowania.
Nie wywołują hooków Plugin OpenClaw.
Kontrakt obsługi V1
Tryb Codex nie jest PI z innym wywołaniem modelu pod spodem. Codex jest właścicielem większej części natywnej pętli modelu, a OpenClaw dostosowuje swoje powierzchnie Plugin i sesji wokół tej granicy.
Obsługiwane w środowisku uruchomieniowym Codex v1:
| Obszar | Obsługa | Dlaczego |
|---|---|---|
| Pętla modelu OpenAI przez Codex | Obsługiwane | Serwer aplikacji Codex obsługuje turę OpenAI, natywne wznawianie wątku i natywną kontynuację narzędzi. |
| Routing i dostarczanie kanałów OpenClaw | Obsługiwane | Telegram, Discord, Slack, WhatsApp, iMessage i inne kanały pozostają poza środowiskiem wykonawczym modelu. |
| Dynamiczne narzędzia OpenClaw | Obsługiwane | Codex prosi OpenClaw o wykonanie tych narzędzi, więc OpenClaw pozostaje na ścieżce wykonania. |
| Pluginy promptów i kontekstu | Obsługiwane | OpenClaw buduje nakładki promptów i przekazuje kontekst do tury Codex przed rozpoczęciem lub wznowieniem wątku. |
| Cykl życia silnika kontekstu | Obsługiwane | Składanie, pobieranie lub konserwacja po turze oraz koordynacja Compaction silnika kontekstu działają dla tur Codex. |
| Hooki narzędzi dynamicznych | Obsługiwane | before_tool_call, after_tool_call oraz oprogramowanie pośredniczące wyników narzędzi działają wokół dynamicznych narzędzi należących do OpenClaw. |
| Hooki cyklu życia | Obsługiwane jako obserwacje adaptera | llm_input, llm_output, agent_end, before_compaction i after_compaction uruchamiają się z poprawnymi ładunkami trybu Codex. |
| Bramka rewizji odpowiedzi końcowej | Obsługiwane przez natywny przekaźnik hooków | Codex Stop jest przekazywane do before_agent_finalize; revise prosi Codex o jeszcze jedno przejście modelu przed finalizacją. |
| Natywna powłoka, poprawka i MCP blokuj lub obserwuj | Obsługiwane przez natywny przekaźnik hooków | Codex PreToolUse i PostToolUse są przekazywane dla zatwierdzonych natywnych powierzchni narzędzi, w tym ładunków MCP w serwerze aplikacji Codex 0.125.0 lub nowszym. Blokowanie jest obsługiwane; przepisywanie argumentów nie jest. |
| Natywna polityka uprawnień | Obsługiwane przez zatwierdzenia serwera aplikacji Codex i zgodnościowy natywny przekaźnik hooków | Żądania zatwierdzenia serwera aplikacji Codex są kierowane przez OpenClaw po przeglądzie Codex. Natywny przekaźnik hooka PermissionRequest jest opcjonalny dla natywnych trybów zatwierdzania, ponieważ Codex emituje go przed przeglądem przez strażnika. |
| Przechwytywanie trajektorii serwera aplikacji | Obsługiwane | OpenClaw zapisuje żądanie wysłane do serwera aplikacji i otrzymywane przez siebie powiadomienia serwera aplikacji. |
Nieobsługiwane w środowisku wykonawczym Codex v1:
| Obszar | Granica V1 | Przyszła ścieżka |
|---|---|---|
| Mutowanie argumentów natywnych narzędzi | Natywne hooki Codex przed użyciem narzędzia mogą blokować, ale OpenClaw nie przepisuje argumentów narzędzi natywnych dla Codex. | Wymaga obsługi hooków/schematu Codex dla zastępczych danych wejściowych narzędzia. |
| Edytowalna natywna historia transkrypcji Codex | Codex posiada kanoniczną natywną historię wątku. OpenClaw posiada kopię lustrzaną i może projektować przyszły kontekst, ale nie powinien mutować nieobsługiwanych elementów wewnętrznych. | Dodaj jawne API serwera aplikacji Codex, jeśli potrzebna jest operacja na natywnym wątku. |
tool_result_persist dla rekordów narzędzi natywnych Codex |
Ten hook przekształca zapisy transkrypcji należące do OpenClaw, a nie rekordy narzędzi natywnych dla Codex. | Można tworzyć kopię lustrzaną przekształconych rekordów, ale kanoniczne przepisywanie wymaga obsługi przez Codex. |
| Bogate natywne metadane Compaction | OpenClaw obserwuje rozpoczęcie i zakończenie Compaction, ale nie otrzymuje stabilnej listy zachowanych/usuniętych elementów, delty tokenów ani ładunku podsumowania. | Wymaga bogatszych zdarzeń Compaction w Codex. |
| Interwencja w Compaction | Obecne hooki Compaction w OpenClaw w trybie Codex mają poziom powiadomień. | Dodaj hooki przed/po Compaction w Codex, jeśli pluginy muszą wetować lub przepisywać natywną Compaction. |
| Przechwytywanie żądań API modelu bajt po bajcie | OpenClaw może przechwytywać żądania i powiadomienia serwera aplikacji, ale rdzeń Codex wewnętrznie buduje końcowe żądanie API OpenAI. | Wymaga zdarzenia śledzenia żądań modelu Codex lub debug API. |
Narzędzia, media i Compaction
Uprząż Codex zmienia tylko niskopoziomowy osadzony executor agenta.
OpenClaw nadal buduje listę narzędzi i otrzymuje wyniki narzędzi dynamicznych z uprzęży. Tekst, obrazy, wideo, muzyka, TTS, zatwierdzenia i dane wyjściowe narzędzi komunikacyjnych nadal przechodzą przez zwykłą ścieżkę dostarczania OpenClaw.
Natywny przekaźnik hooków jest celowo ogólny, ale kontrakt obsługi v1 jest
ograniczony do ścieżek natywnych narzędzi i uprawnień Codex, które testuje
OpenClaw. W środowisku wykonawczym Codex obejmuje to powłokę, poprawkę i ładunki
MCP PreToolUse, PostToolUse oraz PermissionRequest. Nie zakładaj, że każde
przyszłe zdarzenie hooka Codex jest powierzchnią pluginu OpenClaw, dopóki kontrakt
środowiska wykonawczego go nie nazwie.
Dla PermissionRequest OpenClaw zwraca jawne decyzje zezwolenia lub odmowy tylko
wtedy, gdy decyduje polityka. Wynik bez decyzji nie jest zezwoleniem. Codex
traktuje go jako brak decyzji hooka i przechodzi do własnej ścieżki strażnika lub
zatwierdzenia użytkownika. Tryby zatwierdzania serwera aplikacji Codex domyślnie
pomijają ten natywny hook; ten akapit ma zastosowanie, gdy permission_request
jest jawnie uwzględnione w nativeHookRelay.events albo instaluje je zgodnościowe
środowisko wykonawcze.
Gdy operator wybiera allow-always dla natywnego żądania uprawnień Codex,
OpenClaw zapamiętuje dokładny odcisk provider/sesja/narzędzie dane wejściowe/cwd
dla ograniczonego okna sesji. Zapamiętana decyzja jest celowo tylko dokładnym
dopasowaniem: zmienione polecenie, argumenty, ładunek narzędzia lub cwd tworzą
nowe zatwierdzenie.
Elicytacje zatwierdzania narzędzi MCP Codex są kierowane przez przepływ
zatwierdzania pluginów OpenClaw, gdy Codex oznacza _meta.codex_approval_kind
jako "mcp_tool_call". Prompty Codex request_user_input są odsyłane do
źródłowego czatu, a następna zakolejkowana wiadomość uzupełniająca odpowiada na
to natywne żądanie serwera, zamiast być kierowana jako dodatkowy kontekst. Inne
żądania elicytacji MCP nadal kończą się zamknięciem z odmową.
Sterowanie kolejką aktywnego uruchomienia mapuje się na serwer aplikacji Codex
turn/steer. Przy domyślnym messages.queue.mode: "steer" OpenClaw grupuje
zakolejkowane wiadomości czatu dla skonfigurowanego okna ciszy i wysyła je jako
jedno żądanie turn/steer w kolejności nadejścia. Starszy tryb queue wysyła
osobne żądania turn/steer. Przegląd Codex i ręczne tury Compaction mogą odrzucić
sterowanie w tej samej turze; w takim przypadku OpenClaw używa kolejki
uzupełniającej, gdy wybrany tryb pozwala na fallback. Zobacz
Kolejka sterowania.
Gdy wybrany model używa uprzęży Codex, natywna Compaction wątku jest delegowana
do serwera aplikacji Codex. OpenClaw utrzymuje kopię lustrzaną transkrypcji dla
historii kanału, wyszukiwania, /new, /reset oraz przyszłego przełączania
modelu lub uprzęży. Kopia lustrzana obejmuje prompt użytkownika, końcowy tekst
asystenta oraz lekkie rekordy rozumowania lub planu Codex, gdy serwer aplikacji
je emituje. Obecnie OpenClaw zapisuje tylko sygnały rozpoczęcia i zakończenia
natywnej Compaction. Nie udostępnia jeszcze czytelnego dla człowieka podsumowania
Compaction ani audytowalnej listy wpisów, które Codex zachował po Compaction.
Ponieważ Codex posiada kanoniczny natywny wątek, tool_result_persist obecnie
nie przepisuje rekordów wyników narzędzi natywnych Codex. Ma zastosowanie tylko
wtedy, gdy OpenClaw zapisuje wynik narzędzia transkrypcji sesji należącej do
OpenClaw.
Generowanie mediów nie wymaga PI. Obrazy, wideo, muzyka, PDF, TTS i rozumienie
mediów nadal używają pasujących ustawień providera/modelu, takich jak
agents.defaults.imageGenerationModel, videoGenerationModel, pdfModel oraz
messages.tts.
Rozwiązywanie problemów
Codex nie pojawia się jako zwykły provider /model: jest to oczekiwane w
nowych konfiguracjach. Wybierz model openai/gpt-* z
agentRuntime.id: "codex" (lub starszy ref codex/*), włącz
plugins.entries.codex.enabled i sprawdź, czy plugins.allow nie wyklucza
codex.
OpenClaw używa PI zamiast Codex: agentRuntime.id: "auto" nadal może używać PI jako
zgodnościowego backendu, gdy żadna uprząż Codex nie przejmie uruchomienia. Ustaw
agentRuntime.id: "codex", aby wymusić wybór Codex podczas testowania.
Wymuszone środowisko wykonawcze Codex kończy się niepowodzeniem zamiast wracać
do PI. Po wybraniu serwera aplikacji Codex jego błędy są pokazywane bezpośrednio.
Serwer aplikacji jest odrzucany: zaktualizuj Codex, aby uzgadnianie serwera
aplikacji raportowało wersję 0.125.0 lub nowszą. Wersje przedpremierowe tej
samej wersji lub wersje z sufiksem kompilacji, takie jak 0.125.0-alpha.2 lub
0.125.0+custom, są odrzucane, ponieważ stabilny próg protokołu 0.125.0 jest
tym, co testuje OpenClaw.
Wykrywanie modeli jest wolne: obniż plugins.entries.codex.config.discovery.timeoutMs
lub wyłącz wykrywanie.
Transport WebSocket natychmiast kończy się niepowodzeniem: sprawdź appServer.url, authToken
oraz czy zdalny serwer aplikacji mówi tą samą wersją protokołu serwera aplikacji Codex.
Model inny niż Codex używa PI: jest to oczekiwane, chyba że wymuszono
agentRuntime.id: "codex" dla tego agenta albo wybrano starszy ref
codex/*. Zwykłe openai/gpt-* i inne refy providerów pozostają na swojej
normalnej ścieżce providera w trybie auto. Jeśli wymusisz
agentRuntime.id: "codex", każda osadzona tura dla tego agenta musi być modelem
OpenAI obsługiwanym przez Codex.
Computer Use jest zainstalowany, ale narzędzia się nie uruchamiają: sprawdź
/codex computer-use status w świeżej sesji. Jeśli narzędzie zgłasza
Native hook relay unavailable, użyj /new lub /reset; jeśli problem nadal występuje, uruchom ponownie
Gateway, aby wyczyścić nieaktualne rejestracje natywnych hooków. Jeśli computer-use.list_apps
przekroczy limit czasu, uruchom ponownie Codex Computer Use lub Codex Desktop i spróbuj ponownie.