Codex harness

Codex-Harness-Laufzeit

Laufzeitvertrag für Codex-Harness-Turns. Informationen zu Einrichtung und Routing finden Sie unter Codex-Harness. Informationen zu Konfigurationsfeldern finden Sie in der Codex-Harness-Referenz.

Übersicht

Codex verwaltet die native Modellschleife, die native Fortsetzung von Threads, die native Fortsetzung von Tools und die native Compaction. OpenClaw verwaltet das Kanal-Routing, Sitzungsdateien, die sichtbare Nachrichtenzustellung, dynamische OpenClaw-Tools, Genehmigungen, die Medienzustellung und eine Transkriptspiegelung um diese Grenze herum.

Das Prompt-Routing richtet sich nach der ausgewählten Laufzeit, nicht nur nach der Provider-Zeichenfolge. Ein nativer Codex-Turn erhält Entwickleranweisungen des Codex App Server; bei einer expliziten OpenClaw-Kompatibilitätsroute bleibt der normale OpenClaw-System-Prompt erhalten, selbst wenn Codex-spezifische OpenAI-Authentifizierung oder ein entsprechender Transport verwendet wird.

OpenClaw startet native Codex-Threads und setzt sie fort, wobei die integrierte Persönlichkeit von Codex deaktiviert ist (personality: "none"), sodass Persönlichkeitsdateien des Arbeitsbereichs und die Identität des OpenClaw-Agenten maßgeblich bleiben. Ansonsten behält natives Codex die von Codex verwalteten Basis-/Modellanweisungen und das Laden von Projektdokumenten bei. Leichtgewichtige OpenClaw-Ausführungen (beispielsweise Cron) unterdrücken weiterhin das Laden von Projektdokumenten.

Die OpenClaw-Entwickleranweisungen decken Belange der OpenClaw-Laufzeit ab: Zustellung über den Quellkanal, dynamische OpenClaw-Tools, ACP-Delegierung, Adapterkontext und die aktiven Arbeitsbereich-Profildateien des Agenten. Skill-Kataloge und über Tools weitergeleitete MEMORY.md-Verweise werden als auf den Turn beschränkte Entwickleranweisungen für die Zusammenarbeit projiziert. Wenn Speicher-Tools nicht verfügbar sind, werden aktive BOOTSTRAP.md-Inhalte und vollständige MEMORY.md stattdessen als einfacher Eingabekontext des Turns verwendet.

Die meisten dynamischen OpenClaw-Tools verwenden den durchsuchbaren openclaw-Namespace. Mit catalogMode: "direct-only" gekennzeichnete Tools verwenden openclaw_direct, das Codex direkt als DirectModelOnly für das Modell sichtbar hält, anstatt es für eine verschachtelte Code-Mode-Ausführung bereitzustellen.

Thread-Bindungen und Modelländerungen

Wenn eine OpenClaw-Sitzung mit einem vorhandenen Codex-Thread verknüpft ist, sendet der nächste Turn das aktuell ausgewählte Modell, die Genehmigungsrichtlinie, die Sandbox, den Genehmigungsprüfer und die Dienststufe erneut an den App Server. Beim Wechsel von openai/gpt-5.5 zu openai/gpt-5.2 bleibt die Thread-Bindung erhalten, Codex wird jedoch aufgefordert, mit dem neu ausgewählten Modell fortzufahren.

Überwachte Bindungen bilden die Ausnahme. Die OpenClaw-Modellauswahl bleibt gesperrt, und bei Fortsetzungen werden Modell- und Provider-Überschreibungen ausgelassen, damit Codex das persistierte Modell und den Provider des kanonischen Threads wiederherstellt. Eine separate native Codex-Steuerung kann dieses persistierte Paar ändern, und der anfängliche Snapshot kann die normale Modellabweichungswarnung von Codex auslösen; das äußere OpenClaw-Modell und die Fallback-Kette ersetzen keines von beiden.

Überwachung und sichere Fortsetzung

Die Codex-Überwachung ist eine optionale Funktion desselben codex-Plugins. Sie erkennt native Threads über eine separate Verbindung und projiziert nur nicht archivierte Sitzungen in den Gateway-Katalog. Ohne explizite appServer-Verbindungseinstellungen verwendet diese Verbindung verwaltetes Benutzerverzeichnis-stdio, während das gewöhnliche Harness agentenspezifisch bleibt. Auflistungs- und Metadatenlesevorgänge sind passiv: Sie setzen keinen Thread fort, abonnieren OpenClaw nicht für dessen Live-Ereignisse und beantworten dessen Genehmigungen nicht.

Für eine gespeicherte oder inaktive Sitzung auf dem Gateway-Computer erstellt Als Branch fortsetzen einen normalen, modellgesperrten Chat und spiegelt einen begrenzten Benutzer- und Assistentenverlauf bis einschließlich des letzten terminalen persistierten Turns der Quelle. Der erste normale Chat-Turn installiert die tatsächlichen Genehmigungs-Handler und verwendet einen temporären nativen Fork, um den Snapshot ohne Modell- oder Provider-Überschreibung festzuhalten. Codex App Server verwendet seine aktuelle native Konfiguration und gibt das ausgewählte Paar zurück; er gibt seine normale Warnung aus, wenn dieses Modell vom zuletzt aufgezeichneten Modell der Quelle abweicht. Über dieselbe Überwachungsverbindung startet OpenClaw den kanonischen Codex-Harness-Thread der appServer-Quelle unter dessen Arbeitsverzeichnis und Laufzeitrichtlinie mit genau dem zurückgegebenen Modell und Provider für diesen ersten Start, fügt den begrenzten sichtbaren Verlauf ein und archiviert den temporären Fork. Die Quelle wird niemals fortgesetzt. Der kanonische Thread verfügt über die vollständige Tool-Oberfläche des OpenClaw-Harness; Schlussfolgerungen, Tool-Aufrufe und Tool-Ergebnisse der Quelle werden nicht in ihn geklont. Der private Verbindungsumfang bleibt über ausstehende und bestätigte Bindungszustände hinweg bestehen, sodass jeder spätere Turn auf dieser Verbindung mit nativer Authentifizierung und Provider-Konfiguration verbleibt. Eine deaktivierte Überwachung oder Abweichungen bei Bindung oder Verbindung führen zu einem sicheren Abbruch, anstatt zum gewöhnlichen Harness im Agentenverzeichnis zu wechseln.

Die ursprüngliche CLI-, VS-Code-, Atlas- oder ChatGPT-Quelle bleibt für beide Kataloge verfügbar. Der kanonische Branch ist ein nativer Codex-Thread, sein Quelltyp ist jedoch appServer; native Clients können diesen Quelltyp herausfiltern, sodass sein Erscheinen in Codex Desktop nicht garantiert ist.

Aktive Quellen können keinen neuen Branch starten und nicht archiviert werden; ein vorhandener überwachter Chat kann weiterhin geöffnet werden. notLoaded bedeutet, dass die Aktivität unbekannt ist, nicht, dass sie inaktiv ist; OpenClaw erlaubt die Archivierung einer lokalen idle- oder notLoaded-Zeile nur nach einer expliziten Bestätigung, dass kein anderer Runner vorhanden ist, und einer aktuellen prozesslokalen Statusabfrage. Codex serialisiert Thread-Mutationen innerhalb eines App-Server-Prozesses, stellt jedoch keine exklusive prozessübergreifende Lease für Runner oder Genehmigungsinhaber bereit, sodass diese Abfrage nicht beweisen kann, dass kein anderer Prozess den Thread verwendet. OpenClaw blockiert einen bekannten aktiven Bindungsinhaber für das genaue Ziel oder einen nicht archivierten erzeugten Nachfahren, den die paginierte Nachfahrenabfrage von Codex zurückgibt. Aufzählungsfehler, Zyklen und das Ausschöpfen von Sicherheitsgrenzen führen zu einem sicheren Abbruch. Die native Archivierung kann dennoch mit einem neuen Turn in einem anderen Prozess kollidieren; daher deckt die Bestätigung unbekannte Clients und die Lücke zwischen Statusabfrage und Archivierung ab. Ein überwachter modellgesperrter Chat kann nicht gelöscht werden, solange er die native Bindung schützt.

Kataloge gekoppelter Nodes bleiben in der ersten Version auf Metadaten beschränkt. Die aktuelle Node-Aufrufgrenze basiert auf Anfrage und Antwort und kann die langlebigen Turn-Ereignisse, Genehmigungsanfragen oder Streaming-Ausgaben nicht übertragen, die eine echte Codex-Harness- Bindung erfordert. Remote-Fortsetzen und Archivieren bleiben daher selbst dann nicht verfügbar, wenn die Zeile inaktiv ist.

Informationen zur Einrichtung durch den Betreiber und zum sichtbaren Verhalten der Control UI finden Sie unter Codex-Überwachung.

Sichtbare Antworten und Heartbeats

Direkte bzw. über den Quell-Chat laufende Turns durch das Codex-Harness verwenden standardmäßig die automatische Zustellung der finalen Assistentenantwort für interne WebChat-Oberflächen, entsprechend dem Vertrag des Pi-Harness: Der Agent antwortet normal, und OpenClaw sendet den finalen Text an die Quellkonversation. Legen Sie messages.visibleReplies: "message_tool" fest, damit der finale Assistententext privat bleibt, sofern der Agent nicht message(action="send") aufruft.

Codex-Heartbeat-Turns erhalten standardmäßig heartbeat_respond im durchsuchbaren OpenClaw-Tool- Katalog, damit der Agent festhalten kann, ob der Weckvorgang still bleiben oder eine Benachrichtigung auslösen soll. Leitlinien zur Heartbeat-Initiative werden als Entwickleranweisung für den Codex-Zusammenarbeitsmodus gesendet, die auf den Heartbeat-Turn beschränkt ist; gewöhnliche Chat-Turns bleiben im Codex-Standardmodus. Wenn HEARTBEAT.md nicht leer ist, verweisen die Heartbeat- Anweisungen auf die Datei, anstatt deren Inhalt direkt einzubetten.

Hook-Grenzen

Ebene Verantwortlicher Zweck
OpenClaw-Plugin-Hooks OpenClaw Produkt-/Plugin-Kompatibilität zwischen OpenClaw- und Codex-Harnesses.
Codex-App-Server-Erweiterungsmiddleware Gebündelte OpenClaw-Plugins Adapterverhalten pro Turn für dynamische OpenClaw-Tools.
Native Codex-Hooks Codex Codex-Lebenszyklus auf niedriger Ebene und native Tool-Richtlinie aus der Codex-Konfiguration.

OpenClaw verwendet keine projektweiten oder globalen Codex-hooks.json-Dateien, um Plugin-Verhalten weiterzuleiten. Für die native Tool- und Berechtigungsbrücke fügt OpenClaw eine threadbezogene Codex-Konfiguration für PreToolUse, PostToolUse, PermissionRequest und Stop ein.

Wenn Genehmigungen des Codex App Server aktiviert sind (approvalPolicy ist nicht "never"), lässt die standardmäßig eingefügte native Hook-Konfiguration PermissionRequest aus, sodass der App-Server-Prüfer von Codex und die Genehmigungsbrücke von OpenClaw tatsächliche Eskalationen nach der Prüfung verarbeiten. Fügen Sie permission_request zu nativeHookRelay.events hinzu, um das Kompatibilitäts-Relay dennoch zu erzwingen. Andere Codex- Hooks wie SessionStart und UserPromptSubmit bleiben Steuerungen auf Codex-Ebene; sie werden im v1-Vertrag nicht als OpenClaw-Plugin-Hooks bereitgestellt.

Bei dynamischen OpenClaw-Tools führt OpenClaw das Tool aus, nachdem Codex den Aufruf angefordert hat, sodass Plugin- und Middleware-Verhalten im Harness-Adapter ausgeführt werden. Codex Code Mode empfängt generische dynamische Ergebnisse als Text und serialisiert verschachtelte dynamische Aufrufe; Aufrufer müssen JSON-ähnliche Ergebnisse parsen und können sich bei der gleichzeitigen Übermittlung nicht auf Promise.all verlassen. Bei nativen Codex-Tools verwaltet Codex den kanonischen Tool-Datensatz; OpenClaw kann ausgewählte Ereignisse spiegeln, den nativen Thread jedoch nur umschreiben, wenn Codex dies über App-Server- oder native Hook- Callbacks bereitstellt.

PreToolUse-Ereignisse im Berichtsmodus des Codex App Server verschieben die Plugin-Genehmigung auf die entsprechende App-Server-Genehmigung. Wenn ein OpenClaw-before_tool_call-Hook requireApproval zurückgibt, während die native Nutzlast openclaw_approval_mode: "report" setzt, zeichnet das native Hook-Relay die Plugin-Genehmigungsanforderung auf und gibt keine native Entscheidung zurück. Wenn Codex später die App-Server-Genehmigungsanfrage für dieselbe Tool-Verwendung sendet, öffnet OpenClaw die Plugin-Genehmigungsabfrage und bildet die Entscheidung wieder auf Codex ab. Codex-PermissionRequest-Ereignisse bilden einen separaten Genehmigungspfad und können weiterhin über OpenClaw-Genehmigungen weitergeleitet werden, wenn diese Brücke entsprechend konfiguriert ist.

Elementbenachrichtigungen des Codex App Server stellen außerdem asynchrone after_tool_call- Beobachtungen für Abschlüsse nativer Tools bereit, die nicht bereits durch das native PostToolUse-Relay abgedeckt sind. Diese dienen ausschließlich der Telemetrie und Kompatibilität; sie können den nativen Tool-Aufruf weder blockieren noch verzögern oder verändern.

Compaction- und LLM-Lebenszyklusprojektionen stammen aus Benachrichtigungen des Codex App Server und dem Zustand des OpenClaw-Adapters, nicht aus nativen Codex-Hook-Befehlen. before_compaction, after_compaction, llm_input und llm_output sind Beobachtungen auf Adapterebene, keine bytegenauen Erfassungen der internen Anfrage- oder Compaction-Nutzlasten von Codex.

Native Codex-App-Server-Benachrichtigungen hook/started und hook/completed werden als codex_app_server.hook-Agentenereignisse für Ablaufverfolgung und Fehlerbehebung projiziert. Sie rufen keine OpenClaw-Plugin-Hooks auf.

Unterstützungsvertrag für V1

Unterstützt in Codex-Laufzeit v1:

Oberfläche Unterstützung Begründung
OpenAI-Modellschleife über Codex Unterstützt Der Codex-App-Server verwaltet den OpenAI-Turn, die native Fortsetzung von Threads und die native Fortsetzung von Tools.
OpenClaw-Kanalrouting und -zustellung Unterstützt Telegram, Discord, Slack, WhatsApp, iMessage und andere Kanäle bleiben außerhalb der Modell-Runtime.
Dynamische OpenClaw-Tools Unterstützt Codex fordert OpenClaw auf, diese Tools auszuführen, sodass OpenClaw Teil des Ausführungspfads bleibt.
Prompt- und Kontext-Plugins Unterstützt OpenClaw projiziert OpenClaw-spezifische Prompts und Kontexte in den Codex-Turn, während Codex-eigene Basis-, Modell- und konfigurierte Projektdokument-Prompts im nativen Codex-Pfad verbleiben. OpenClaw deaktiviert die integrierte Persönlichkeit von Codex für native Threads, sodass die Persönlichkeitsdateien im Agent-Arbeitsbereich maßgeblich bleiben. Native Codex-Entwickleranweisungen akzeptieren nur Befehlsanleitungen, deren Geltungsbereich ausdrücklich auf codex_app_server beschränkt ist; ältere globale Befehlshinweise bleiben für Nicht-Codex-Prompt-Oberflächen erhalten.
Lebenszyklus der Kontext-Engine Unterstützt Zusammenstellung, Aufnahme und Wartung nach dem Turn werden um Codex-Turns herum ausgeführt. Kontext-Engines ersetzen nicht die native Codex-Compaction.
Hooks für dynamische Tools Unterstützt before_tool_call, after_tool_call und die Tool-Ergebnis-Middleware werden um OpenClaw-eigene dynamische Tools herum ausgeführt.
Lebenszyklus-Hooks Als Adapterbeobachtungen unterstützt llm_input, llm_output, agent_end, before_compaction und after_compaction werden mit wahrheitsgetreuen Payloads für den Codex-Modus ausgelöst.
Prüfstufe zur Überarbeitung der endgültigen Antwort Über natives Hook-Relay unterstützt Codex Stop wird an before_agent_finalize weitergeleitet; revise fordert Codex vor der Finalisierung zu einem weiteren Modelldurchlauf auf.
Native Shell-, Patch- und MCP-Aktionen blockieren oder beobachten Über natives Hook-Relay unterstützt Codex PreToolUse und PostToolUse werden für bestätigte native Tool-Oberflächen weitergeleitet, einschließlich MCP-Payloads auf Codex-App-Server 0.142.0 oder neuer. Blockieren wird unterstützt, das Umschreiben von Argumenten nicht.
Native Berechtigungsrichtlinie Über Genehmigungen des Codex-App-Servers und das native Kompatibilitäts-Hook-Relay unterstützt Genehmigungsanfragen des Codex-App-Servers werden nach der Codex-Prüfung über OpenClaw geleitet. Das native Hook-Relay PermissionRequest ist für native Genehmigungsmodi optional, da Codex es vor der Guardian-Prüfung ausgibt.
Erfassung der App-Server-Trajektorie Unterstützt OpenClaw zeichnet die an den App-Server gesendete Anfrage und die vom App-Server empfangenen Benachrichtigungen auf.

In Codex-Runtime v1 nicht unterstützt:

Oberfläche V1-Grenze Zukünftiger Pfad
Mutation nativer Tool-Argumente Native Pre-Tool-Hooks von Codex können blockieren, aber OpenClaw schreibt die Argumente Codex-nativer Tools nicht um. Erfordert Codex-Hook-/Schema-Unterstützung für die Ersetzung der Tool-Eingabe.
Bearbeitbarer Codex-nativer Transkriptverlauf Codex verwaltet den kanonischen nativen Threadverlauf. OpenClaw verwaltet eine Spiegelung und kann zukünftigen Kontext projizieren, sollte aber nicht unterstützte Interna nicht verändern. Explizite Codex-App-Server-APIs hinzufügen, falls eine Bearbeitung nativer Threads erforderlich ist.
tool_result_persist für Codex-native Tool-Datensätze Dieser Hook transformiert OpenClaw-eigene Transkriptschreibvorgänge, nicht Codex-native Tool-Datensätze. Transformierte Datensätze könnten gespiegelt werden, aber eine kanonische Umschreibung erfordert Codex-Unterstützung.
Umfangreiche native Compaction-Metadaten OpenClaw kann native Compaction anfordern, erhält jedoch keine stabile Liste beibehaltener/verworfener Elemente, kein Token-Delta, keine Abschlusszusammenfassung und keinen Zusammenfassungs-Payload. Erfordert umfangreichere Codex-Compaction-Ereignisse.
Eingriff in die Compaction OpenClaw erlaubt Plugins oder Kontext-Engines nicht, native Codex-Compaction abzulehnen, umzuschreiben oder zu ersetzen. Codex-Pre-/Post-Compaction-Hooks hinzufügen, falls Plugins native Compaction ablehnen oder umschreiben müssen.
Bytegenaue Erfassung von Modell-API-Anfragen OpenClaw kann App-Server-Anfragen und -Benachrichtigungen erfassen, aber der Codex-Kern erstellt die endgültige OpenAI-API-Anfrage intern. Erfordert ein Codex-Ereignis zur Verfolgung von Modellanfragen oder eine Debug-API.

Native Berechtigungen und MCP-Elicitations

Für PermissionRequest gibt OpenClaw nur dann ausdrückliche Zulassungs- oder Ablehnungsentscheidungen zurück, wenn die Richtlinie eine Entscheidung trifft. Ein Ergebnis ohne Entscheidung ist keine Zulassung: Codex behandelt es so, als läge keine Hook-Entscheidung vor, und greift auf seinen eigenen Guardian- oder Benutzergenehmigungspfad zurück.

In den Genehmigungsmodi des Codex-App-Servers wird dieser native Hook standardmäßig ausgelassen. Dies gilt, sofern permission_request nicht ausdrücklich in nativeHookRelay.events enthalten ist oder eine Kompatibilitäts-Runtime ihn installiert.

Wenn ein Betreiber allow-always für eine native Codex- Berechtigungsanfrage auswählt, merkt sich OpenClaw diesen exakten Fingerabdruck aus Provider-, Sitzungs- und Tool-Eingabe sowie cwd für ein begrenztes Sitzungszeitfenster. Die gespeicherte Entscheidung gilt absichtlich nur bei exakter Übereinstimmung: Ein geänderter Befehl, geänderte Argumente, ein geänderter Tool-Payload oder ein geändertes cwd erfordern eine neue Genehmigung.

Genehmigungs-Elicitations für Codex-MCP-Tools werden über den Plugin- Genehmigungsablauf von OpenClaw geleitet, wenn Codex _meta.codex_approval_kind als "mcp_tool_call" kennzeichnet. Codex request_user_input registriert eine Provider-neutrale Gateway-Frage für die ursprüngliche Sitzung. Die Control UI zeigt die Karte mit der Gateway-Frage an, und für eine einzelne nicht geheime Auswahl werden typisierte Kanalschaltflächen verwendet, sofern der Kanal diese unterstützt. Schaltflächenbetätigungen, Antworten in der Control UI und die nächste in der Warteschlange stehende Klartextantwort lösen alle denselben Gateway-Datensatz auf, bevor OpenClaw die App-Server-Antwort zurückgibt. Die automatische Auflösung durch Codex und der Abbruch von Versuchen begrenzen die Wartezeit und brechen den Datensatz ab. Geheime Fragen verbleiben vollständig im mit einer Warnung versehenen Textantwortpfad. Andere MCP-Elicitation- Anfragen werden standardmäßig abgelehnt.

Informationen zum allgemeinen Plugin-Genehmigungsablauf, der diese Prompts überträgt, finden Sie unter Plugin-Berechtigungsanfragen.

Warteschlangensteuerung

Die Steuerung der Warteschlange aktiver Ausführungen wird auf Codex app-server turn/steer abgebildet. Mit dem standardmäßigen messages.queue.mode: "steer" fasst OpenClaw Chatnachrichten im Steuerungsmodus für das konfigurierte Ruhefenster zusammen und sendet sie in der Reihenfolge ihres Eingangs als eine turn/steer- Anfrage.

Codex-Reviews und manuelle Compaction-Vorgänge können die Steuerung im selben Vorgang ablehnen. In diesem Fall wartet OpenClaw, bis die aktive Ausführung abgeschlossen ist, bevor der Prompt gestartet wird. Verwenden Sie /queue followup oder /queue collect, wenn Nachrichten standardmäßig in die Warteschlange eingereiht statt zur Steuerung verwendet werden sollen. Siehe Steuerungswarteschlange.

Hochladen von Codex-Feedback

Wenn /diagnostics [note] für eine Sitzung im nativen Codex- Harness genehmigt wurde, ruft OpenClaw für relevante Codex-Threads außerdem Codex app-server feedback/upload auf, einschließlich der Protokolle für jeden aufgeführten Thread und erzeugter Codex- Unterthreads, sofern verfügbar.

Das Hochladen erfolgt über den regulären Feedbackpfad von Codex zu den OpenAI-Servern. Wenn Codex-Feedback in diesem app-server deaktiviert ist, gibt der Befehl den app-server-Fehler zurück. Die Antwort nach Abschluss der Diagnose führt die Kanäle, OpenClaw-Sitzungs-IDs, Codex-Thread-IDs und lokalen codex resume <thread-id>- Befehle für die gesendeten Threads auf.

Wenn Sie die Genehmigung verweigern oder ignorieren, gibt OpenClaw diese Codex-IDs nicht aus und sendet kein Codex-Feedback. Das Hochladen ersetzt nicht den lokalen Export der Gateway-Diagnose. Weitere Informationen zu Genehmigung, Datenschutz, lokalem Paket und Verhalten in Gruppenchats finden Sie unter Diagnoseexport.

Verwenden Sie /codex diagnostics [note] nur, wenn Sie das Hochladen von Codex-Feedback für den derzeit angehängten Thread ohne das vollständige Gateway-Diagnosepaket wünschen.

Compaction und Transkriptspiegel

Wenn das ausgewählte Modell das Codex-Harness verwendet, gehört die native Thread-Compaction zum Codex app-server. OpenClaw führt für Codex-Vorgänge keine vorbereitende Compaction durch, ersetzt die Codex-Compaction nicht durch die Compaction der Kontext-Engine und greift nicht auf eine Zusammenfassung durch OpenClaw oder die öffentliche OpenAI-Schnittstelle zurück, wenn die native Compaction nicht gestartet werden kann. OpenClaw verwaltet einen Transkriptspiegel für den Kanalverlauf, die Suche, /new, /reset und einen zukünftigen Wechsel des Modells oder Harnesses.

Explizite Compaction-Anfragen wie /compact oder eine von einem Plugin angeforderte manuelle Compaction-Operation starten die native Codex-Compaction mit thread/compact/start. OpenClaw hält die Anfrage und die Lease des gemeinsam genutzten Clients offen, bis Codex das zugehörige contextCompaction-Abschlusselement ausgibt, und meldet den Compaction- Vorgang anschließend als abgeschlossen. Wenn dieser abschließende Vorgang das konfigurierte Compaction- Zeitlimit überschreitet, fordert OpenClaw eine native Unterbrechung des Vorgangs an. Die Lease und die Thread-spezifische Compaction-Sperre bleiben bestehen, bis Codex einen Endzustand meldet oder den Unterbrechungs-RPC bestätigt. Wenn Codex dies nicht innerhalb der Karenzfrist für die Unterbrechung bestätigt, nimmt OpenClaw die Verbindung außer Betrieb, bevor die Sperre freigegeben wird. Bei entfernten Verbindungen wird außerdem die zugehörige Thread-Bindung gelöst, sodass spätere Vorgänge nicht mit einem unbestätigten entfernten Vorgang überlappen können. Andere Vorgänge auf einer außer Betrieb genommenen Verbindung schlagen fehl und können mit einem neuen Client erneut versucht werden. Das Schließen des Clients, das Abbrechen einer Anfrage oder ein fehlgeschlagener Compaction-Vorgang gibt eine fehlgeschlagene Operation zurück. Die automatische Compaction bei Kontextdruck ist Aufgabe von Codex; OpenClaw startet die native Compaction nur bei manuell angeforderten Auslösern.

Wenn eine Kontext-Engine die Projektion des Codex-Thread-Bootstraps anfordert, projiziert OpenClaw Namen und IDs von Tool-Aufrufen, Eingabestrukturen und redigierte Inhalte von Tool-Ergebnissen in den neuen Codex-Thread. Die Rohwerte der Argumente von Tool-Aufrufen werden nicht in diese Projektion kopiert.

Der Spiegel umfasst den Benutzer-Prompt, den endgültigen Assistententext sowie kompakte Codex-Datensätze zu Schlussfolgerungen oder Plänen, wenn der app-server sie ausgibt. OpenClaw zeichnet den Beginn und Endstatus der nativen Compaction auf, stellt jedoch weder eine menschenlesbare Compaction-Zusammenfassung noch eine überprüfbare Liste der Einträge bereit, die Codex nach der Compaction beibehalten hat.

Da Codex Eigentümer des kanonischen nativen Threads ist, schreibt tool_result_persist Codex-native Tool-Ergebnisdatensätze nicht neu. Dies gilt nur, wenn OpenClaw ein Tool-Ergebnis in ein OpenClaw-eigenes Sitzungstranskript schreibt.

Medien und Zustellung

OpenClaw ist weiterhin für die Medienzustellung und die Auswahl des Medien-Providers zuständig. Bild-, Video-, Musik-, PDF- und TTS-Funktionen sowie die Medienanalyse verwenden entsprechende Provider-/Modell- Einstellungen wie agents.defaults.mediaModels.image, agents.defaults.mediaModels.video, pdfModel und tts.

Text, Bilder, Video, Musik, TTS, Genehmigungen und Ausgaben von Messaging-Tools werden weiterhin über den regulären Zustellungspfad von OpenClaw verarbeitet; die Mediengenerierung erfordert nicht die Legacy-Laufzeit. Wenn Codex ein natives Element zur Bildgenerierung mit einer savedPath ausgibt, leitet OpenClaw genau diese Datei über den regulären Pfad für Antwortmedien weiter, selbst wenn der Codex-Vorgang keinen Assistententext enthält.

Verwandte Themen

Was this useful?
On this page

On this page