Plugin guides
Codex-Harness
Das offizielle codex-Plugin führt eingebettete OpenAI-Agent-Durchläufe über den Codex
app-server statt über das integrierte OpenClaw-Harness aus. Codex verwaltet die
Low-Level-Agent-Sitzung: native Thread-Fortsetzung, native Tool-Fortsetzung,
native Compaction und app-server-Ausführung. OpenClaw verwaltet weiterhin Chat-
Kanäle, Sitzungsdateien, Modellauswahl, dynamische OpenClaw-Tools, Genehmigungen,
Medienzustellung und die sichtbare Transkriptspiegelung.
Verwenden Sie kanonische OpenAI-Modellreferenzen wie openai/gpt-5.6-sol. Konfigurieren Sie
keine veralteten Codex-GPT-Referenzen; legen Sie die OpenAI-Agent-Authentifizierungsreihenfolge unter auth.order.openai ab.
Veraltete Codex-Authentifizierungsprofil-IDs und veraltete Einträge der Codex-Authentifizierungsreihenfolge werden
durch openclaw doctor --fix repariert.
Wenn die Provider-/Modell-Laufzeitrichtlinie nicht festgelegt oder auf auto gesetzt ist, wählt allein das Präfix openai/*
niemals dieses Harness aus. OpenAI darf Codex nur für eine
exakte offizielle HTTPS-Route für Platform Responses oder ChatGPT Responses ohne
explizite Anfrageüberschreibung implizit auswählen. Siehe
Implizite OpenAI-Agent-Laufzeit.
Wenn Codex die Authentifizierung verwaltet, bevor das Routing zwischen Platform und ChatGPT feststeht, verlangt OpenClaw
weiterhin, dass jede mögliche Route Codex-Kompatibilität deklariert. Die native
Authentifizierungsverwaltung allein umgeht diese Routenprüfung niemals.
Wenn keine OpenClaw-Sandbox aktiv ist, startet OpenClaw Codex-app-server-Threads
mit aktiviertem nativen Codex-Codemodus (der ausschließliche Codemodus bleibt standardmäßig deaktiviert), sodass
native Workspace-/Code-Funktionen zusammen mit dynamischen OpenClaw-
Tools verfügbar bleiben, die über die app-server-Bridge item/tool/call weitergeleitet werden. Eine
aktive OpenClaw-Sandbox oder eingeschränkte Tool-Richtlinie deaktiviert den nativen Codemodus
vollständig, sofern Sie sich nicht explizit für den experimentellen Sandbox-exec-server-Pfad entscheiden.
Mit der Standardeinstellung tools.exec.host: "auto" und ohne aktive OpenClaw-Sandbox
erhält Codex außerdem die Tools node_exec und node_process für Befehle auf gekoppelten
Nodes. Die native Shell verbleibt auf dem Host und im Workspace des Codex-app-server
(bei der standardmäßigen stdio-Bereitstellung Gateway-lokal); node_exec wählt eine Node anhand von
Name oder ID aus und setzt die Node-Genehmigungsrichtlinie von OpenClaw weiterhin durch.
Diese native Codex-Funktion ist unabhängig vom
OpenClaw-Codemodus, einer optionalen QuickJS-WASI-Laufzeit
für generische OpenClaw-Durchläufe mit einer anderen exec-Eingabestruktur. Einen Einstieg
in die umfassendere Trennung von Modell, Provider und Laufzeit bietet
Agent-Laufzeiten: openai/gpt-5.6-sol ist die Modellreferenz,
codex ist die Laufzeit und Telegram, Discord, Slack oder ein anderer
Kanal ist die Kommunikationsoberfläche.
Anforderungen
- Das offizielle Plugin
@openclaw/codexmuss installiert sein. Nehmen Siecodexinplugins.allowauf, wenn Ihre Konfiguration eine Positivliste verwendet. - Codex-app-server
0.143.0oder neuer. Das Plugin verwaltet standardmäßig eine kompatible Binärdatei, sodass eincodex-Befehl inPATHden normalen Start nicht beeinflusst. - Codex-Authentifizierung über
openclaw models auth login --provider openai, ein bereits im Codex-Home des Agenten vorhandenes app-server-Konto oder ein explizites Codex-API-Schlüssel-Authentifizierungsprofil.
Informationen zur Authentifizierungspriorität, Umgebungsisolierung, zu benutzerdefinierten app-server-Befehlen, zur Modellerkennung und zur vollständigen Liste der Konfigurationsfelder finden Sie in der Referenz zum Codex-Harness.
Schnellstart
Installieren Sie das offizielle Plugin und melden Sie sich anschließend mit Codex OAuth an:
openclaw plugins install @openclaw/codexopenclaw models auth login --provider openaiAktivieren Sie das codex-Plugin und wählen Sie ein OpenAI-Agent-Modell aus:
{ plugins: { entries: { codex: { enabled: true, }, }, }, agents: { defaults: { model: "openai/gpt-5.6-sol", }, },}Wenn Ihre Konfiguration plugins.allow verwendet, fügen Sie dort ebenfalls codex hinzu:
{ plugins: { allow: ["codex"], entries: { codex: { enabled: true, }, }, },}Starten Sie das Gateway nach Änderungen an der Plugin-Konfiguration neu. Wenn ein Chat bereits über eine
Sitzung verfügt, führen Sie zuerst /new oder /reset aus, damit der nächste Durchlauf das Harness
anhand der aktuellen Konfiguration auflöst.
Threads mit Codex Desktop und CLI teilen
Die Standardeinstellung appServer.homeScope: "agent" isoliert jeden OpenClaw-Agenten vom
nativen Codex-Zustand des Betreibers. Damit ein Eigentümer dieselben nativen Threads prüfen und verwalten kann,
die in Codex Desktop und der Codex CLI angezeigt werden, aktivieren Sie das
Codex-Home des Benutzers:
{ plugins: { entries: { codex: { enabled: true, config: { appServer: { homeScope: "user", }, }, }, }, },}Der Benutzerverzeichnismodus unterstützt einen lokal verwalteten stdio-Prozess oder den gemeinsam genutzten Unix-Socket-
Transport. Er verwendet $CODEX_HOME, wenn es gesetzt ist, andernfalls ~/.codex, einschließlich
der nativen Codex-Authentifizierung, -Konfiguration, -Plugins und des Thread-Speichers dieses Benutzerverzeichnisses. OpenClaw
fügt diesem App-Server kein OpenClaw-Authentifizierungsprofil hinzu.
Besitzer-Turns erhalten das Tool codex_threads: native Threads auflisten, durchsuchen, lesen, forken, umbenennen,
archivieren und wiederherstellen. Forken Sie einen Thread, um ihn in
OpenClaw fortzusetzen; der Fork wird an die aktuelle OpenClaw-Sitzung angehängt und bleibt
für andere native Codex-Clients sichtbar. Für die Archivierung ist eine ausdrückliche
Bestätigung erforderlich, dass der Thread andernorts geschlossen ist. Wenn zusätzlich die Überwachung
aktiviert ist, erfordern Transkriptfelder und Änderungen die entsprechende Aktivierung von
supervision.allowRawTranscripts oder supervision.allowWriteControls.
Setzen Sie denselben Thread nicht gleichzeitig über unabhängige verwaltete stdio-App-Server fort und schreiben Sie nicht gleichzeitig in ihn. Codex koordiniert aktive Schreibvorgänge innerhalb eines App-Servers, nicht über separate Prozesse hinweg. Das Forken ist der sichere Koexistenzpfad für gewöhnliche stdio-Sitzungen im Benutzerverzeichnismodus.
appServer.homeScope: "user" allein aktiviert den Flottenkatalog nicht. Verwenden Sie
supervision.enabled: true, wenn native Sitzungen in der
OpenClaw-Seitenleiste angezeigt werden sollen. Die Überwachung verwendet eine separate Überwachungsverbindung; ohne
explizite appServer-Verbindungseinstellungen verwendet diese Verbindung standardmäßig verwaltetes
stdio im Benutzerverzeichnismodus, während der gewöhnliche Harness agentenbezogen bleibt. Explizite
appServer-Einstellungen werden von beiden Pfaden berücksichtigt. Setzen Sie homeScope: "user"
wie oben ausdrücklich, wenn der gewöhnliche Harness ebenfalls nativen Zustand gemeinsam nutzen soll.
Codex-Sitzungen überwachen
Dasselbe codex-Plugin kann nicht archivierte Codex-Sitzungen vom Gateway-
Computer und von ausdrücklich aktivierten gekoppelten Nodes auflisten. Eine gespeicherte oder inaktive Gateway-lokale Sitzung kann
einen modellgebundenen Chat erstellen, der ihren begrenzten, persistent gespeicherten Verlauf von Benutzer- und Assistentennachrichten
spiegelt. Seine private Bindung verwendet die Überwachungsverbindung für den nativen
Snapshot, den kanonischen Branch und spätere Turns, während gewöhnliche Codex-Sitzungen
agentenbezogen bleiben. Beim ersten kanonischen Start werden exakt das Modell und der Provider verwendet, die
Codex für den Snapshot-Fork zurückgibt. Bei späteren Fortsetzungen bleibt die Auswahl der nativen
Codex-Konfiguration überlassen; das äußere OpenClaw-Modell und die Fallback-Kette ersetzen
sie niemals. Gespeicherte und inaktive Zeilen können nach ausdrücklicher Bestätigung, dass kein anderer Runner aktiv ist,
archiviert werden. Aktive Quellen können keinen Branch erstellen und nicht archiviert werden; ein vorhandener
überwachter Chat kann weiterhin geöffnet werden. Sitzungen gekoppelter Nodes bleiben auf Metadaten beschränkt.
Informationen zur Einrichtung, zu Branching-Regeln, Einschränkungen gekoppelter Nodes, Metadatenoffenlegung und Fehlerbehebung finden Sie unter Codex-Sitzungen überwachen.
Konfiguration
| Bedarf | Festlegen | Ort |
|---|---|---|
| Harness aktivieren | plugins.entries.codex.enabled: true |
OpenClaw-Konfiguration |
| Nicht archivierte Codex-Sitzungen anzeigen | plugins.entries.codex.config.supervision.enabled: true |
Codex-Plugin-Konfiguration |
| Eine Plugin-Installation aus der Zulassungsliste beibehalten | codex in plugins.allow aufnehmen |
OpenClaw-Konfiguration |
| Geeigneten OpenAI-Turns die implizite Verwendung von Codex erlauben | Exakte offizielle HTTPS-Responses-/ChatGPT-Route, keine vom Autor festgelegte Anfrageüberschreibung, Runtime nicht gesetzt/auto |
OpenAI-Provider-/Modellkonfiguration |
| Mit ChatGPT/Codex OAuth anmelden | openclaw models auth login --provider openai |
CLI-Authentifizierungsprofil |
| API-Schlüssel-Backup für Codex-Ausführungen hinzufügen | openai:*-API-Schlüsselprofil, das in auth.order.openai nach der Abonnementauthentifizierung aufgeführt ist |
CLI-Authentifizierungsprofil + OpenClaw-Konfiguration |
| Bei Nichtverfügbarkeit von Codex geschlossen fehlschlagen | Provider oder Modell agentRuntime.id: "codex" |
OpenClaw-Modell-/Provider-Konfiguration |
| Direkten OpenAI-API-Datenverkehr verwenden | Provider oder Modell agentRuntime.id: "openclaw" mit normaler OpenAI-Authentifizierung |
OpenClaw-Modell-/Provider-Konfiguration |
| App-Server-Verhalten abstimmen | plugins.entries.codex.config.appServer.* |
Codex-Plugin-Konfiguration |
| Native Codex-Plugin-Apps aktivieren | plugins.entries.codex.config.codexPlugins.* |
Codex-Plugin-Konfiguration |
| Codex Computer Use aktivieren | plugins.entries.codex.config.computerUse.* |
Codex-Plugin-Konfiguration |
Bevorzugen Sie auth.order.openai für die Reihenfolge „Abonnement zuerst, API-Schlüssel als Backup“.
Vorhandene veraltete Codex-Authentifizierungsprofil-IDs und die veraltete Codex-Authentifizierungsreihenfolge sind
veralteter Zustand ausschließlich für Doctor; schreiben Sie keine neuen veralteten Codex-GPT-Referenzen.
{ auth: { order: { openai: ["openai:user@example.com", "openai:api-key-backup"], }, },}Für eine effektiv Codex-kompatible Route bleiben beide oben genannten Profile Kandidaten für dieselbe Codex-Ausführung. Die Profilreihenfolge wählt Anmeldedaten, nicht die Runtime. Eine Änderung der Authentifizierungsreihenfolge macht eine benutzerdefinierte, Completions-, HTTP- oder anfrageüberschriebene Route nicht Codex-kompatibel.
Compaction
Setzen Sie compaction.model oder compaction.provider nicht für Codex-gestützte
Agenten. Codex führt Compaction über seinen nativen App-Server-Thread-Zustand durch, daher
ignoriert OpenClaw diese lokalen Überschreibungen für den Zusammenfasser zur Laufzeit, und
openclaw doctor --fix entfernt sie, wenn der Agent Codex verwendet.
Lossless wird weiterhin als Kontext-Engine für Zusammenstellung, Aufnahme und
Wartung rund um Codex-Turns unterstützt und über
plugins.slots.contextEngine: "lossless-claw" und
plugins.entries.lossless-claw.config.summaryModel konfiguriert, nicht über
agents.defaults.compaction.provider. openclaw doctor --fix migriert die
alte Form compaction.provider: "lossless-claw" in den Lossless-
Kontext-Engine-Slot, wenn Codex die aktive Runtime ist; die Compaction verbleibt jedoch
in der Zuständigkeit des nativen Codex. Der native App-Server-Harness unterstützt Kontext-Engines,
die eine Zusammenstellung vor dem Prompt benötigen; generische CLI-Backends, einschließlich codex-cli,
stellen diese Host-Fähigkeit nicht bereit.
Bei Codex-gestützten Agenten startet /compact die native Codex-App-Server-
Compaction auf dem gebundenen Thread. OpenClaw wartet nicht auf den Abschluss,
legt kein OpenClaw-Timeout fest, startet den gemeinsam genutzten App-Server nicht neu und weicht nicht auf eine
Kontext-Engine oder einen öffentlichen OpenAI-Zusammenfasser aus. Wenn die native Codex-Thread-
Bindung fehlt oder veraltet ist, schlägt der Befehl geschlossen fehl, statt stillschweigend
das Compaction-Backend zu wechseln.
Der Rest dieser Seite behandelt die Bereitstellungsstruktur, geschlossen fehlschlagendes Routing, die Guardian- Genehmigungsrichtlinie, native Codex-Plugins und Computer Use. Vollständige Listen der Optionen, Standardwerte, Enums, Erkennung, Umgebungsisolierung, Timeouts und App-Server-Transportfelder finden Sie in der Codex-Harness-Referenz.
Codex-Runtime überprüfen
Verwenden Sie /status in dem Chat, in dem Sie Codex erwarten. Ein Codex-gestützter OpenAI-
Agenten-Turn zeigt:
Runtime: OpenAI CodexPrüfen Sie anschließend den Zustand des Codex-App-Servers:
/codex status/codex models/codex status meldet die App-Server-Konnektivität, das Konto, Ratenlimits, MCP-
Server und Skills. /codex models listet den Live-Katalog des Codex-App-Servers
für das Harness und das Konto auf. Wenn /status unerwartete Angaben enthält, lesen Sie
Fehlerbehebung.
Routing und Modellauswahl
Halten Sie Provider-Referenzen und Laufzeitrichtlinien getrennt:
- Verwenden Sie
openai/gpt-*für die kanonische OpenAI-Modellauswahl. Das Präfix allein wählt niemals Codex aus. - Wenn die Laufzeit nicht festgelegt oder auf
autogesetzt ist, darf Codex nur bei einer exakt passenden offiziellen HTTPS-Route für Platform Responses oder ChatGPT Responses ohne benutzerdefinierte Anfrageüberschreibung implizit ausgewählt werden. - Verwenden Sie keine veralteten Codex-GPT-Referenzen in der Konfiguration; führen Sie
openclaw doctor --fixaus, um veraltete Referenzen und überholte Sitzungs-Routenbindungen zu reparieren. agentRuntime.id: "codex"macht Codex zu einer Fail-Closed-Anforderung für eine kompatible Route. Dadurch wird eine inkompatible effektive Route nicht kompatibel.agentRuntime.id: "openclaw"weist einen Provider oder ein Modell der eingebetteten OpenClaw-Laufzeit zu, wenn dies beabsichtigt ist./codex ...steuert native Konversationen des Codex-App-Servers aus dem Chat.- ACP/acpx ist ein separater externer Harness-Pfad. Verwenden Sie ihn nur, wenn der Benutzer ACP/acpx oder einen externen Harness-Adapter anfordert.
| Benutzerabsicht | Verwenden |
|---|---|
| Aktuellen Chat verknüpfen | /codex bind [thread-id] [--cwd <path>] [--model <model>] [--provider <provider>] |
| Vorhandenen Codex-Thread fortsetzen | /codex resume <thread-id> |
| Codex-Threads auflisten oder filtern | /codex threads [filter] |
| Native Codex-Plugins auflisten | /codex plugins list |
| Ein konfiguriertes natives Codex-Plugin aktivieren/deaktivieren | /codex plugins enable <name>, /codex plugins disable <name> |
| Eine gespeicherte Codex-CLI-Sitzung als gekoppelten Node-Turn fortsetzen | /codex sessions --host <node> [filter], dann /codex resume <session-id> --host <node> --bind here |
| Nicht archivierte Codex-Sitzungen computerübergreifend anzeigen | Aktivieren Sie die Codex-Überwachung und öffnen Sie Codex-Sitzungen |
| Modell, Schnellmodus oder Berechtigungen des verknüpften Threads ändern | /codex model <model>, /codex fast [on|off|status], /codex permissions [default|yolo|status] |
| Aktiven Turn stoppen oder steuern | /codex stop, /codex steer <text> |
| Aktuelle Verknüpfung lösen | /codex detach (Alias /codex unbind) |
| Nur Codex-Feedback senden | /codex diagnostics [note] |
| Eine ACP/acpx-Aufgabe starten | ACP/acpx-Sitzungsbefehle, nicht /codex |
| Anwendungsfall | Konfigurieren | Überprüfen | Hinweise |
|---|---|---|---|
| Geeignete OpenAI-Route mit nativer Codex-Laufzeit | Exakt passende offizielle HTTPS-Responses-/ChatGPT-Route ohne benutzerdefinierte Anfrageüberschreibung sowie aktiviertes codex-Plugin |
/status zeigt Runtime: OpenAI Codex |
Impliziter Pfad, wenn die Laufzeit nicht festgelegt/auto ist |
| Fail-Closed, wenn Codex nicht verfügbar ist | Provider oder Modell mit agentRuntime.id: "codex" |
Der Turn schlägt statt eines eingebetteten Fallbacks fehl | Für reine Codex-Bereitstellungen verwenden |
| Direkter OpenAI-API-Schlüssel-Datenverkehr über OpenClaw | Provider oder Modell mit agentRuntime.id: "openclaw" und normaler OpenAI-Authentifizierung |
/status zeigt die OpenClaw-Laufzeit |
Nur verwenden, wenn OpenClaw beabsichtigt ist |
| Veraltete Konfiguration | veraltete Codex-GPT-Referenzen | openclaw doctor --fix schreibt sie um |
Neue Konfigurationen nicht auf diese Weise erstellen |
| ACP/acpx-Codex-Adapter | ACP sessions_spawn({ runtime: "acp" }) |
ACP-Aufgaben-/Sitzungsstatus | Vom nativen Codex-Harness getrennt |
agents.defaults.imageModel folgt derselben Präfixaufteilung. Verwenden Sie openai/gpt-*
für die normale OpenAI-Route und codex/gpt-* nur, wenn das Bildverständnis
über einen begrenzten Turn des Codex-App-Servers ausgeführt werden soll. Doctor schreibt veraltete
Codex-GPT-Referenzen in openai/gpt-* um.
Bereitstellungsmuster
Grundlegende Codex-Bereitstellung
Verwenden Sie die Schnellstartkonfiguration für ein OpenAI-Modell, dessen effektive offizielle HTTPS- Route für die implizite Auswahl von Codex geeignet ist:
{ plugins: { entries: { codex: { enabled: true, }, }, }, agents: { defaults: { model: "openai/gpt-5.6-sol", }, },}Bereitstellung mit mehreren Providern
Behalten Sie Claude als Standard-Agent bei und fügen Sie einen benannten Codex-Agent hinzu:
{ plugins: { entries: { codex: { enabled: true, }, }, }, agents: { defaults: { model: "anthropic/claude-opus-4-6", }, list: [ { id: "main", default: true, model: "anthropic/claude-opus-4-6", }, { id: "codex", name: "Codex", model: "openai/gpt-5.6-sol", }, ], },}Der Agent main verwendet seinen normalen Provider-Pfad. Der Agent codex verwendet den Codex-
App-Server, solange seine effektive OpenAI-Route kompatibel bleibt; fügen Sie explizit
modellspezifisch agentRuntime.id: "codex" hinzu, wenn dies eine Fail-Closed-
Anforderung sein soll.
Fail-Closed-Codex-Bereitstellung
Eine geeignete, exakt passende offizielle HTTPS-OpenAI-Route kann zu Codex aufgelöst werden, wenn das mitgelieferte Plugin verfügbar ist. Fügen Sie eine explizite Laufzeitrichtlinie für eine festgelegte Fail-Closed-Regel hinzu:
{ models: { providers: { openai: { agentRuntime: { id: "codex", }, }, }, }, agents: { defaults: { model: "openai/gpt-5.6-sol", }, }, plugins: { entries: { codex: { enabled: true, }, }, },}Wenn Codex erzwungen wird, schlägt OpenClaw frühzeitig fehl, falls die effektive Route nicht als Codex-kompatibel deklariert ist, das Plugin deaktiviert ist, der App-Server zu alt ist oder der App-Server nicht gestartet werden kann.
App-Server-Richtlinie
Standardmäßig startet das Plugin die von OpenClaw verwaltete Codex-Binärdatei lokal mit
stdio-Transport. Legen Sie appServer.command nur fest, um absichtlich eine
andere ausführbare Datei auszuführen. Verwenden Sie den WebSocket-Transport nur, wenn bereits an anderer Stelle
ein App-Server ausgeführt wird:
{ plugins: { entries: { codex: { enabled: true, config: { appServer: { transport: "websocket", url: "ws://gateway-host:39175", authToken: "${CODEX_APP_SERVER_TOKEN}", }, }, }, }, },}Lokale stdio-App-Server-Sitzungen verwenden standardmäßig die vertrauenswürdige lokale Operator-
Haltung: approvalPolicy: "never", approvalsReviewer: "user" und
sandbox: "danger-full-access". Wenn lokale Codex-Anforderungen diese
implizite YOLO-Haltung nicht zulassen, wählt OpenClaw stattdessen zulässige
Guardian-Berechtigungen. Wenn für die Sitzung eine OpenClaw-Sandbox aktiv ist, deaktiviert OpenClaw
für diesen Turn den nativen Codex-Code-Modus, benutzerdefinierte MCP-Server und die
app-gestützte Plugin-Ausführung, statt sich auf das hostseitige Sandboxing von Codex zu verlassen.
Der Shell-Zugriff erfolgt stattdessen über dynamische, durch die OpenClaw-Sandbox gestützte Tools wie
sandbox_exec und sandbox_process, wenn die normalen exec-/process-Tools
verfügbar sind.
Verwenden Sie den normalisierten OpenClaw-exec-Modus für die native automatische Codex-Überprüfung vor Sandbox-Ausbrüchen oder zusätzlichen Berechtigungen:
{ tools: { exec: { mode: "auto", }, }, plugins: { entries: { codex: { enabled: true, }, }, },}Für Sitzungen des Codex-App-Servers wird tools.exec.mode: "auto" auf von Codex
Guardian überprüfte Genehmigungen abgebildet: normalerweise approvalPolicy: "on-request",
approvalsReviewer: "auto_review" und sandbox: "workspace-write", wenn
die lokalen Anforderungen diese Werte zulassen. Bei tools.exec.mode: "auto"
behält OpenClaw veraltete unsichere Codex-Überschreibungen wie approvalPolicy: "never" oder
sandbox: "danger-full-access" nicht bei; verwenden Sie tools.exec.mode: "full" für
eine beabsichtigte Codex-Haltung ohne Genehmigungen. Die veraltete
Voreinstellung plugins.entries.codex.config.appServer.mode: "guardian" funktioniert weiterhin,
aber tools.exec.mode: "auto" ist die normalisierte OpenClaw-Oberfläche.
Den Vergleich auf Modusebene mit Host-exec-Genehmigungen und ACPX- Berechtigungen finden Sie unter Berechtigungsmodi. Informationen zu allen App-Server-Feldern, zur Authentifizierungsreihenfolge, Umgebungsisolierung und zum Timeout-Verhalten finden Sie in der Codex-Harness-Referenz.
Befehle und Diagnose
Das codex-Plugin registriert /codex als Slash-Befehl auf jedem Kanal, der
OpenClaw-Textbefehle unterstützt.
Native Ausführung und Steuerung erfordern einen Eigentümer oder einen operator.admin-
Gateway-Client: Threads verknüpfen oder fortsetzen, Turns senden oder stoppen,
Modell, Schnellmodus oder Berechtigungsstatus ändern, Compaction oder Überprüfung durchführen und
eine Verknüpfung lösen. Andere autorisierte Absender behalten schreibgeschützte Befehle zur
Status-, Hilfe-, Konto-, Modell-, Thread-, MCP-Server-, Skills- und
Verknüpfungsprüfung.
Gängige Formen:
/codex statusprüft App-Server-Konnektivität, Modelle, Konto, Ratenlimits, MCP-Server und Skills./codex modelslistet Live-Modelle des Codex-App-Servers auf./codex threads [filter]listet aktuelle Threads des Codex-App-Servers auf./codex resume <thread-id>verknüpft die aktuelle OpenClaw-Sitzung mit einem vorhandenen Codex-Thread./codex bind [thread-id] [--cwd <path>] [--model <model>] [--provider <provider>]verknüpft den aktuellen Chat./codex detach(oder/codex unbind) löst die aktuelle Verknüpfung./codex bindingbeschreibt die aktuelle Verknüpfung./codex stopstoppt den aktiven Turn;/codex steer <text>steuert ihn./codex model <model>,/codex fast [on|off|status]und/codex permissions [default|yolo|status]ändern den Zustand pro Konversation./codex compactfordert den Codex-App-Server auf, Compaction für den verknüpften Thread durchzuführen./codex reviewstartet die native Codex-Überprüfung für den verknüpften Thread./codex diagnostics [note]fragt vor dem Senden von Codex-Feedback zum verknüpften Thread nach./codex accountzeigt den Konto- und Ratenlimitstatus an./codex mcplistet den Status der MCP-Server des Codex-App-Servers auf./codex skillslistet die Skills des Codex-App-Servers auf./codex plugins list,/codex plugins enable <name>und/codex plugins disable <name>verwalten konfigurierte native Codex-Plugins./codex computer-use [status|install]verwaltet Codex Computer Use./codex helplistet den vollständigen Befehlsbaum auf.
Bei den meisten Supportmeldungen beginnen Sie mit /diagnostics [note] in der
Unterhaltung, in der der Fehler aufgetreten ist. Dadurch wird ein Gateway-Diagnosebericht
erstellt und bei Codex-Harness-Sitzungen um Genehmigung zum Senden des
relevanten Codex-Feedbackpakets gebeten. Weitere Informationen zum Datenschutzmodell und
Verhalten in Gruppenchats finden Sie unter
Diagnoseexport. Verwenden Sie /codex diagnostics [note] nur, wenn Sie ausdrücklich
den Codex-Feedback-Upload für den aktuell angehängten Thread ohne
das vollständige Gateway-Diagnosepaket wünschen.
Codex-Threads lokal untersuchen
Die schnellste Möglichkeit, einen fehlerhaften Codex-Lauf zu untersuchen, besteht häufig darin, den nativen Codex-Thread direkt zu öffnen:
codex resume <thread-id>Die Thread-ID finden Sie in der abgeschlossenen Antwort von /diagnostics, unter /codex binding
oder mit /codex threads [filter].
Informationen zu Upload-Mechanismen und Diagnosegrenzen auf Laufzeitebene finden Sie unter Codex-Harness-Laufzeit.
Authentifizierungsreihenfolge
Im standardmäßigen agentenspezifischen Home-Verzeichnis wird die Authentifizierung in dieser Reihenfolge ausgewählt:
- Geordnete OpenAI-Authentifizierungsprofile für den Agenten, vorzugsweise unter
auth.order.openai. Führen Sieopenclaw doctor --fixaus, um ältere Codex-Authentifizierungsprofil-IDs und die ältere Codex-Authentifizierungsreihenfolge zu migrieren. - Das vorhandene Konto des App-Servers im Codex-Home-Verzeichnis dieses Agenten.
- Nur für lokale App-Server-Starts über stdio:
CODEX_API_KEY, anschließendOPENAI_API_KEY, wenn kein App-Server-Konto vorhanden ist und weiterhin eine OpenAI-Authentifizierung erforderlich ist.
Wenn OpenClaw ein Codex-Authentifizierungsprofil im Stil eines ChatGPT-Abonnements erkennt,
entfernt es CODEX_API_KEY und OPENAI_API_KEY aus dem gestarteten
Codex-Kindprozess. Dadurch bleiben API-Schlüssel auf Gateway-Ebene für Embeddings oder
direkte OpenAI-Modelle verfügbar, ohne dass native Codex-App-Server-Aufrufe
versehentlich über die API abgerechnet werden. Explizite Codex-API-Schlüsselprofile und der lokale
stdio-Fallback auf Umgebungsschlüssel verwenden die App-Server-Anmeldung statt geerbter
Umgebungsvariablen des Kindprozesses. WebSocket-App-Server-Verbindungen erhalten keinen
Fallback auf API-Schlüssel aus der Gateway-Umgebung; verwenden Sie ein explizites Authentifizierungsprofil oder
das eigene Konto des entfernten App-Servers.
Wenn ein Abonnementprofil ein Codex-Nutzungslimit erreicht, zeichnet OpenClaw den
Zurücksetzungszeitpunkt auf, sofern Codex einen meldet, und versucht für denselben Codex-Lauf
das nächste geordnete Authentifizierungsprofil. Nach Ablauf des Zurücksetzungszeitpunkts
ist das Abonnementprofil wieder verwendbar, ohne dass das ausgewählte Modell openai/gpt-*
oder die Codex-Laufzeit geändert wird.
Wenn native Codex-Plugins konfiguriert sind, installiert oder aktualisiert OpenClaw
diese Plugins über den verbundenen App-Server, bevor Plugin-eigene
Apps für den Codex-Thread verfügbar gemacht werden. app/list bleibt die maßgebliche Quelle für
App-IDs, Zugänglichkeit und Metadaten, aber OpenClaw entscheidet über die
Aktivierung pro Thread: Wenn die Richtlinie eine aufgeführte zugängliche App zulässt, sendet OpenClaw
thread/start.config.apps[appId].enabled = true, auch wenn app/list
diese App derzeit als deaktiviert meldet. Dieser Pfad nimmt keine App-
Installation für unbekannte IDs vor; OpenClaw aktiviert nur Marketplace-Plugins
mit plugin/install und aktualisiert anschließend den Bestand.
Umgebungsisolation
Bei lokalen App-Server-Starts über stdio setzt OpenClaw CODEX_HOME auf ein
agentenspezifisches Verzeichnis, damit Codex-Konfiguration, Authentifizierungs-/Kontodateien, Plugin-Cache/-Daten
und nativer Thread-Status standardmäßig nicht das persönliche
~/.codex des Betreibers lesen oder beschreiben. OpenClaw behält das normale Prozess-HOME bei;
von Codex ausgeführte Unterprozesse können weiterhin Konfiguration und Tokens im Benutzer-Home-Verzeichnis finden, und
Codex kann gemeinsam genutzte Einträge unter $HOME/.agents/skills und
$HOME/.agents/plugins/marketplace.json erkennen. Mit
appServer.homeScope: "user" verwendet OpenClaw stattdessen das native Codex-Home-Verzeichnis
des Benutzers und dessen vorhandenes Konto, ohne ein OpenClaw-Authentifizierungsprofil einzufügen.
Wenn eine Bereitstellung zusätzliche Umgebungsisolation benötigt, fügen Sie diese
Variablen zu appServer.clearEnv hinzu:
{ plugins: { entries: { codex: { enabled: true, config: { appServer: { clearEnv: ["CODEX_API_KEY", "OPENAI_API_KEY"], }, }, }, }, },}appServer.clearEnv wirkt sich nur auf den gestarteten Codex-App-Server-Kindprozess
aus. OpenClaw entfernt CODEX_HOME und HOME während der
lokalen Startnormalisierung aus dieser Liste: CODEX_HOME verweist weiterhin auf den ausgewählten
Agenten- oder Benutzerbereich, und HOME bleibt geerbt, damit Unterprozesse den
normalen Status im Benutzer-Home-Verzeichnis verwenden können.
Dynamische Tools und Websuche
Dynamische Codex-Tools verwenden standardmäßig den Lademodus searchable. OpenClaw stellt keine
dynamischen Tools bereit, die native Codex-Arbeitsbereichsoperationen duplizieren:
read, write, edit, apply_patch, exec, process, update_plan,
tool_call, tool_describe, tool_search und tool_search_code. Die meisten
übrigen OpenClaw-Integrationstools, etwa für Messaging, Medien, Cron,
Browser, Nodes, Gateway und heartbeat_respond, sind über
die Codex-Tool-Suche im Namespace openclaw verfügbar, wodurch der anfängliche
Modellkontext kleiner bleibt.
Mit catalogMode: "direct-only" gekennzeichnete Tools, einschließlich des OpenClaw-Tools computer,
verwenden stattdessen den Namespace openclaw_direct. Codex behandelt diesen Namespace
als DirectModelOnly, sodass diese Tools in normalen und ausschließlich im
Code-Modus ausgeführten Threads direkt für das Modell sichtbar bleiben, statt verschachtelte Code-Mode-Aufrufe von tools.* zu durchlaufen.
Die Websuche verwendet standardmäßig das von Codex gehostete Tool web_search, wenn die Suche
aktiviert und kein verwalteter Provider ausgewählt ist. Die native gehostete Suche und
das verwaltete dynamische OpenClaw-Tool web_search schließen sich gegenseitig aus, damit
die verwaltete Suche native Domainbeschränkungen nicht umgehen kann. OpenClaw verwendet das
verwaltete Tool, wenn die gehostete Suche nicht verfügbar, ausdrücklich deaktiviert oder
durch einen ausgewählten verwalteten Provider ersetzt wurde. OpenClaw lässt die eigenständige
Codex-Erweiterung web.run deaktiviert, da produktiver App-Server-Datenverkehr
deren benutzerdefinierten Namespace web ablehnt. tools.web.search.enabled: false
deaktiviert beide Pfade; Gleiches gilt für Tool-deaktivierte reine LLM-Läufe. Codex behandelt
"cached" als Präferenz und löst sie für uneingeschränkte App-Server-Aufrufe in
direkten externen Zugriff auf. Der automatische verwaltete Fallback schlägt geschlossen fehl, wenn
native allowedDomains festgelegt sind, damit die Zulassungsliste nicht umgangen werden kann.
Dauerhafte Änderungen der effektiven Suchrichtlinie wechseln vor dem nächsten Aufruf den gebundenen
Codex-Thread; vorübergehende Einschränkungen pro Aufruf verwenden einen temporären
eingeschränkten Thread und behalten die bestehende Bindung für eine spätere Fortsetzung bei.
sessions_yield und ausschließlich auf Nachrichten-Tools basierende Quellantworten bleiben direkt, da
dies Verträge zur Aufrufsteuerung sind. sessions_spawn bleibt durchsuchbar, sodass
das native Codex-spawn_agent weiterhin die primäre Codex-Subagenten-Schnittstelle darstellt,
während explizite OpenClaw- oder ACP-Delegierung weiterhin über den
dynamischen Tool-Namespace openclaw verfügbar ist. Heartbeat-Anweisungen zur Zusammenarbeit
weisen Codex an, vor dem Beenden eines Heartbeat-Aufrufs nach heartbeat_respond zu suchen,
wenn das Tool noch nicht geladen ist.
Legen Sie codexDynamicToolsLoading: "direct" nur fest, wenn Sie eine Verbindung zu einem benutzerdefinierten
Codex-App-Server herstellen, der zurückgestellte dynamische Tools nicht durchsuchen kann, oder wenn Sie
die vollständige Tool-Nutzlast debuggen.
Konfigurationsfelder
Unterstützte Codex-Plugin-Felder auf oberster Ebene:
| Feld | Standardwert | Bedeutung |
|---|---|---|
codexDynamicToolsLoading |
"searchable" |
Verwenden Sie "direct", um dynamische OpenClaw-Tools direkt in den anfänglichen Codex-Tool-Kontext einzufügen. |
codexDynamicToolsExclude |
[] |
Zusätzliche Namen dynamischer OpenClaw-Tools, die bei Codex-App-Server-Aufrufen ausgelassen werden sollen. |
codexPlugins |
deaktiviert | Native Codex-Plugin-/App-Unterstützung für migrierte, aus dem Quellcode installierte kuratierte Plugins. |
supervision |
deaktiviert | Katalog nicht archivierter nativer Sitzungen, Fortsetzung lokaler Branches und Richtlinie für Agenten-Tools. |
Unterstützte appServer-Felder:
| Feld | Standardwert | Bedeutung |
|---|---|---|
transport |
"stdio" |
"stdio" startet Codex; ein explizites "unix" stellt eine Verbindung zum lokalen Steuerungssocket her; "websocket" stellt eine Verbindung zu url her. |
homeScope |
"agent" |
"agent" isoliert den regulären Harness-Zustand pro OpenClaw-Agent. "user" ist eine explizite Opt-in-Einstellung, die das native $CODEX_HOME oder ~/.codex gemeinsam nutzt, native Authentifizierung verwendet und die ausschließlich dem Eigentümer vorbehaltene Thread-Verwaltung aktiviert. Der Benutzerbereich unterstützt lokales stdio oder Unix als Transport. Für die separate Überwachungsverbindung wird ein nicht gesetzter Wert bei stdio oder Unix als "user" und bei WebSocket als "agent" aufgelöst. |
command |
verwaltete Codex-Binärdatei | Ausführbare Datei für den stdio-Transport. Lassen Sie den Wert ungesetzt, um die verwaltete Binärdatei zu verwenden; legen Sie ihn nur für eine explizite Überschreibung fest. |
args |
["app-server", "--listen", "stdio://"] |
Argumente für den stdio-Transport. |
url |
nicht gesetzt | WebSocket-App-Server-URL oder unix://-URL. Ein explizit leerer Unix-Pfad wählt den kanonischen Steuerungssocket im Benutzerverzeichnis aus. |
authToken |
nicht gesetzt | Bearer-Token für den WebSocket-Transport. Akzeptiert eine Literalzeichenfolge oder SecretInput wie ${CODEX_APP_SERVER_TOKEN}. |
headers |
{} |
Zusätzliche WebSocket-Header. Headerwerte akzeptieren Literalzeichenfolgen oder SecretInput-Werte, zum Beispiel x-codex-client-session-token: "${CODEX_CLIENT_SESSION_TOKEN}". |
clearEnv |
[] |
Zusätzliche Namen von Umgebungsvariablen, die aus dem gestarteten stdio-App-Server-Prozess entfernt werden, nachdem OpenClaw dessen geerbte Umgebung erstellt hat. OpenClaw behält das ausgewählte CODEX_HOME und das geerbte HOME für lokale Starts bei. |
codeModeOnly |
false |
Aktiviert ausschließlich die Code-Modus-Tool-Oberfläche von Codex. Reguläre dynamische OpenClaw-Tools bleiben über verschachtelte tools.*-Aufrufe verfügbar; openclaw_direct-Tools bleiben für das Modell direkt sichtbar. |
remoteWorkspaceRoot |
nicht gesetzt | Stammverzeichnis des entfernten Codex-App-Server-Arbeitsbereichs. Wenn es festgelegt ist, leitet OpenClaw das lokale Arbeitsbereich-Stammverzeichnis aus dem aufgelösten OpenClaw-Arbeitsbereich ab, behält das aktuelle cwd-Suffix unter diesem entfernten Stammverzeichnis bei und sendet nur das endgültige App-Server-cwd an Codex. Wenn sich das cwd außerhalb des aufgelösten OpenClaw-Arbeitsbereich-Stammverzeichnisses befindet, verweigert OpenClaw den Vorgang, statt einen Gateway-lokalen Pfad an den entfernten App-Server zu senden. |
requestTimeoutMs |
60000 |
Zeitüberschreitung für Aufrufe der App-Server-Steuerungsebene. |
turnCompletionIdleTimeoutMs |
60000 |
Ruhefenster, nachdem Codex einen Turn akzeptiert hat oder nach einer Turn-bezogenen App-Server-Anfrage, während OpenClaw auf turn/completed wartet. |
postToolRawAssistantCompletionIdleTimeoutMs |
300000 |
Abschlussleerlauf- und Fortschrittsüberwachung, die nach einer Tool-Übergabe, dem Abschluss eines nativen Tools, dem Rohfortschritt des Assistenten nach einem Tool, dem Abschluss der Rohschlussfolgerung oder dem Schlussfolgerungsfortschritt verwendet wird, während OpenClaw auf turn/completed wartet. Verwenden Sie dies für vertrauenswürdige oder rechenintensive Arbeitslasten, bei denen die Synthese nach einem Tool berechtigterweise länger still bleiben kann als das Freigabebudget der endgültigen Assistentenantwort. |
mode |
"yolo", sofern lokale Codex-Anforderungen YOLO nicht ausschließen |
Voreinstellung für YOLO oder eine vom Guardian überprüfte Ausführung. Lokale stdio-Anforderungen, die danger-full-access, die Genehmigung never oder den Reviewer user nicht enthalten, machen Guardian zum impliziten Standard. |
approvalPolicy |
"never" oder eine zulässige Guardian-Genehmigungsrichtlinie |
Native Codex-Genehmigungsrichtlinie, die beim Starten/Fortsetzen eines Threads und bei einem Turn gesendet wird. Guardian-Standardeinstellungen bevorzugen "on-request", sofern zulässig. |
sandbox |
"danger-full-access" oder eine zulässige Guardian-Sandbox |
Nativer Codex-Sandbox-Modus, der beim Starten/Fortsetzen eines Threads gesendet wird. Guardian-Standardeinstellungen bevorzugen "workspace-write", sofern zulässig, andernfalls "read-only". Wenn eine OpenClaw-Sandbox aktiv ist, verwenden Turns mit danger-full-access Codex workspace-write, wobei der Netzwerkzugriff aus der Egress-Einstellung der OpenClaw-Sandbox abgeleitet wird. |
approvalsReviewer |
"user" oder ein zulässiger Guardian-Reviewer |
Verwenden Sie "auto_review", damit Codex native Genehmigungsanfragen überprüft, sofern dies zulässig ist, andernfalls guardian_subagent oder user. guardian_subagent bleibt ein veralteter Alias. |
serviceTier |
nicht gesetzt | Optionale Dienststufe des Codex-App-Servers. "priority" aktiviert das Fast-Mode-Routing, "flex" fordert die Flex-Verarbeitung an, null entfernt die Überschreibung und das veraltete "fast" wird als "priority" akzeptiert. |
networkProxy |
deaktiviert | Aktiviert die Vernetzung über das Codex-Berechtigungsprofil für App-Server-Befehle. OpenClaw definiert die ausgewählte Konfiguration permissions.<profile>.network und wählt sie mit default_permissions aus, statt sandbox zu senden. |
experimental.sandboxExecServer |
false |
Vorschau-Opt-in, das eine durch die OpenClaw-Sandbox gestützte Codex-Umgebung beim unterstützten Codex-App-Server registriert, damit die native Codex-Ausführung innerhalb der aktiven OpenClaw-Sandbox erfolgen kann. |
appServer.networkProxy ist explizit, da es den Sandbox-Vertrag von Codex
ändert. Wenn die Option aktiviert ist, legt OpenClaw außerdem features.network_proxy.enabled
und default_permissions in der Codex-Thread-Konfiguration fest, damit das generierte
Berechtigungsprofil die von Codex verwaltete Vernetzung starten kann. Standardmäßig generiert OpenClaw
aus dem Profilinhalt einen kollisionsresistenten Profilnamen
openclaw-network-<fingerprint>; verwenden Sie profileName nur, wenn ein stabiler lokaler Name
erforderlich ist.
{ plugins: { entries: { codex: { config: { appServer: { sandbox: "workspace-write", networkProxy: { enabled: true, domains: { "api.openai.com": "allow", "blocked.example.com": "deny", }, unixSockets: { "/tmp/proxy.sock": "allow", "/tmp/blocked.sock": "none", }, allowUpstreamProxy: true, proxyUrl: "http://127.0.0.1:3128", }, }, }, }, }, },}Wenn die normale App-Server-Runtime danger-full-access wäre, verwendet die Aktivierung von
networkProxy für das generierte Berechtigungsprofil einen Dateisystemzugriff
nach Workspace-Art: Die von Codex verwaltete Netzwerkdurchsetzung besteht aus
sandboxgeschütztem Networking, sodass ein Vollzugriffsprofil ausgehenden Datenverkehr
nicht schützen würde. Domaineinträge verwenden allow oder deny; Einträge für
Unix-Sockets verwenden die Codex-Werte allow oder none.
Dynamische Zeitüberschreitungen für Tool-Aufrufe
OpenClaw-eigene dynamische Tool-Aufrufe werden unabhängig von
appServer.requestTimeoutMs begrenzt: Codex-Anfragen vom Typ item/tool/call
verwenden standardmäßig einen OpenClaw-Watchdog von 90 Sekunden. Ein positives
Argument timeoutMs pro Aufruf verlängert oder verkürzt das Budget dieses
spezifischen Tools, begrenzt auf 600000 ms. Das Tool image_generate verwendet
agents.defaults.imageGenerationModel.timeoutMs, wenn der Tool-Aufruf keine eigene
Zeitüberschreitung angibt, andernfalls gilt ein Standardwert von 120 Sekunden für
die Bilderzeugung. Das Tool image zur Medienanalyse verwendet
tools.media.image.timeoutSeconds oder seinen Medienstandardwert von 60 Sekunden;
bei der Bildanalyse gilt diese Zeitüberschreitung für die Anfrage selbst und wird
nicht durch vorherige Vorbereitungsarbeiten verkürzt. Bei einer Zeitüberschreitung
bricht OpenClaw das Tool-Signal ab, sofern dies unterstützt wird, und gibt eine
fehlgeschlagene Antwort des dynamischen Tools an Codex zurück, damit der Turn
fortgesetzt werden kann, statt die Sitzung im Zustand processing zu belassen.
Dieser Watchdog ist das äußere Budget für dynamische item/tool/call-Aufrufe;
Provider-spezifische Anfragezeitüberschreitungen laufen innerhalb dieses Aufrufs
und behalten ihre eigene Zeitüberschreitungssemantik bei.
Nachdem Codex einen Turn akzeptiert hat und nachdem OpenClaw auf eine auf den Turn
bezogene App-Server-Anfrage geantwortet hat, erwartet das Harness, dass Codex im
aktuellen Turn Fortschritte macht und den nativen Turn schließlich mit
turn/completed beendet. Wenn der App-Server für
appServer.turnCompletionIdleTimeoutMs inaktiv bleibt, unterbricht OpenClaw den
Codex-Turn nach bestem Bemühen, zeichnet eine diagnostische Zeitüberschreitung auf
und gibt die OpenClaw-Sitzungsspur frei, damit nachfolgende Chatnachrichten nicht
hinter einem veralteten nativen Turn in die Warteschlange gestellt werden. Die
meisten nicht terminalen Benachrichtigungen für denselben Turn deaktivieren diesen
kurzen Watchdog, da Codex nachgewiesen hat, dass der Turn noch aktiv ist.
Tool-Übergaben verwenden ein längeres Inaktivitätsbudget nach dem Tool: nachdem
OpenClaw eine item/tool/call-Antwort zurückgibt, nachdem native Tool-Elemente wie
commandExecution abgeschlossen sind, nach Abschlüssen von
custom_tool_call_output im Rohformat sowie nach nachgelagertem rohem
Assistentenfortschritt, Abschlüssen roher Schlussfolgerungen oder
Schlussfolgerungsfortschritt. Die Schutzlogik verwendet
appServer.postToolRawAssistantCompletionIdleTimeoutMs, wenn dieser Wert
konfiguriert ist, und andernfalls standardmäßig fünf Minuten; dasselbe Budget
verlängert außerdem den Fortschritts-Watchdog für das stille Synthesefenster,
bevor Codex das nächste Ereignis des aktuellen Turns ausgibt. Globale
App-Server-Benachrichtigungen wie Aktualisierungen zu Ratenbegrenzungen setzen den
Inaktivitätsfortschritt des Turns nicht zurück. Abschlüsse von Schlussfolgerungen,
Abschlüsse von agentMessage im Kommentarbereich sowie vor dem Tool auftretende
rohe Schlussfolgerungs- oder Assistentenfortschritte können von einer
automatischen endgültigen Antwort gefolgt werden. Daher verwenden sie die
Antwortschutzlogik nach einem Fortschritt, statt die Sitzungsspur sofort
freizugeben.
Nur abgeschlossene endgültige/nicht kommentierende agentMessage-Elemente und
vor einem Tool abgeschlossene rohe Assistentenausgaben aktivieren die Freigabe
nach Assistentenausgabe: Wenn Codex anschließend ohne turn/completed inaktiv
bleibt, unterbricht OpenClaw den nativen Turn nach bestem Bemühen und gibt die
Sitzungsspur frei. Wenn eine andere Turn-Überwachung dieses Freigaberennen gewinnt,
akzeptiert OpenClaw das abgeschlossene endgültige Assistentenelement dennoch,
sobald keine native Anfrage, kein Element und kein Abschluss eines dynamischen
Tools mehr aktiv ist, die Freigabe nach Assistentenausgabe weiterhin zum zuletzt
abgeschlossenen Element gehört und kein späterer Elementabschluss vorliegt. So
kann die endgültige Antwort nach abgeschlossener Tool-Arbeit erhalten bleiben,
ohne den Turn erneut abzuspielen. Teilweise Assistenten-Deltas, veraltete frühere
Antworten und leere spätere Abschlüsse erfüllen die Voraussetzungen nicht.
Wiederholungssichere Fehler des stdio-App-Servers, einschließlich Inaktivitätszeitüberschreitungen beim Turn-Abschluss ohne Hinweise auf Assistentenaktivität, Tools, aktive Elemente oder Nebeneffekte, werden einmal mit einem neuen App-Server-Versuch wiederholt. Unsichere Zeitüberschreitungen mustern den festgefahrenen App-Server-Client dennoch aus und geben die OpenClaw-Sitzungsspur frei; außerdem löschen sie die veraltete Bindung des nativen Threads, statt automatisch wiederholt zu werden. Zeitüberschreitungen der Abschlussüberwachung zeigen Codex-spezifischen Zeitüberschreitungstext an: In wiederholungssicheren Fällen wird darauf hingewiesen, dass die Antwort möglicherweise unvollständig ist, während unsichere Fälle den Benutzer auffordern, vor einem erneuten Versuch den aktuellen Zustand zu überprüfen. Öffentliche Zeitüberschreitungsdiagnosen enthalten strukturelle Felder wie die Methode der letzten App-Server-Benachrichtigung, ID/Typ/Rolle des rohen Assistentenantwortelements, die Anzahl aktiver Anfragen und Elemente sowie den Zustand der aktivierten Überwachung. Wenn die letzte Benachrichtigung ein rohes Assistentenantwortelement ist, enthalten sie außerdem eine begrenzte Vorschau des Assistententexts. Rohe Prompt- oder Tool-Inhalte sind nicht enthalten.
Lokale Umgebungsüberschreibungen für Tests
OPENCLAW_CODEX_APP_SERVER_BINumgeht die verwaltete Binärdatei, wennappServer.commandnicht festgelegt ist.OPENCLAW_CODEX_APP_SERVER_ARGSOPENCLAW_CODEX_APP_SERVER_MODE=yolo|guardianOPENCLAW_CODEX_APP_SERVER_APPROVAL_POLICYOPENCLAW_CODEX_APP_SERVER_SANDBOX
OPENCLAW_CODEX_APP_SERVER_GUARDIAN=1 wurde entfernt. Verwenden Sie stattdessen
plugins.entries.codex.config.appServer.mode: "guardian" oder
OPENCLAW_CODEX_APP_SERVER_MODE=guardian für einmalige lokale Tests. Für
wiederholbare Bereitstellungen wird die Konfiguration bevorzugt, da sie das
Plugin-Verhalten in derselben geprüften Datei wie die übrige Einrichtung des
Codex-Harness hält.
Native Codex-Plugins
Die native Unterstützung für Codex-Plugins verwendet die eigenen App- und
Plugin-Funktionen des Codex-App-Servers im selben Codex-Thread wie der
OpenClaw-Harness-Turn. OpenClaw übersetzt Codex-Plugins nicht in synthetische
dynamische OpenClaw-Tools vom Typ codex_plugin_*.
codexPlugins betrifft nur Sitzungen, die das native Codex-Harness auswählen.
Es hat keine Auswirkungen auf Ausführungen mit dem integrierten Harness, normale
Ausführungen mit dem OpenAI-Provider, ACP-Konversationsbindungen oder andere
Harnesses.
Minimale migrierte Konfiguration:
{ plugins: { entries: { codex: { enabled: true, config: { codexPlugins: { enabled: true, allow_destructive_actions: true, plugins: { "google-calendar": { enabled: true, marketplaceName: "openai-curated", pluginName: "google-calendar", }, }, }, }, }, }, },}Die Thread-App-Konfiguration wird berechnet, wenn OpenClaw eine
Codex-Harness-Sitzung einrichtet oder eine veraltete Codex-Thread-Bindung ersetzt;
sie wird nicht bei jedem Turn neu berechnet. Verwenden Sie nach einer Änderung von
codexPlugins /new, /reset oder starten Sie das Gateway neu, damit künftige
Codex-Harness-Sitzungen mit dem aktualisierten App-Satz beginnen.
Informationen zur Migrationseignung, zum App-Inventar, zu Richtlinien für destruktive Aktionen, zu Abfragen und zur Diagnose nativer Plugins finden Sie unter Native Codex-Plugins.
Der app- und pluginseitige Zugriff bei OpenAI wird durch das angemeldete Codex-Konto und bei Business- und Enterprise/Edu-Workspaces durch die App-Steuerung des Workspaces kontrolliert. Unter Codex mit Ihrem ChatGPT-Tarif verwenden finden Sie eine Übersicht von OpenAI zu Konto- und Workspace-Steuerungen.
Computernutzung
Für die Computernutzung gibt es eine eigene Einrichtungsanleitung: Codex-Computernutzung.
Kurzfassung: OpenClaw bündelt die App zur Desktop-Steuerung nicht und führt
Desktop-Aktionen nicht selbst aus. Es bereitet den Codex-App-Server vor, überprüft,
ob der MCP-Server computer-use verfügbar ist, und überlässt Codex anschließend
die nativen MCP-Tool-Aufrufe während Turns im Codex-Modus.
Runtime-Grenzen
Das Codex-Harness ändert nur den eingebetteten Agent-Ausführer auf niedriger Ebene.
- Dynamische OpenClaw-Tools werden unterstützt. Codex fordert OpenClaw zur Ausführung dieser Tools auf, sodass OpenClaw Teil des Ausführungspfads bleibt.
- Codex-native Shell-, Patch-, MCP- und native App-Tools gehören zu Codex. OpenClaw kann ausgewählte native Ereignisse über das unterstützte Relay beobachten oder blockieren, schreibt die Argumente nativer Tools jedoch nicht um.
- Codex ist für native Compaction zuständig. OpenClaw führt eine
Transkriptspiegelung für den Kanalverlauf, die Suche,
/new,/resetund künftige Modell- oder Harness-Wechsel, ersetzt die Codex-Compaction jedoch nicht durch einen OpenClaw- oder Kontext-Engine-Zusammenfasser. - Medienerzeugung, Medienanalyse, TTS, Genehmigungen und Ausgaben von Messaging-Tools laufen weiterhin über die entsprechenden OpenClaw-Provider-/Modelleinstellungen.
tool_result_persistgilt für OpenClaw-eigene Tool-Ergebnisse im Transkript, nicht für Codex-native Tool-Ergebnisdatensätze.
Informationen zu Hook-Ebenen, unterstützten V1-Oberflächen, der Verarbeitung nativer Berechtigungen, Warteschlangensteuerung, den Mechanismen zum Hochladen von Codex-Feedback und Details zur Compaction finden Sie unter Codex-Harness-Runtime.
Fehlerbehebung
Codex erscheint nicht als normaler /model-Provider: Dies ist bei neuen
Konfigurationen zu erwarten. Wählen Sie ein Modell vom Typ openai/gpt-*,
aktivieren Sie plugins.entries.codex.enabled und prüfen Sie, ob plugins.allow
codex ausschließt.
OpenClaw verwendet statt Codex das integrierte Harness: Stellen Sie sicher,
dass die effektive Route exakt eine offizielle HTTPS-Route für Platform Responses
oder ChatGPT Responses ist, keine selbst definierte Anfrageüberschreibung enthält
und das Codex-Plugin installiert und aktiviert ist. Das Präfix openai/gpt-*
allein reicht nicht aus. Legen Sie für einen strikten Nachweis während des Testens
beim Provider oder Modell agentRuntime.id: "codex" fest; erzwungenes Codex
schlägt fehl, statt auf einen Fallback zurückzugreifen, wenn Route oder Harness
inkompatibel sind.
Die OpenAI-Codex-Runtime fällt auf den API-Schlüsselpfad zurück: Erfassen Sie einen geschwärzten Gateway-Auszug, der Modell, Runtime, ausgewählten Provider und Fehler zeigt. Bitten Sie betroffene Mitwirkende, diesen schreibgeschützten Befehl auf ihrem OpenClaw-Host auszuführen:
( pattern='openai/gpt-5\.[45]|openai[-]codex|agentRuntime(\.id)?|harnessRuntime|Runtime: OpenAI Codex|legacy OpenAI Codex prefix|resolveSelectedOpenAIRuntimeProvider|candidateProvider[": ]+openai|status[": ]+401|Incorrect API key|No API key|api-key path|API-key path|OAuth' if ls /tmp/openclaw/openclaw-*.log >/dev/null 2>&1; then grep -E -i -n "$pattern" /tmp/openclaw/openclaw-*.log 2>/dev/null || true else journalctl --user -u openclaw-gateway --since today --no-pager 2>/dev/null \ | grep -E -i "$pattern" || true fi) | sed -E \ -e 's/(Authorization: Bearer )[A-Za-z0-9._~+\/-]+/\1[REDACTED]/Ig' \ -e 's/(Bearer )[A-Za-z0-9._~+\/-]+/\1[REDACTED]/Ig' \ -e 's/(api[_ -]?key[=: ]+)[^ ,}"]+/\1[REDACTED]/Ig' \ -e 's/(OPENAI_API_KEY[=: ]+)[^ ,}"]+/\1[REDACTED]/Ig' \ -e 's/sk-[A-Za-z0-9_-]{12,}/sk-[REDACTED]/g' \ -e 's/[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}/[EMAIL-REDACTED]/g' \ | tail -200Nützliche Auszüge enthalten üblicherweise openai/gpt-5.6-sol oder
openai/gpt-5.6-luna, Runtime: OpenAI Codex, agentRuntime.id oder
harnessRuntime, candidateProvider: "openai" sowie ein Ergebnis vom Typ 401,
Incorrect API key oder No API key. Eine korrigierte Ausführung sollte den
OpenAI-OAuth-Pfad statt eines einfachen Fehlers mit dem OpenAI-API-Schlüssel zeigen.
Konfiguration mit veralteten Codex-Modellreferenzen ist noch vorhanden:
Führen Sie openclaw doctor --fix aus. Doctor schreibt veraltete
Modellreferenzen in openai/* um, entfernt veraltete Runtime-Festlegungen für
Sitzungen und den gesamten Agent und behält bestehende Überschreibungen von
Authentifizierungsprofilen bei.
Der App-Server wird abgelehnt: Verwenden Sie Codex-App-Server 0.143.0 oder
neuer. Vorabversionen derselben Version oder Versionen mit Build-Suffix wie
0.143.0-alpha.2 oder 0.143.0+custom werden abgelehnt, weil OpenClaw die stabile
Protokolluntergrenze 0.143.0 prüft.
/codex status kann keine Verbindung herstellen: Prüfen Sie, ob das
codex-Plugin aktiviert ist, ob plugins.allow es einschließt, wenn eine
Positivliste konfiguriert ist, und ob benutzerdefinierte Werte für
appServer.command, url, authToken oder Header gültig sind.
Die Modellerkennung ist langsam: Verringern Sie
plugins.entries.codex.config.discovery.timeoutMs oder deaktivieren Sie die
Erkennung. Siehe
Codex-Harness-Referenz.
Der WebSocket-Transport schlägt sofort fehl: Prüfen Sie appServer.url,
authToken, die Header und ob der entfernte App-Server dieselbe Version des
Codex-App-Server-Protokolls verwendet.
Native Shell- oder Patch-Tools werden mit Native hook relay unavailable blockiert: Der Codex-Thread versucht weiterhin, eine native Hook-Relay-
ID zu verwenden, die bei OpenClaw nicht mehr registriert ist. Dies ist ein
Transportproblem des nativen Codex-Hooks und kein Fehler des ACP-Backends,
Providers, von GitHub oder eines Shell-Befehls. Starten Sie im betroffenen Chat
mit /new oder /reset eine neue Sitzung und versuchen Sie anschließend erneut
einen unbedenklichen Befehl. Wenn dies einmal funktioniert, der nächste native
Tool-Aufruf jedoch erneut fehlschlägt, betrachten Sie /new nur als
vorübergehende Problemumgehung: Kopieren Sie den Prompt in eine neue Sitzung,
nachdem Sie den Codex-App-Server oder das OpenClaw Gateway neu gestartet haben,
damit alte Threads verworfen und native Hook-Registrierungen neu erstellt werden.
Ein Nicht-Codex-Modell verwendet das integrierte Harness: Dies ist zu
erwarten, sofern die Laufzeitrichtlinie des Providers oder Modells es nicht an
ein anderes Harness weiterleitet. Einfache Provider-Referenzen, die nicht zu
OpenAI gehören, verbleiben im Modus auto auf ihrem normalen Provider-Pfad.
Computer Use ist installiert, aber die Tools werden nicht ausgeführt:
Prüfen Sie /codex computer-use status in einer neuen Sitzung. Wenn ein Tool
Native hook relay unavailable meldet, verwenden Sie die oben beschriebene
Wiederherstellung des nativen Hook-Relays. Siehe
Codex Computer Use.