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.

Überblick

Codex übernimmt die native Modellschleife, das native Fortsetzen von Threads, die native Fortsetzung von Tools und die native Compaction. OpenClaw übernimmt das Channel-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 die Entwickleranweisungen des Codex App Server; eine explizite OpenClaw-Kompatibilitätsroute behält den normalen OpenClaw-System-Prompt bei, selbst wenn sie Codex-spezifische OpenAI-Authentifizierung oder -Übertragung verwendet.

OpenClaw startet native Codex-Threads und setzt sie fort, wobei die integrierte Persönlichkeit von Codex deaktiviert ist (personality: "none"), damit Persönlichkeitsdateien des Arbeitsbereichs und die OpenClaw-Agentenidentität maßgeblich bleiben. Native Codex-Ausführungen behalten ansonsten die Codex-eigenen Basis-/Modellanweisungen und das Laden der Projektdokumentation bei. Leichtgewichtige OpenClaw-Ausführungen (beispielsweise Cron) unterdrücken weiterhin das Laden der Projektdokumentation.

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

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, statt es einer verschachtelten Code-Mode-Ausführung zugänglich zu machen.

Thread-Bindungen und Modellwechsel

Wenn eine OpenClaw-Sitzung an einen bestehenden Codex-Thread angehängt 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. Ein Wechsel von openai/gpt-5.5 zu openai/gpt-5.2 behält die Thread-Bindung bei, fordert Codex jedoch auf, mit dem neu ausgewählten Modell fortzufahren.

Überwachte Bindungen bilden die Ausnahme. Die OpenClaw-Modellauswahl bleibt gesperrt, und beim Fortsetzen 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 Codex-Warnung zu Modellunterschieden auslösen; das äußere OpenClaw-Modell und die Fallback-Kette ersetzen keines der 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 verwaltete stdio-Kommunikation im Benutzerverzeichnis, während das gewöhnliche Harness agentenspezifisch bleibt. Auflistungs- und Metadaten-Lesevorgänge sind passiv: Sie setzen keinen Thread fort, abonnieren OpenClaw nicht für dessen Live-Ereignisse und beantworten keine Genehmigungsanfragen.

Für eine gespeicherte oder inaktive Sitzung auf dem Gateway-Computer erstellt Als Branch fortsetzen einen normalen, modellgebundenen Chat und spiegelt einen begrenzten Verlauf von Benutzer- und Assistentennachrichten 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; Reasoning, Tool-Aufrufe und Tool-Ergebnisse aus der Quelle werden nicht in ihn kopiert. Der private Verbindungsbereich bleibt über ausstehende und festgeschriebene Bindungszustände hinweg bestehen, sodass jeder spätere Turn mit nativer Authentifizierung und Provider-Konfiguration über diese Verbindung verbleibt. Deaktivierte Überwachung oder eine Abweichung der Bindung bzw. Verbindung führt zu einem sicheren Abbruch, statt zum gewöhnlichen Harness im Agentenverzeichnis zu wechseln.

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

Aktive Quellen können weder einen neuen Branch starten noch archiviert werden; ein vorhandener überwachter Chat kann weiterhin geöffnet werden. notLoaded bedeutet, dass die Aktivität unbekannt und nicht inaktiv ist; OpenClaw erlaubt die Archivierung einer lokalen idle- oder notLoaded-Zeile erst nach einer expliziten Bestätigung, dass keine andere Ausführung läuft, und einer aktuellen prozesslokalen Statusabfrage. Codex serialisiert Thread-Mutationen innerhalb eines App-Server-Prozesses, stellt jedoch keine exklusive prozessübergreifende Lease für Ausführungen oder Genehmigungsverantwortliche bereit, sodass diese Abfrage nicht beweisen kann, dass kein anderer Prozess den Thread verwendet. OpenClaw blockiert einen bekannten aktiven Bindungsverantwortlichen für das exakte Ziel oder jeden nicht archivierten erzeugten Nachfolger, den die paginierte Codex-Nachfolgerabfrage zurückgibt. Aufzählungsfehler, Zyklen und das Ausschöpfen von Sicherheitsgrenzen führen zu einem sicheren Abbruch. Die native Archivierung kann weiterhin 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 modellgebundener Chat kann nicht gelöscht werden, solange er die native Bindung schützt.

Kataloge gekoppelter Nodes bleiben in der ersten Version reine Metadatenkataloge. Die aktuelle Node-Aufrufgrenze arbeitet nach dem Anfrage-/Antwortprinzip und kann die langlebigen Turn-Ereignisse, Genehmigungsanfragen oder Streaming-Ausgaben nicht übertragen, die eine echte Codex-Harness-Bindung erfordert. Die entfernten Aktionen Fortsetzen und Archivieren bleiben daher auch dann nicht verfügbar, wenn die Zeile inaktiv ist.

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

Sichtbare Antworten und Heartbeats

Direkte bzw. Quell-Chat-Turns über das Codex-Harness verwenden standardmäßig die automatische abschließende Assistentenzustellung für interne WebChat-Oberflächen und entsprechen damit dem Vertrag des Pi-Harness: Der Agent antwortet normal, und OpenClaw veröffentlicht den abschließenden Text in der Quellkonversation. Setzen Sie messages.visibleReplies: "message_tool", um den abschließenden Assistententext privat zu halten, 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. Hinweise zur Heartbeat-Initiative werden als Entwickleranweisung für den Codex-Zusammenarbeitsmodus gesendet, die auf den Heartbeat-Turn beschränkt ist; gewöhnliche Chat-Turns verbleiben im Codex-Standardmodus. Wenn HEARTBEAT.md nicht leer ist, verweisen die Heartbeat-Anweisungen Codex auf die Datei, statt 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 um dynamische OpenClaw-Tools herum.
Native Codex-Hooks Codex Low-Level-Codex-Lebenszyklus und native Tool-Richtlinie aus der Codex-Konfiguration.

OpenClaw verwendet keine projektbezogenen oder globalen Codex-hooks.json-Dateien, um Plugin-Verhalten zu routen. Für die Brücke für native Tools und Berechtigungen injiziert OpenClaw eine Codex-Konfiguration pro Thread für PreToolUse, PostToolUse, PermissionRequest und Stop.

Wenn Codex-App-Server-Genehmigungen aktiviert sind (approvalPolicy ist nicht "never"), lässt die standardmäßig injizierte native Hook-Konfiguration PermissionRequest aus, damit der App-Server-Prüfer von Codex und die OpenClaw-Genehmigungsbrücke echte Eskalationen nach der Prüfung bearbeiten. Fügen Sie permission_request zu nativeHookRelay.events hinzu, um die Kompatibilitätsweiterleitung 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 wird. Codex Code Mode empfängt generische dynamische Ergebnisse als Text und serialisiert verschachtelte dynamische Aufrufe; Aufrufer müssen JSON-ähnliche Ergebnisse analysieren und können sich bei der gleichzeitigen Übermittlung nicht auf Promise.all verlassen. Bei Codex-nativen Tools verwaltet Codex den kanonischen Tool-Datensatz; OpenClaw kann ausgewählte Ereignisse spiegeln, den nativen Thread jedoch nicht umschreiben, sofern Codex dies nicht über App-Server- oder native Hook- Callbacks verfügbar macht.

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 die native Hook-Weiterleitung 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-Genehmigungsaufforderung und ordnet die Entscheidung Codex zu. Codex-PermissionRequest-Ereignisse bilden einen separaten Genehmigungspfad und können weiterhin über OpenClaw-Genehmigungen geroutet 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 noch nicht von der nativen PostToolUse-Weiterleitung abgedeckt werden. Diese dienen ausschließlich der Telemetrie und Kompatibilität; sie können den nativen Tool-Aufruf weder blockieren, verzögern noch 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 und 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 Verlauf und Debugging projiziert. Sie rufen keine OpenClaw-Plugin-Hooks auf.

v1-Unterstützungsvertrag

In Codex-Laufzeit v1 unterstützt:

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 Modelllaufzeit.
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 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 unverfälschten Nutzdaten für den Codex-Modus ausgelöst.
Überarbeitungs-Gate für die endgültige Antwort Über native Hook-Weiterleitung unterstützt Codex Stop wird an before_agent_finalize weitergeleitet; revise fordert Codex vor dem Abschluss zu einem weiteren Modelldurchlauf auf.
Native Shell-, Patch- und MCP-Blockierung oder -Beobachtung Über native Hook-Weiterleitung unterstützt Codex PreToolUse und PostToolUse werden für bestätigte native Tool-Oberflächen weitergeleitet, einschließlich MCP-Nutzdaten mit Codex-App-Server 0.142.0 oder neuer. Blockierung wird unterstützt, das Umschreiben von Argumenten jedoch nicht.
Native Berechtigungsrichtlinie Über Genehmigungen des Codex-App-Servers und die kompatible native Hook-Weiterleitung unterstützt Genehmigungsanfragen des Codex-App-Servers werden nach der Codex-Prüfung über OpenClaw geleitet. Die native Hook-Weiterleitung PermissionRequest ist für native Genehmigungsmodi optional, da Codex sie vor der Guardian-Prüfung ausgibt.
Erfassung der App-Server-Trajektorie Unterstützt OpenClaw zeichnet die an den App-Server gesendete Anfrage und die empfangenen App-Server-Benachrichtigungen auf.

In Codex-Laufzeit v1 nicht unterstützt:

Oberfläche V1-Grenze Zukünftiger Pfad
Mutation nativer Tool-Argumente Native Codex-Hooks vor der Tool-Ausführung können blockieren, OpenClaw schreibt jedoch keine Codex-nativen Tool-Argumente um. Erfordert Codex-Hook-/Schemasupport für ersetzende Tool-Eingaben.
Bearbeitbarer Codex-nativer Transkriptverlauf Codex verwaltet den kanonischen nativen Thread-Verlauf. 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 Eingriffe in native Threads erforderlich sind.
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, für das kanonische Umschreiben ist jedoch Codex-Unterstützung erforderlich.
Umfangreiche native Compaction-Metadaten OpenClaw kann native Compaction anfordern, erhält jedoch keine stabile Liste beibehaltener/verwerfener Elemente, kein Token-Delta, keine Abschlusszusammenfassung und keine Zusammenfassungsnutzdaten. 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-Hooks vor/nach der Compaction 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 Nachverfolgung von Modellanfragen oder eine Debug-API.

Native Berechtigungen und MCP-Abfragen

Für PermissionRequest gibt OpenClaw nur dann ausdrückliche Zulassen- oder Ablehnen- Entscheidungen zurück, wenn die Richtlinie eine Entscheidung trifft. Ein Ergebnis ohne Entscheidung ist keine Zulassung: Codex behandelt es als fehlende Hook-Entscheidung und greift auf den eigenen Guardian- oder Benutzer- Genehmigungspfad 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ätslaufzeit ihn installiert.

Wenn ein Betreiber allow-always für eine native Codex-Berechtigungs- anfrage auswählt, merkt sich OpenClaw diesen exakten Fingerabdruck aus Provider/Sitzung/Tool-Eingabe/cwd für ein begrenztes Sitzungszeitfenster. Die gespeicherte Entscheidung gilt absichtlich nur bei exakter Übereinstimmung: Ein geänderter Befehl, geänderte Argumente, Tool-Nutzdaten oder ein geändertes cwd führen zu einer neuen Genehmigung.

Genehmigungsabfragen für Codex-MCP-Tools werden über den Plugin-Genehmigungs- ablauf von OpenClaw geleitet, wenn Codex _meta.codex_approval_kind als "mcp_tool_call" kennzeichnet. Codex request_user_input registriert eine providerneutrale Gateway-Frage für die ursprüngliche Sitzung. Die Control UI zeigt die Gateway-Fragekarte an, und eine einzelne nicht geheime Auswahl verwendet typisierte Kanalschaltflächen, wenn der Kanal sie unterstützt. Das Antippen einer Schaltfläche, Antworten in der Control UI und die nächste in der Warteschlange befindliche Klartextantwort lösen alle denselben Gateway-Datensatz auf, bevor OpenClaw die App-Server-Antwort zurückgibt. Die automatische Auflösung durch Codex und abgebrochene Versuche begrenzen die Wartezeit und brechen den Datensatz ab. Geheime Fragen verbleiben vollständig im mit einer Warnung versehenen Pfad für Textantworten. Andere MCP- Abfrageanfragen werden sicher abgelehnt.

Den allgemeinen Plugin-Genehmigungsablauf, der diese Aufforderungen überträgt, finden Sie unter Plugin-Berechtigungsanfragen.

Warteschlangensteuerung

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

Codex-Reviews und manuelle Compaction-Durchläufe können die Steuerung im selben Durchlauf 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 wird, ruft OpenClaw für relevante Codex-Threads zusätzlich Codex app-server feedback/upload auf, einschließlich Protokollen für jeden aufgeführten Thread und erzeugte 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 der abgeschlossenen 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. Informationen zu Genehmigung, Datenschutz, lokalem Paket und Verhalten in Gruppenchats finden Sie unter Diagnoseexport.

Verwenden Sie /codex diagnostics [note] nur, wenn Sie Codex-Feedback für den aktuell angehängten Thread ohne das vollständige Gateway-Diagnosepaket hochladen möchten.

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-Durchläufe keine Compaction vorab aus, 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 zukünftige Wechsel des Modells oder Harness.

Explizite Compaction-Anfragen wie /compact oder ein von einem Plugin angeforderter manueller Compaction-Vorgang starten die native Codex-Compaction mit thread/compact/start. OpenClaw hält die Anfrage und die Lease des gemeinsam verwendeten Clients offen, bis Codex das zugehörige Abschlusselement contextCompaction ausgibt, und meldet den Compaction- Durchlauf anschließend als abgeschlossen. Wenn dieser abschließende Durchlauf das konfigurierte Compaction- Zeitlimit überschreitet, fordert OpenClaw eine native Unterbrechung des Durchlaufs an. Die Lease und die Thread-spezifische Compaction-Sperre bleiben bestehen, bis Codex den Endzustand meldet oder den Unterbrechungs-RPC bestätigt. Wenn Codex dies nicht innerhalb der Kulanzfrist für die Unterbrechung bestätigt, nimmt OpenClaw die Verbindung außer Betrieb, bevor die Sperre aufgehoben wird. Bei Remote- Verbindungen wird außerdem die zugehörige Thread-Bindung getrennt, damit spätere Arbeiten nicht mit einem unbestätigten Remote-Durchlauf überlappen können. Andere Durchläufe auf einer außer Betrieb genommenen Verbindung schlagen fehl und können mit einem neuen Client wiederholt werden. Das Schließen des Clients, der Abbruch der Anfrage oder ein fehlgeschlagener Compaction-Durchlauf führt zu einem fehlgeschlagenen Vorgang. 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 Thread-Bootstrap-Projektion für Codex anfordert, projiziert OpenClaw Namen und IDs von Tool-Aufrufen, Eingabeformen 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 und kompakte Codex-Datensätze zu Gedankengängen oder Plänen, wenn der app-server sie ausgibt. OpenClaw zeichnet den Beginn und den Endstatus der nativen Compaction auf, stellt jedoch weder eine für Menschen lesbare 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 um. 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 das Medienverständnis 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 die Legacy-Laufzeit nicht. Wenn Codex ein natives Bildgenerierungselement mit einem savedPath ausgibt, leitet OpenClaw genau diese Datei über den regulären Antwortmedien- Pfad weiter, selbst wenn der Codex-Durchlauf keinen Assistententext enthält.

Verwandte Themen

Was this useful?
On this page

On this page