Codex harness
Systeemeigen Codex-plugins
Native Codex-Plugin-ondersteuning laat een Codex-modus OpenClaw-agent de eigen app- en Plugin-mogelijkheden van Codex app-server gebruiken binnen dezelfde Codex-thread die de OpenClaw-beurt afhandelt.
OpenClaw vertaalt Codex-plugins niet naar synthetische codex_plugin_*
dynamische OpenClaw-tools. Plugin-aanroepen blijven in het native Codex-transcript, en
Codex app-server is eigenaar van de app-ondersteunde MCP-uitvoering.
Gebruik deze pagina nadat de basis-Codex-harness werkt.
Vereisten
- De geselecteerde OpenClaw-agentruntime moet de native Codex-harness zijn.
plugins.entries.codex.enabledmoet true zijn.plugins.entries.codex.config.codexPlugins.enabledmoet true zijn.- V1 ondersteunt alleen
openai-curatedplugins die volgens de migratie als bron-geïnstalleerd in de bron-Codex-home zijn waargenomen. - De doel-Codex app-server moet de verwachte marketplace-, Plugin- en app-inventaris kunnen zien.
codexPlugins heeft geen effect op PI-uitvoeringen, normale OpenAI-provideruitvoeringen, ACP
conversatiebindingen of andere harnesses, omdat die paden geen
Codex app-server-threads met native apps-config maken.
Snelstart
Bekijk een migratievoorbeeld vanuit de bron-Codex-home:
openclaw migrate codex --dry-run
Gebruik strikte bronappverificatie wanneer je wilt dat migratie de toegankelijkheid van bronapps controleert voordat native Plugin-activering wordt gepland:
openclaw migrate codex --dry-run --verify-plugin-apps
Pas de migratie toe wanneer het plan er goed uitziet:
openclaw migrate apply codex --yes
Migratie schrijft expliciete codexPlugins-vermeldingen voor in aanmerking komende plugins en roept
Codex app-server plugin/install aan voor geselecteerde plugins. Een typische gemigreerde
config ziet er zo uit:
{
plugins: {
entries: {
codex: {
enabled: true,
config: {
codexPlugins: {
enabled: true,
allow_destructive_actions: true,
plugins: {
"google-calendar": {
enabled: true,
marketplaceName: "openai-curated",
pluginName: "google-calendar",
},
},
},
},
},
},
},
}
Gebruik na het wijzigen van codexPlugins /new, /reset, of herstart de Gateway zodat
toekomstige Codex-harnesssessies starten met de bijgewerkte app-set.
Hoe native Plugin-configuratie werkt
De integratie heeft drie afzonderlijke statussen:
- Geïnstalleerd: Codex heeft de lokale Plugin-bundel in de doel-app-serverruntime.
- Ingeschakeld: OpenClaw-config is bereid de Plugin beschikbaar te maken voor Codex-harnessbeurten.
- Toegankelijk: Codex app-server bevestigt dat de app-vermeldingen van de Plugin beschikbaar zijn voor het actieve account en kunnen worden gekoppeld aan de gemigreerde Plugin-identiteit.
Migratie is de duurzame installatie-/geschiktheidsstap. Tijdens het plannen leest OpenClaw
bron-Codex plugin/read-details en controleert het of de accountrespons van de bron-Codex
app-server een ChatGPT-abonnementsaccount is. Niet-ChatGPT- of
ontbrekende accountresponsen slaan app-ondersteunde plugins over met
codex_subscription_required. Standaard roept migratie bron-app/list niet aan;
app-ondersteunde bronplugins die door de accountpoort komen, worden gepland
zonder verificatie van bronapptoegankelijkheid, en transportfouten bij accountopzoeking
worden overgeslagen met codex_account_unavailable. Met --verify-plugin-apps
maakt migratie een nieuwe bron-app/list-momentopname en vereist het dat elke app in eigendom
aanwezig, ingeschakeld en toegankelijk is voordat native activering wordt gepland. In
die modus vallen transportfouten bij accountopzoeking door naar de bron-
app-inventarispoort. Runtime-appinventaris is de toegankelijkheidscontrole voor de doelsessie
na migratie. De sessieconfiguratie van de Codex-harness berekent vervolgens een beperkende
thread-appconfiguratie voor de ingeschakelde en toegankelijke Plugin-apps.
Thread-appconfiguratie wordt berekend wanneer OpenClaw een Codex-harnesssessie tot stand brengt of een verouderde Codex-threadbinding vervangt. Deze wordt niet bij elke beurt opnieuw berekend.
V1-ondersteuningsgrens
V1 is bewust smal:
- Alleen
openai-curatedplugins die al waren geïnstalleerd in de bron-Codex app-serverinventaris komen in aanmerking voor migratie. - App-ondersteunde bronplugins moeten door de abonnementspoort tijdens migratie komen.
--verify-plugin-appsvoegt de bron-app-inventarispoort toe. Accounts die door abonnementen worden afgeschermd plus, in verificatiemodus, ontoegankelijke, uitgeschakelde of ontbrekende bronapps of mislukte bron-app-inventarisverversingen worden gerapporteerd als overgeslagen handmatige items in plaats van ingeschakelde configvermeldingen. Onleesbare Plugin-details worden overgeslagen vóór de bron-app-inventarispoort. - Migratie schrijft expliciete Plugin-identiteiten met
marketplaceNameenpluginName; het schrijft geen lokalemarketplacePath-cachepaden. codexPlugins.enabledis de globale inschakelschakelaar.- Er is geen
plugins["*"]-wildcard en geen configsleutel die willekeurige installatiebevoegdheid verleent. - Niet-ondersteunde marketplaces, gecachte Plugin-bundels, hooks en Codex-configbestanden blijven in het migratierapport behouden voor handmatige beoordeling.
App-inventaris en eigenaarschap
OpenClaw leest de Codex-appinventaris via app-server app/list, cachet deze
één uur en ververst verouderde of ontbrekende vermeldingen asynchroon. De cache is
alleen in het geheugen; het herstarten van de CLI of Gateway verwijdert deze, en OpenClaw bouwt deze opnieuw op
vanaf de volgende app/list-lezing.
Migratie en runtime gebruiken afzonderlijke cachesleutels:
- Bronmigratieverificatie gebruikt de bron-Codex-home en bron-app-server
startopties. Dit wordt alleen uitgevoerd wanneer
--verify-plugin-appsis ingesteld, en het forceert een nieuwe bron-app/list-traversal voor die planningsrun. - Doelruntimeconfiguratie gebruikt de Codex app-server-identiteit van de doelagent wanneer deze
de Codex-thread-appconfiguratie bouwt. Plugin-activering maakt die doel-
cachesleutel ongeldig en force-ververst deze daarna na
plugin/install.
Een Plugin-app wordt alleen blootgesteld wanneer OpenClaw deze kan terugkoppelen naar de gemigreerde Plugin via stabiel eigenaarschap:
- exacte app-id uit Plugin-detail
- bekende MCP-servernaam
- unieke stabiele metadata
Alleen weergavenaam of ambigu eigenaarschap wordt uitgesloten totdat de volgende inventaris- verversing eigenaarschap bewijst.
Thread-appconfiguratie
OpenClaw injecteert een beperkende config.apps-patch voor de Codex-thread:
_default is uitgeschakeld en alleen apps die eigendom zijn van ingeschakelde gemigreerde plugins zijn
ingeschakeld.
OpenClaw stelt appniveau-destructive_enabled in vanuit het effectieve globale of
per-Plugin allow_destructive_actions-beleid en laat Codex destructieve
toolmetadata afdwingen vanuit de native app-toolannotaties. De _default
appconfig is uitgeschakeld met open_world_enabled: false. Ingeschakelde Plugin-apps
worden uitgegeven met open_world_enabled: true; OpenClaw biedt geen afzonderlijke
Plugin open-world beleidsknop en onderhoudt geen per-Plugin deny lists voor destructieve
toolnamen.
Toolgoedkeuringsmodus is standaard automatisch voor Plugin-apps, zodat niet-destructieve
leestools kunnen worden uitgevoerd zonder goedkeurings-UI in dezelfde thread. Destructieve tools blijven
beheerst door het destructive_enabled-beleid van elke app.
Beleid voor destructieve acties
Destructieve Plugin-elicitations zijn standaard toegestaan voor gemigreerde Codex- plugins, terwijl onveilige schema's en ambigu eigenaarschap nog steeds gesloten falen:
- Globale
allow_destructive_actionsstaat standaard optrue. - Per-Plugin
allow_destructive_actionsoverschrijft het globale beleid voor die Plugin. - Wanneer beleid
falseis, retourneert OpenClaw een deterministische weigering. - Wanneer beleid
trueis, accepteert OpenClaw automatisch alleen veilige schema's die het kan koppelen aan een goedkeuringsrespons, zoals een boolean goedkeuringsveld. - Ontbrekende Plugin-identiteit, ambigu eigenaarschap, een ontbrekende beurt-id, een verkeerde beurt- id of een onveilig elicitation-schema weigert in plaats van te vragen.
Probleemoplossing
auth_required: migratie heeft de Plugin geïnstalleerd, maar een van de apps heeft nog steeds
authenticatie nodig. De expliciete Plugin-vermelding wordt uitgeschakeld geschreven totdat je
opnieuw autoriseert en deze inschakelt.
app_inaccessible, app_disabled, of app_missing:
migratie heeft de Plugin niet geïnstalleerd omdat de bron-Codex-appinventaris
niet alle apps in eigendom als aanwezig, ingeschakeld en toegankelijk liet zien terwijl
--verify-plugin-apps was ingesteld. Autoriseer opnieuw of schakel de app in Codex in en
voer migratie vervolgens opnieuw uit met --verify-plugin-apps.
app_inventory_unavailable: migratie heeft de Plugin niet geïnstalleerd omdat
strikte bronappverificatie was aangevraagd en het verversen van de bron-Codex-appinventaris
mislukte. Herstel toegang tot de bron-Codex app-server of probeer opnieuw zonder
--verify-plugin-apps als je het snellere account-gegate plan accepteert.
codex_subscription_required: migratie heeft de app-ondersteunde
Plugin niet geïnstalleerd omdat het bron-Codex app-serveraccount niet was ingelogd met een
ChatGPT-abonnementsaccount. Log in op de Codex-app met abonnementsauthenticatie,
en voer migratie vervolgens opnieuw uit.
codex_account_unavailable: migratie heeft de app-ondersteunde Plugin niet geïnstalleerd
omdat het bron-Codex app-serveraccount niet kon worden gelezen. Herstel bron-Codex
app-serverauthenticatie of voer opnieuw uit met --verify-plugin-apps als je wilt dat bronapp-
inventaris de geschiktheid bepaalt wanneer accountopzoeking mislukt.
marketplace_missing of plugin_missing: de doel-Codex app-server
kan de verwachte openai-curated marketplace of Plugin niet zien. Voer migratie opnieuw uit
tegen de doelruntime of inspecteer de Plugin-status van Codex app-server.
app_inventory_missing of app_inventory_stale: appgereedheid kwam uit een
lege of verouderde cache. OpenClaw plant een asynchrone verversing en sluit Plugin-
apps uit totdat eigenaarschap en gereedheid bekend zijn.
app_ownership_ambiguous: appinventaris kwam alleen overeen op weergavenaam, dus
de app wordt niet blootgesteld aan de Codex-thread.
Config gewijzigd maar de agent kan de Plugin niet zien: gebruik /new, /reset, of
herstart de Gateway. Bestaande Codex-threadbindingen behouden de appconfiguratie waarmee ze
zijn gestart totdat OpenClaw een nieuwe harnesssessie tot stand brengt of een
verouderde binding vervangt.
Destructieve actie wordt geweigerd: controleer de globale en per-Plugin
allow_destructive_actions-waarden. Zelfs wanneer beleid true is, falen onveilige elicitation-
schema's en ambigue Plugin-identiteit nog steeds gesloten.