Codex harness

Codex-harnessruntime

Deze pagina documenteert het runtimecontract voor Codex-harnasbeurten. Voor setup en routing begint u met Codex-harnas. Voor configuratievelden, zie Codex-harnasreferentie.

Overzicht

Codex-modus is niet OpenClaw met daaronder een andere modelaanroep. Codex beheert meer van de native modellus, en OpenClaw past zijn Plugin-, tool-, sessie- en diagnostische oppervlakken rond die grens aan.

OpenClaw beheert nog steeds kanaalroutering, sessiebestanden, zichtbare berichtaflevering, dynamische OpenClaw-tools, goedkeuringen, medialevering en een transcriptspiegel. Codex beheert de canonieke native thread, native modellus, native tool- voortzetting en native Compaction.

Promptroutering volgt de geselecteerde runtime, niet alleen de providerstring. Een native Codex-beurt ontvangt Codex app-server-ontwikkelaarsinstructies, terwijl een expliciete OpenClaw-compatibiliteitsroute de normale OpenClaw-systeemprompt behoudt, zelfs wanneer die Codex-achtige OpenAI-authenticatie of transport gebruikt.

Native Codex behoudt Codex-beheerde basis-/modelinstructies en projectdocumentgedrag volgens de actieve Codex-threadconfiguratie. OpenClaw start en hervat native Codex-threads met Codex' ingebouwde persoonlijkheid uitgeschakeld, zodat werkruimte- persoonlijkheidsbestanden en OpenClaw-agentidentiteit gezaghebbend blijven. Lichtgewicht OpenClaw-runs behouden nog steeds hun bestaande projectdocumentonderdrukking. OpenClaw- ontwikkelaarsinstructies behandelen OpenClaw-runtimeaspecten zoals bronkanaal- aflevering, dynamische OpenClaw-tools, ACP-delegatie, adaptercontext en de actieve agentwerkruimteprofielbestanden. OpenClaw-Skills-catalogi en tool-gerouteerde MEMORY.md-verwijzingen worden geprojecteerd als beurtgebonden ontwikkelaarsinstructies voor samenwerking voor native Codex. Actieve BOOTSTRAP.md-inhoud en volledige MEMORY.md-fallbackinjectie gebruiken nog steeds referentiecontext voor beurtinvoer.

Threadbindingen en modelwijzigingen

Wanneer een OpenClaw-sessie aan een bestaande Codex-thread is gekoppeld, stuurt de volgende beurt het momenteel geselecteerde OpenAI-model, goedkeuringsbeleid, de sandbox en servicelaag opnieuw naar app-server. Overschakelen van openai/gpt-5.5 naar openai/gpt-5.2 behoudt de threadbinding maar vraagt Codex om door te gaan met het nieuw geselecteerde model.

Zichtbare antwoorden en heartbeats

Wanneer een directe/bronschatbeurt via het Codex-harnas loopt, worden zichtbare antwoorden standaard automatisch als definitieve assistentaflevering geleverd voor interne WebChat-oppervlakken. Dit houdt Codex in lijn met het promptcontract van het Pi-harnas: agents antwoorden normaal, en OpenClaw plaatst de definitieve tekst in het brongesprek. Stel messages.visibleReplies: "message_tool" in wanneer een directe/bronschat opzettelijk definitieve assistenttekst privé moet houden, tenzij de agent message(action="send") aanroept.

Codex-Heartbeat-beurten krijgen standaard ook heartbeat_respond in de doorzoekbare OpenClaw- toolcatalogus, zodat de agent kan vastleggen of het wekken stil moet blijven of moet melden zonder die controlestroom in definitieve tekst te coderen.

Heartbeat-specifieke initiatiefrichtlijnen worden als een Codex-ontwikkelaarsinstructie in samenwerkingsmodus op de Heartbeat-beurt zelf verzonden. Gewone chatbeurten herstellen Codex Default-modus in plaats van Heartbeat-filosofie in hun normale runtimeprompt mee te dragen. Wanneer een niet-lege HEARTBEAT.md bestaat, verwijzen de Heartbeat- instructies voor samenwerkingsmodus Codex naar het bestand in plaats van de inhoud inline op te nemen.

Hookgrenzen

Het Codex-harnas heeft drie hooklagen:

Laag Eigenaar Doel
OpenClaw-Plugin-hooks OpenClaw Product-/Plugin-compatibiliteit tussen OpenClaw- en Codex-harnassen.
Codex app-server-extensiemiddleware Gebundelde OpenClaw-Plugins Adaptergedrag per beurt rond dynamische OpenClaw-tools.
Native Codex-hooks Codex Laag-niveau Codex-levenscyclus en native toolbeleid uit Codex-configuratie.

OpenClaw gebruikt geen project- of globale Codex-hooks.json-bestanden om OpenClaw-Plugin-gedrag te routeren. Voor de ondersteunde native tool- en toestemmingsbrug injecteert OpenClaw Codex-configuratie per thread voor PreToolUse, PostToolUse, PermissionRequest en Stop.

Wanneer Codex app-server-goedkeuringen zijn ingeschakeld, wat betekent dat approvalPolicy niet "never" is, laat de standaard geïnjecteerde native hookconfiguratie PermissionRequest weg, zodat Codex' app-server-reviewer en OpenClaw's goedkeuringsbrug echte escalaties na review afhandelen. Operators kunnen expliciet permission_request toevoegen aan nativeHookRelay.events wanneer zij de compatibiliteitsrelay nodig hebben.

Andere Codex-hooks zoals SessionStart en UserPromptSubmit blijven Codex-niveau controles. Ze worden in het v1-contract niet als OpenClaw-Plugin-hooks blootgesteld.

Voor dynamische OpenClaw-tools voert OpenClaw de tool uit nadat Codex om de aanroep vraagt, zodat OpenClaw het Plugin- en middlewaregedrag dat het beheert in de harnasadapter activeert. Voor Codex-native tools beheert Codex het canonieke toolrecord. OpenClaw kan geselecteerde gebeurtenissen spiegelen, maar kan de native Codex- thread niet herschrijven tenzij Codex die bewerking via app-server of native hook- callbacks blootstelt.

Codex app-server report-modus-PreToolUse-gebeurtenissen stellen Plugin-goedkeuringsverzoeken uit naar de bijbehorende app-server-goedkeuring. Als een OpenClaw-before_tool_call-hook requireApproval retourneert terwijl de native payload report-goedkeuringsmodus instelt (openclaw_approval_mode is "report"), registreert de native hookrelay de Plugin-goedkeuringsvereiste en retourneert geen native beslissing. Wanneer Codex het app-server-goedkeuringsverzoek voor hetzelfde toolgebruik verzendt, opent OpenClaw de Plugin- goedkeuringsprompt en koppelt de beslissing terug naar Codex. Codex-PermissionRequest- gebeurtenissen zijn een afzonderlijk goedkeuringspad en kunnen nog steeds via OpenClaw- goedkeuringen routeren wanneer de runtime voor die brug is geconfigureerd.

Codex app-server-itemmeldingen leveren ook asynchrone after_tool_call- observaties voor native toolvoltooiingen die nog niet door de native PostToolUse-relay worden gedekt. Deze observaties zijn alleen voor telemetrie en Plugin- compatibiliteit; ze kunnen de native toolaanroep niet blokkeren, vertragen of muteren.

Compaction- en LLM-levenscyclusprojecties komen uit Codex app-server- meldingen en OpenClaw-adapterstatus, niet uit native Codex-hookcommando's. OpenClaw's before_compaction, after_compaction, llm_input en llm_output-gebeurtenissen zijn observaties op adapterniveau, geen byte-voor-byte vastleggingen van Codex' interne verzoek- of Compaction-payloads.

Codex native hook/started- en hook/completed-app-servermeldingen worden geprojecteerd als codex_app_server.hook-agentgebeurtenissen voor traject en debugging. Ze roepen geen OpenClaw-Plugin-hooks aan.

V1-ondersteuningscontract

Ondersteund in Codex-runtime v1:

Oppervlak Ondersteuning Waarom
OpenAI-modellus via Codex Ondersteund De Codex app-server beheert de OpenAI-turn, native threadhervatting en native toolvoortzetting.
OpenClaw-kanaalroutering en -levering Ondersteund Telegram, Discord, Slack, WhatsApp, iMessage en andere kanalen blijven buiten de modelruntime.
Dynamische OpenClaw-tools Ondersteund Codex vraagt OpenClaw om deze tools uit te voeren, dus OpenClaw blijft in het uitvoeringspad.
Prompt- en contextplugins Ondersteund OpenClaw projecteert OpenClaw-specifieke prompt/context in de Codex-turn, terwijl door Codex beheerde basis-, model- en geconfigureerde projectdoc-prompts in de native Codex-baan blijven. OpenClaw schakelt de ingebouwde persoonlijkheid van Codex uit voor native threads, zodat agentwerkruimte-persoonlijkheidsbestanden leidend blijven. Native Codex-ontwikkelaarsinstructies accepteren alleen commandorichtlijnen die expliciet zijn beperkt tot codex_app_server; verouderde globale commandohints blijven bestaan voor niet-Codex-promptoppervlakken.
Levenscyclus van contextengine Ondersteund Samenstellen, opnemen en onderhoud na de turn draaien rondom Codex-turns. Contextengines vervangen native Codex-Compaction niet.
Dynamische toolhooks Ondersteund before_tool_call, after_tool_call en toolresultaatmiddleware draaien rondom door OpenClaw beheerde dynamische tools.
Levenscyclushooks Ondersteund als adapterobservaties llm_input, llm_output, agent_end, before_compaction en after_compaction worden geactiveerd met eerlijke payloads in Codex-modus.
Revisiegate voor eindantwoord Ondersteund via native hookrelay Codex Stop wordt doorgegeven aan before_agent_finalize; revise vraagt Codex om nog één modelpass vóór afronding.
Native shell, patch en MCP blokkeren of observeren Ondersteund via native hookrelay Codex PreToolUse en PostToolUse worden doorgegeven voor vastgelegde native tooloppervlakken, inclusief MCP-payloads op Codex app-server 0.125.0 of nieuwer. Blokkeren wordt ondersteund; argumenten herschrijven niet.
Native machtigingsbeleid Ondersteund via Codex app-server-goedkeuringen en compatibiliteits-native-hookrelay Goedkeuringsverzoeken van Codex app-server lopen via OpenClaw na Codex-review. De native hookrelay PermissionRequest is opt-in voor native goedkeuringsmodi omdat Codex deze vóór guardian-review uitzendt.
Trajectvastlegging van app-server Ondersteund OpenClaw registreert het verzoek dat het naar app-server stuurde en de app-servermeldingen die het ontvangt.

Niet ondersteund in Codex runtime v1:

Oppervlak V1-grens Toekomstig pad
Native toolargumentmutatie Codex native pre-toolhooks kunnen blokkeren, maar OpenClaw herschrijft geen Codex-native toolargumenten. Vereist Codex-hook/schemaondersteuning voor vervangende toolinput.
Bewerkbare Codex-native transcriptgeschiedenis Codex beheert de canonieke native threadgeschiedenis. OpenClaw beheert een spiegel en kan toekomstige context projecteren, maar mag niet-ondersteunde internals niet muteren. Voeg expliciete Codex app-server-API's toe als native threadchirurgie nodig is.
tool_result_persist voor Codex-native toolrecords Die hook transformeert door OpenClaw beheerde transcriptwrites, niet Codex-native toolrecords. Kan getransformeerde records spiegelen, maar canoniek herschrijven vereist Codex-ondersteuning.
Rijke native Compaction-metadata OpenClaw kan native Compaction aanvragen, maar ontvangt geen stabiele lijst met behouden/verwijderde items, tokendelta, voltooiingssamenvatting of samenvattingspayload. Vereist rijkere Codex-Compaction-events.
Compaction-interventie OpenClaw laat plugins of contextengines native Codex-Compaction niet vetoën, herschrijven of vervangen. Voeg Codex pre/post-Compaction-hooks toe als plugins native Compaction moeten vetoën of herschrijven.
Byte-voor-byte vastlegging van model-API-verzoek OpenClaw kan app-serververzoeken en meldingen vastleggen, maar Codex core bouwt het uiteindelijke OpenAI API-verzoek intern. Vereist een Codex-modelverzoektracingevent of debug-API.

Native machtigingen en MCP-elicitations

Voor PermissionRequest retourneert OpenClaw alleen expliciete toestaan- of weigeren-beslissingen wanneer beleid beslist. Een resultaat zonder beslissing is geen toestemming. Codex behandelt het als geen hookbeslissing en valt terug op zijn eigen guardian- of gebruikersgoedkeuringspad.

Codex app-server-goedkeuringsmodi laten deze native hook standaard weg. Dit gedrag geldt wanneer permission_request expliciet is opgenomen in nativeHookRelay.events of wanneer een compatibiliteitsruntime deze installeert.

Wanneer een operator allow-always kiest voor een Codex native machtigingsverzoek, onthoudt OpenClaw die exacte provider-/sessie-/toolinput-/cwd-fingerprint voor een begrensd sessievenster. De onthouden beslissing is bewust alleen exact-match: een gewijzigd commando, gewijzigde argumenten, toolpayload of cwd maakt een nieuwe goedkeuring aan.

Codex MCP-toolgoedkeuringselicitations worden gerouteerd via de plugin-goedkeuringsflow van OpenClaw wanneer Codex _meta.codex_approval_kind markeert als "mcp_tool_call". Codex request_user_input-prompts worden teruggestuurd naar de oorspronkelijke chat, en het volgende wachtrijvervolgbericht beantwoordt dat native serververzoek in plaats van te worden gestuurd als extra context. Andere MCP-elicitation- verzoeken falen gesloten.

Zie voor de algemene plugin-goedkeuringsflow die deze prompts draagt Plugin-machtigingsverzoeken.

Wachtrijsturing

Active-run-wachtrijsturing wordt toegewezen aan Codex app-server turn/steer. Met de standaard messages.queue.mode: "steer" batcht OpenClaw chatberichten in steer-modus voor het geconfigureerde stille venster en verzendt ze als één turn/steer- verzoek in aankomstvolgorde.

Codex-review en handmatige Compaction-beurten kunnen sturing in dezelfde beurt weigeren. In dat geval wacht OpenClaw tot de actieve run is voltooid voordat de prompt wordt gestart. Gebruik /queue followup of /queue collect wanneer berichten standaard in de wachtrij moeten komen in plaats van te sturen. Zie Sturingswachtrij.

Codex-feedbackupload

Wanneer /diagnostics [note] wordt goedgekeurd voor een sessie die het native Codex- harnas gebruikt, roept OpenClaw ook Codex app-server feedback/upload aan voor relevante Codex-threads. De upload vraagt app-server om logs op te nemen voor elke vermelde thread en voortgebrachte Codex-subthreads wanneer beschikbaar.

De upload loopt via het normale feedbackpad van Codex naar OpenAI-servers. Als Codex- feedback is uitgeschakeld in die app-server, retourneert de opdracht de app-server- fout. Het voltooide diagnostiekantwoord vermeldt de kanalen, OpenClaw-sessie-id's, Codex-thread-id's en lokale codex resume <thread-id>-opdrachten voor de threads die zijn verzonden.

Als je de goedkeuring weigert of negeert, drukt OpenClaw die Codex-id's niet af en verstuurt het geen Codex-feedback. De upload vervangt de lokale Gateway- diagnostiekexport niet. Zie Diagnostiekexport voor het goedkeurings-, privacy-, lokale bundel- en groepschatgedrag.

Gebruik /codex diagnostics [note] alleen wanneer je specifiek de Codex- feedbackupload wilt voor de momenteel gekoppelde thread zonder de volledige Gateway- diagnostiekbundel.

Compaction en transcriptspiegel

Wanneer het geselecteerde model het Codex-harnas gebruikt, hoort native thread-Compaction bij Codex app-server. OpenClaw voert geen preflight-Compaction uit voor Codex-beurten, vervangt Codex-Compaction niet door context-engine-Compaction en valt niet terug op OpenClaw- of openbare OpenAI-samenvatting wanneer native Codex- Compaction niet kan worden gestart. OpenClaw houdt een transcriptspiegel bij voor kanaalgeschiedenis, zoeken, /new, /reset en toekomstig wisselen van model of harnas.

Expliciete Compaction-verzoeken, zoals /compact of een door een Plugin aangevraagde handmatige compact-bewerking, starten native Codex-Compaction met thread/compact/start. OpenClaw houdt het verzoek en de shared-client-lease open totdat Codex het bijbehorende voltooiingsitem contextCompaction uitzendt en meldt de Compaction-beurt daarna als voltooid. Als die terminale beurt de geconfigureerde Compaction-time-out overschrijdt, vraagt OpenClaw een native beurtinterrupt aan. De lease en per-thread Compaction- fence blijven vastgehouden totdat Codex de terminale status meldt of de interrupt-RPC bevestigt. Als Codex niet binnen de interrupt-gratieperiode bevestigt, trekt OpenClaw de verbinding terug voordat de fence wordt vrijgegeven. Externe verbindingen ontkoppelen ook de bijbehorende threadbinding zodat later werk geen onbevestigde externe beurt kan overlappen. Andere beurten op een teruggetrokken verbinding falen en kunnen opnieuw proberen met een nieuwe client. Clientsluiting, aanvraagannulering of een mislukte Compaction-beurt retourneert een mislukte bewerking.

Wanneer een context-engine Codex-thread-bootstrapprojectie aanvraagt, projecteert OpenClaw tool-call-namen en -id's, invoervormen en geredigeerde tool-resultaatinhoud naar de nieuwe Codex-thread. Het kopieert geen ruwe argumentwaarden van tool-calls naar die projectie.

De spiegel bevat de gebruikersprompt, definitieve assistenttekst en lichte Codex- redeneer- of planrecords wanneer app-server die uitzendt. OpenClaw registreert de start en terminale status van native Compaction, maar stelt geen menselijk leesbare Compaction-samenvatting of controleerbare lijst beschikbaar van welke items Codex na Compaction heeft behouden.

Omdat Codex eigenaar is van de canonieke native thread, herschrijft tool_result_persist momenteel geen Codex-native tool-resultaatrecords. Het is alleen van toepassing wanneer OpenClaw een tool-resultaat schrijft in een sessietranscript waarvan OpenClaw eigenaar is.

Media en levering

OpenClaw blijft eigenaar van medialevering en selectie van mediaproviders. Begrip van afbeeldingen, video, muziek, PDF, TTS en media gebruikt overeenkomende provider-/modelinstellingen zoals agents.defaults.imageGenerationModel, videoGenerationModel, pdfModel en messages.tts.

Tekst, afbeeldingen, video, muziek, TTS, goedkeuringen en uitvoer van berichtentools blijven via het normale OpenClaw-leveringspad lopen. Mediageneratie vereist de legacy runtime niet. Wanneer Codex een native afbeeldingsgeneratie-item uitzendt met een savedPath, stuurt OpenClaw dat exacte bestand door via het normale antwoord-mediapad, zelfs als de Codex- beurt geen assistenttekst heeft.

Gerelateerd

Was this useful?
On this page

On this page