Codex harness

Référence du harnais Codex

Cette référence couvre la configuration détaillée du Plugin codex intégré. Pour la configuration initiale et les décisions de routage, commencez par harnais Codex.

Surface de configuration du Plugin

Tous les paramĂštres du harnais Codex se trouvent sous plugins.entries.codex.config.

json5
{  plugins: {    entries: {      codex: {        enabled: true,        config: {          discovery: {            enabled: true,            timeoutMs: 2500,          },          appServer: {            mode: "guardian",          },        },      },    },  },}

Champs de premier niveau pris en charge :

Champ Valeur par défaut Signification
discovery activĂ© ParamĂštres de dĂ©couverte des modĂšles pour model/list de l’app-server Codex.
appServer app-server stdio gĂ©rĂ© ParamĂštres de transport, commande, authentification, approbation, sandbox et dĂ©lai d’expiration.
codexDynamicToolsLoading "searchable" Utilisez "direct" pour placer les outils dynamiques OpenClaw directement dans le contexte initial des outils Codex.
codexDynamicToolsExclude [] Noms supplĂ©mentaires d’outils dynamiques OpenClaw Ă  omettre des tours d’app-server Codex.
codexPlugins désactivé Prise en charge native des Plugins/applications Codex pour les plugins sélectionnés installés depuis la source et migrés. Voir Plugins Codex natifs.
computerUse désactivé Configuration de Codex Computer Use. Voir Codex Computer Use.

Transport de l’app-server

Par défaut, OpenClaw démarre le binaire Codex géré livré avec le Plugin intégré :

bash
codex app-server --listen stdio://

Cela garde la version de l’app-server liĂ©e au Plugin codex intĂ©grĂ© au lieu de celle d’une CLI Codex distincte qui se trouve installĂ©e localement. DĂ©finissez appServer.command uniquement lorsque vous souhaitez intentionnellement exĂ©cuter un autre exĂ©cutable.

Pour un app-server dĂ©jĂ  en cours d’exĂ©cution, utilisez le transport WebSocket :

json5
{  plugins: {    entries: {      codex: {        enabled: true,        config: {          appServer: {            transport: "websocket",            url: "ws://gateway-host:39175",            authToken: "${CODEX_APP_SERVER_TOKEN}",            requestTimeoutMs: 60000,          },        },      },    },  },}

Champs appServer pris en charge :

Champ Par défaut Signification
transport "stdio" "stdio" lance Codex ; "websocket" se connecte Ă  url.
homeScope "agent" "agent" isole l’état de Codex par agent OpenClaw. "user" partage le $CODEX_HOME natif ou ~/.codex, utilise l’authentification native et active la gestion des fils rĂ©servĂ©e au propriĂ©taire. La portĂ©e utilisateur nĂ©cessite stdio.
command binaire Codex géré Exécutable pour le transport stdio. Laissez non défini pour utiliser le binaire géré.
args ["app-server", "--listen", "stdio://"] Arguments pour le transport stdio.
url non défini URL WebSocket app-server.
authToken non défini Jeton Bearer pour le transport WebSocket. Accepte une chaßne littérale ou une SecretInput comme ${CODEX_APP_SERVER_TOKEN}.
headers {} En-tĂȘtes WebSocket supplĂ©mentaires. Les valeurs d’en-tĂȘte acceptent des chaĂźnes littĂ©rales ou des valeurs SecretInput, par exemple x-codex-client-session-token: "${CODEX_CLIENT_SESSION_TOKEN}".
clearEnv [] Noms de variables d’environnement supplĂ©mentaires supprimĂ©s du processus app-server stdio lancĂ© aprĂšs qu’OpenClaw a construit son environnement hĂ©ritĂ©.
remoteWorkspaceRoot non dĂ©fini Racine de l’espace de travail distant de l’app-server Codex. Lorsqu’elle est dĂ©finie, OpenClaw dĂ©duit la racine de l’espace de travail local Ă  partir de l’espace de travail OpenClaw rĂ©solu, prĂ©serve le suffixe cwd actuel sous cette racine distante et envoie uniquement le cwd app-server final Ă  Codex. Si le cwd se trouve en dehors de la racine de l’espace de travail OpenClaw rĂ©solue, OpenClaw Ă©choue de maniĂšre fermĂ©e au lieu d’envoyer un chemin local au Gateway Ă  l’app-server distant.
requestTimeoutMs 60000 DĂ©lai d’expiration pour les appels de plan de contrĂŽle app-server.
turnCompletionIdleTimeoutMs 60000 FenĂȘtre de silence aprĂšs que Codex a acceptĂ© un tour ou aprĂšs une requĂȘte app-server limitĂ©e au tour pendant qu’OpenClaw attend turn/completed.
postToolRawAssistantCompletionIdleTimeoutMs 300000 Garde d’inactivitĂ© de complĂ©tion et de progression utilisĂ©e aprĂšs un transfert d’outil, une complĂ©tion d’outil natif, une progression brute de l’assistant aprĂšs outil, une complĂ©tion de raisonnement brut ou une progression de raisonnement pendant qu’OpenClaw attend turn/completed. Utilisez ce paramĂštre pour les charges de travail fiables ou lourdes oĂč la synthĂšse aprĂšs outil peut lĂ©gitimement rester silencieuse plus longtemps que le budget final de publication de l’assistant.
mode "yolo" sauf si les exigences Codex locales interdisent YOLO Préréglage pour une exécution YOLO ou revue par le gardien.
approvalPolicy "never" ou une politique d’approbation de gardien autorisĂ©e Politique d’approbation Codex native envoyĂ©e au dĂ©marrage du fil, Ă  la reprise et au tour.
sandbox "danger-full-access" ou un sandbox de gardien autorisĂ© Mode sandbox Codex natif envoyĂ© au dĂ©marrage et Ă  la reprise du fil. Les sandboxes OpenClaw actifs restreignent les tours danger-full-access Ă  Codex workspace-write ; l’indicateur rĂ©seau du tour suit la sortie du sandbox OpenClaw.
approvalsReviewer "user" ou un rĂ©viseur de gardien autorisĂ© Utilisez "auto_review" pour laisser Codex examiner les invites d’approbation natives lorsque cela est autorisĂ©.
defaultWorkspaceDir répertoire du processus actuel Espace de travail utilisé par /codex bind lorsque --cwd est omis.
serviceTier non dĂ©fini Niveau de service app-server Codex facultatif. "priority" active le routage en mode rapide, "flex" demande un traitement flex, et null efface le remplacement. L’ancien "fast" est acceptĂ© comme "priority".
networkProxy dĂ©sactivĂ© Opte pour le rĂ©seau de profil d’autorisations Codex pour les commandes app-server. OpenClaw dĂ©finit la configuration permissions.<profile>.network sĂ©lectionnĂ©e et la sĂ©lectionne avec default_permissions au lieu d’envoyer sandbox.
experimental.sandboxExecServer false Option d’aperçu qui enregistre un environnement Codex adossĂ© au sandbox OpenClaw auprĂšs de Codex app-server 0.132.0 ou plus rĂ©cent afin que l’exĂ©cution Codex native puisse s’exĂ©cuter dans le sandbox OpenClaw actif.

appServer.networkProxy est explicite parce qu’il modifie le contrat de sandbox Codex. Lorsqu’il est activĂ©, OpenClaw dĂ©finit aussi features.network_proxy.enabled et default_permissions dans la configuration du fil Codex afin que le profil d’autorisations gĂ©nĂ©rĂ© puisse dĂ©marrer le rĂ©seau gĂ©rĂ© par Codex. Par dĂ©faut, OpenClaw gĂ©nĂšre un nom de profil openclaw-network-<fingerprint> rĂ©sistant aux collisions Ă  partir du corps du profil ; utilisez profileName uniquement lorsqu’un nom local stable est requis.

js
export default {  plugins: {    entries: {      codex: {        config: {          appServer: {            sandbox: "workspace-write",            networkProxy: {              enabled: true,              domains: {                "api.openai.com": "allow",                "blocked.example.com": "deny",              },              allowUpstreamProxy: true,              proxyUrl: "http://127.0.0.1:3128",            },          },        },      },    },  },};

Si le runtime app-server normal devait ĂȘtre danger-full-access, l’activation de networkProxy utilise un accĂšs au systĂšme de fichiers de type workspace pour le profil d’autorisations gĂ©nĂ©rĂ©. L’application rĂ©seau gĂ©rĂ©e par Codex est un rĂ©seau sandboxĂ©, donc un profil avec accĂšs complet ne protĂ©gerait pas le trafic sortant.

Le Plugin bloque les handshakes app-server anciens ou non versionnĂ©s. L’app-server Codex doit dĂ©clarer la version stable 0.125.0 ou une version plus rĂ©cente.

OpenClaw traite les URL WebSocket app-server non loopback comme distantes et exige une authentification WebSocket porteuse d’identitĂ© via appServer.authToken ou un en-tĂȘte Authorization. appServer.authToken et chaque valeur appServer.headers.* peuvent ĂȘtre un SecretInput ; le runtime des secrets rĂ©sout les SecretRefs et les raccourcis d’environnement avant qu’OpenClaw ne construise les options de dĂ©marrage app-server, et les SecretRefs structurĂ©s non rĂ©solus Ă©chouent avant l’envoi de tout jeton ou en-tĂȘte. Lorsque des plugins Codex natifs sont configurĂ©s, OpenClaw utilise le plan de contrĂŽle de Plugin de l’app-server connectĂ© pour installer ou actualiser ces plugins, puis actualise l’inventaire des apps afin que les apps appartenant aux plugins soient visibles par le fil Codex. app/list reste la source d’inventaire et de mĂ©tadonnĂ©es faisant autoritĂ©, mais la politique OpenClaw dĂ©cide si thread/start envoie config.apps[appId].enabled = true pour une app listĂ©e et accessible, mĂȘme si Codex la marque actuellement comme dĂ©sactivĂ©e. Les identifiants d’app inconnus ou manquants restent en Ă©chec fermĂ© ; ce chemin active uniquement les plugins de marketplace via plugin/install et actualise l’inventaire. Connectez OpenClaw uniquement Ă  des app-servers distants approuvĂ©s pour accepter les installations de plugins gĂ©rĂ©es par OpenClaw et les actualisations d’inventaire d’apps.

Modes d’approbation et de sandbox

Les sessions app-server stdio locales utilisent par dĂ©faut le mode YOLO : approvalPolicy: "never", approvalsReviewer: "user" et sandbox: "danger-full-access". Cette posture d’opĂ©rateur local approuvĂ© permet aux tours OpenClaw sans surveillance et aux Heartbeats de progresser sans invites d’approbation natives auxquelles personne n’est prĂ©sent pour rĂ©pondre.

Si le fichier local d’exigences systĂšme de Codex interdit les valeurs YOLO implicites d’approbation, de rĂ©viseur ou de sandbox, OpenClaw traite plutĂŽt la valeur implicite par dĂ©faut comme guardian et sĂ©lectionne les autorisations guardian permises. tools.exec.mode: "auto" force Ă©galement les approbations Codex rĂ©visĂ©es par guardian et ne prĂ©serve pas les anciens overrides non sĂ»rs approvalPolicy: "never" ou sandbox: "danger-full-access" ; dĂ©finissez tools.exec.mode: "full" pour une posture intentionnelle sans approbation. Les entrĂ©es [[remote_sandbox_config]] correspondant au nom d’hĂŽte dans le mĂȘme fichier d’exigences sont honorĂ©es pour la dĂ©cision par dĂ©faut du sandbox.

Définissez appServer.mode: "guardian" pour les approbations Codex révisées par guardian :

json5
{  plugins: {    entries: {      codex: {        enabled: true,        config: {          appServer: {            mode: "guardian",            serviceTier: "priority",          },        },      },    },  },}

Le prĂ©rĂ©glage guardian s’étend Ă  approvalPolicy: "on-request", approvalsReviewer: "auto_review" et sandbox: "workspace-write" lorsque ces valeurs sont autorisĂ©es. Les champs de politique individuels remplacent mode. L’ancienne valeur de rĂ©viseur guardian_subagent est toujours acceptĂ©e comme alias de compatibilitĂ©, mais les nouvelles configurations devraient utiliser auto_review.

Lorsqu’un sandbox OpenClaw est actif, le processus app-server Codex local s’exĂ©cute toujours sur l’hĂŽte Gateway. OpenClaw dĂ©sactive donc pour ce tour le mode Code natif de Codex, les serveurs MCP utilisateur et l’exĂ©cution de Plugin adossĂ©e Ă  des apps, au lieu de considĂ©rer le sandboxing cĂŽtĂ© hĂŽte Codex comme Ă©quivalent au backend de sandbox OpenClaw. L’accĂšs shell est exposĂ© via des outils dynamiques adossĂ©s au sandbox OpenClaw, tels que sandbox_exec et sandbox_process, lorsque les outils exec/process normaux sont disponibles.

Sur les hĂŽtes Ubuntu/AppArmor, Codex bwrap peut Ă©chouer sous workspace-write avant le dĂ©marrage de la commande shell lorsque vous exĂ©cutez intentionnellement le workspace-write Codex natif sans sandboxing OpenClaw actif. Si vous voyez bwrap: setting up uid map: Permission denied ou bwrap: loopback: Failed RTM_NEWADDR: Operation not permitted, exĂ©cutez openclaw doctor et corrigez la politique d’espace de noms hĂŽte signalĂ©e pour l’utilisateur du service OpenClaw plutĂŽt que d’accorder des privilĂšges plus larges au conteneur Docker. PrĂ©fĂ©rez un profil AppArmor limitĂ© au processus de service ; le recours kernel.apparmor_restrict_unprivileged_userns=0 s’applique Ă  tout l’hĂŽte et comporte des compromis de sĂ©curitĂ©.

Exécution native sandboxée

La valeur par dĂ©faut stable est l’échec fermĂ© : le sandboxing OpenClaw actif dĂ©sactive les surfaces d’exĂ©cution natives Codex qui s’exĂ©cuteraient autrement depuis l’hĂŽte app-server Codex. Utilisez appServer.experimental.sandboxExecServer: true uniquement lorsque vous voulez essayer la prise en charge des environnements distants de Codex avec le backend de sandbox d’OpenClaw. Ce chemin en prĂ©version nĂ©cessite Codex app-server 0.132.0 ou une version plus rĂ©cente.

json5
{  plugins: {    entries: {      codex: {        enabled: true,        config: {          appServer: {            experimental: {              sandboxExecServer: true,            },          },        },      },    },  },}

Lorsque le drapeau est activĂ© et que la session OpenClaw actuelle est sandboxĂ©e, OpenClaw dĂ©marre un exec-server en local loopback adossĂ© au sandbox actif, l’enregistre auprĂšs de Codex app-server, puis dĂ©marre le fil et le tour Codex avec cet environnement appartenant Ă  OpenClaw. Si l’app-server ne peut pas enregistrer l’environnement, l’exĂ©cution Ă©choue en mode fermĂ© au lieu de revenir silencieusement Ă  l’exĂ©cution sur l’hĂŽte.

Ce chemin en prĂ©version est uniquement local. Un app-server WebSocket distant ne peut pas atteindre l’exec-server loopback sauf s’il s’exĂ©cute sur le mĂȘme hĂŽte ; OpenClaw rejette donc cette combinaison.

Authentification et isolation de l’environnement

Dans le home par agent par dĂ©faut, l’authentification est sĂ©lectionnĂ©e dans cet ordre :

  1. Un profil d’authentification OpenClaw Codex explicite pour l’agent.
  2. Le compte existant de l’app-server dans le home Codex de cet agent.
  3. Pour les lancements app-server stdio locaux uniquement, CODEX_API_KEY, puis OPENAI_API_KEY, lorsqu’aucun compte app-server n’est prĂ©sent et qu’une authentification OpenAI est encore requise.

Quand OpenClaw dĂ©tecte un profil d’authentification Codex de type abonnement ChatGPT, il retire CODEX_API_KEY et OPENAI_API_KEY du processus enfant Codex gĂ©nĂ©rĂ©. Cela garde les clĂ©s d’API de niveau Gateway disponibles pour les embeddings ou les modĂšles OpenAI directs sans faire facturer par accident les tours app-server Codex natifs via l’API.

Les profils explicites de clĂ© d’API Codex et le recours local stdio par clĂ© d’environnement utilisent la connexion app-server au lieu de l’environnement hĂ©ritĂ© du processus enfant. Les connexions app-server WebSocket ne reçoivent pas le recours par clĂ© d’API d’environnement Gateway ; utilisez un profil d’authentification explicite ou le compte propre de l’app-server distant.

Les lancements app-server stdio hĂ©ritent par dĂ©faut de l’environnement de processus d’OpenClaw. OpenClaw possĂšde le pont de compte app-server Codex et dĂ©finit CODEX_HOME sur un rĂ©pertoire par agent sous l’état OpenClaw de cet agent. Cela garde la configuration Codex, les comptes, le cache/les donnĂ©es de Plugin et l’état des fils limitĂ©s Ă  l’agent OpenClaw au lieu de les laisser fuir depuis le home personnel ~/.codex de l’opĂ©rateur.

DĂ©finissez appServer.homeScope: "user" pour partager l’état Codex natif avec Codex Desktop et la CLI. Ce mode limitĂ© au stdio local utilise $CODEX_HOME lorsqu’il est dĂ©fini et ~/.codex sinon, y compris l’authentification native, la configuration, les plugins et les fils. OpenClaw ignore son pont de profil d’authentification pour l’app-server. Les tours de propriĂ©taire vĂ©rifiĂ©s peuvent utiliser codex_threads pour lister, rechercher, lire, forker, renommer, archiver et restaurer ces fils. Forkez un fil avant de le poursuivre dans OpenClaw ; les processus Codex indĂ©pendants ne coordonnent pas les rĂ©dacteurs concurrents pour le mĂȘme fil.

OpenClaw ne réécrit pas HOME pour les lancements app-server locaux normaux. Les sous-processus exĂ©cutĂ©s par Codex, tels que openclaw, gh, git, les CLI cloud et les commandes shell, voient le home de processus normal et peuvent trouver la configuration et les jetons du home utilisateur. Codex peut Ă©galement dĂ©couvrir $HOME/.agents/skills et $HOME/.agents/plugins/marketplace.json ; cette dĂ©couverte .agents est intentionnellement partagĂ©e avec le home de l’opĂ©rateur et est distincte de l’état ~/.codex isolĂ©.

Dans la portĂ©e d’agent par dĂ©faut, les plugins OpenClaw et les instantanĂ©s de Skills OpenClaw continuent de passer par le registre de plugins et le chargeur de Skills propres Ă  OpenClaw ; les ressources Codex personnelles de ~/.codex, non. Si vous avez des Skills ou plugins Codex CLI utiles provenant d’un home Codex qui devraient faire partie d’un agent OpenClaw isolĂ©, inventoriez-les explicitement :

bash
openclaw migrate codex --dry-runopenclaw migrate apply codex --yes

Si un dĂ©ploiement nĂ©cessite une isolation supplĂ©mentaire de l’environnement, ajoutez ces variables Ă  appServer.clearEnv :

json5
{  plugins: {    entries: {      codex: {        enabled: true,        config: {          appServer: {            clearEnv: ["CODEX_API_KEY", "OPENAI_API_KEY"],          },        },      },    },  },}

appServer.clearEnv affecte uniquement le processus enfant app-server Codex gĂ©nĂ©rĂ©. OpenClaw retire CODEX_HOME et HOME de cette liste pendant la normalisation du lancement local : CODEX_HOME reste pointĂ© vers la portĂ©e agent ou utilisateur sĂ©lectionnĂ©e, et HOME reste hĂ©ritĂ© afin que les sous-processus puissent utiliser l’état normal du home utilisateur.

Outils dynamiques

Les outils dynamiques Codex utilisent par dĂ©faut le chargement searchable. OpenClaw n’expose pas les outils dynamiques qui dupliquent les opĂ©rations de workspace natives de Codex :

  • read
  • write
  • edit
  • apply_patch
  • exec
  • process
  • update_plan

La plupart des outils d’intĂ©gration OpenClaw restants, comme la messagerie, les mĂ©dias, Cron, le navigateur, les nƓuds, Gateway, heartbeat_respond et web_search, sont disponibles via la recherche d’outils Codex sous l’espace de noms openclaw. Cela rĂ©duit le contexte initial du modĂšle. sessions_yield et les rĂ©ponses de source limitĂ©es aux outils de message restent directs, car ce sont des contrats de contrĂŽle de tour. sessions_spawn reste recherchable afin que le spawn_agent natif de Codex demeure la surface principale de sous-agent Codex, tandis que la dĂ©lĂ©gation explicite OpenClaw ou ACP reste disponible via l’espace de noms d’outils dynamiques openclaw.

Définissez codexDynamicToolsLoading: "direct" uniquement lors de la connexion à un app-server Codex personnalisé qui ne peut pas rechercher les outils dynamiques différés, ou lors du débogage de la charge utile complÚte des outils.

DĂ©lais d’expiration

Les appels d’outils dynamiques appartenant Ă  OpenClaw sont bornĂ©s indĂ©pendamment de appServer.requestTimeoutMs. Chaque requĂȘte Codex item/tool/call utilise le premier dĂ©lai disponible dans cet ordre :

  • Un argument timeoutMs positif propre Ă  l’appel.
  • Pour image_generate, agents.defaults.imageGenerationModel.timeoutMs.
  • Pour image_generate sans dĂ©lai configurĂ©, la valeur par dĂ©faut de gĂ©nĂ©ration d’image de 120 secondes.
  • Pour l’outil de comprĂ©hension des mĂ©dias image, tools.media.image.timeoutSeconds converti en millisecondes, ou la valeur par dĂ©faut mĂ©dia de 60 secondes. Pour la comprĂ©hension d’image, cela s’applique Ă  la requĂȘte elle-mĂȘme et n’est pas rĂ©duit par le travail de prĂ©paration antĂ©rieur.
  • La valeur par dĂ©faut d’outil dynamique de 90 secondes.

Ce chien de garde est le budget externe de item/tool/call dynamique. Les dĂ©lais d’expiration de requĂȘte propres au fournisseur s’exĂ©cutent Ă  l’intĂ©rieur de cet appel et conservent leur propre sĂ©mantique de dĂ©lai. Les budgets des outils dynamiques sont plafonnĂ©s Ă  600000 ms. En cas de dĂ©lai dĂ©passĂ©, OpenClaw annule le signal de l’outil lorsque c’est pris en charge et renvoie Ă  Codex une rĂ©ponse d’outil dynamique Ă©chouĂ©e afin que le tour puisse continuer au lieu de laisser la session en processing.

AprĂšs que Codex accepte un tour, et aprĂšs qu’OpenClaw rĂ©pond Ă  une requĂȘte app-server limitĂ©e au tour, le harnais s’attend Ă  ce que Codex progresse dans le tour actuel et finisse Ă©ventuellement le tour natif avec turn/completed. Si l’app-server reste silencieux pendant appServer.turnCompletionIdleTimeoutMs, OpenClaw tente au mieux d’interrompre le tour Codex, enregistre un dĂ©lai diagnostique et libĂšre la file de session OpenClaw afin que les messages de chat suivants ne soient pas mis en attente derriĂšre un tour natif obsolĂšte.

La plupart des notifications non terminales pour le mĂȘme tour dĂ©sarment ce court watchdog parce que Codex a prouvĂ© que le tour est toujours actif. Les transferts d’outils utilisent un budget d’inactivitĂ© post-outil plus long : aprĂšs qu’OpenClaw renvoie une rĂ©ponse item/tool/call, aprĂšs l’achĂšvement d’élĂ©ments d’outils natifs comme commandExecution, aprĂšs les achĂšvements bruts custom_tool_call_output, et aprĂšs la progression brute post-outil de l’assistant, les achĂšvements bruts de raisonnement ou la progression du raisonnement. Le garde utilise appServer.postToolRawAssistantCompletionIdleTimeoutMs lorsqu’il est configurĂ© et utilise par dĂ©faut cinq minutes sinon. Ce mĂȘme budget post-outil Ă©tend Ă©galement le watchdog de progression pour la fenĂȘtre de synthĂšse silencieuse avant que Codex Ă©mette le prochain Ă©vĂ©nement du tour courant. Les achĂšvements de raisonnement, les achĂšvements agentMessage de commentary, ainsi que la progression brute de raisonnement ou d’assistant prĂ©-outil peuvent ĂȘtre suivis d’une rĂ©ponse finale automatique ; ils utilisent donc le garde de rĂ©ponse post-progression au lieu de libĂ©rer immĂ©diatement la voie de session. Seuls les Ă©lĂ©ments agentMessage final/non-commentary terminĂ©s et les achĂšvements bruts d’assistant prĂ©-outil arment la libĂ©ration de sortie de l’assistant : si Codex devient ensuite silencieux sans turn/completed, OpenClaw interrompt au mieux le tour natif et libĂšre la voie de session. Les Ă©checs de serveur d’application stdio rejouables sans risque, y compris les dĂ©lais d’inactivitĂ© d’achĂšvement de tour sans preuve d’assistant, d’outil, d’élĂ©ment actif ou d’effet de bord, sont retentĂ©s une fois sur une nouvelle tentative de serveur d’application. Les dĂ©lais dangereux retirent tout de mĂȘme le client de serveur d’application bloquĂ© et libĂšrent la voie de session OpenClaw. Ils effacent aussi la liaison obsolĂšte du thread natif au lieu d’ĂȘtre rejouĂ©s automatiquement. Les dĂ©lais de surveillance d’achĂšvement affichent un texte de dĂ©lai spĂ©cifique Ă  Codex : les cas rejouables sans risque indiquent que la rĂ©ponse peut ĂȘtre incomplĂšte, tandis que les cas dangereux demandent Ă  l’utilisateur de vĂ©rifier l’état actuel avant de rĂ©essayer. Les diagnostics publics de dĂ©lai incluent des champs structurels comme la derniĂšre mĂ©thode de notification du serveur d’application, l’identifiant/le type/le rĂŽle de l’élĂ©ment de rĂ©ponse brute de l’assistant, les nombres de requĂȘtes/d’élĂ©ments actifs, et l’état de surveillance armĂ©. Lorsque la derniĂšre notification est un Ă©lĂ©ment de rĂ©ponse brute de l’assistant, ils incluent Ă©galement un aperçu bornĂ© du texte de l’assistant. Ils n’incluent pas le prompt brut ni le contenu des outils.

Découverte des modÚles

Par dĂ©faut, le plugin Codex demande au serveur d’application les modĂšles disponibles. La disponibilitĂ© des modĂšles appartient au serveur d’application Codex ; la liste peut donc changer lorsqu’OpenClaw met Ă  niveau la version groupĂ©e de @openai/codex ou lorsqu’un dĂ©ploiement fait pointer appServer.command vers un autre binaire Codex. La disponibilitĂ© peut Ă©galement ĂȘtre propre au compte. Utilisez /codex models sur un gateway en cours d’exĂ©cution pour voir le catalogue actif pour ce harnais et ce compte.

Si la découverte échoue ou expire, OpenClaw utilise un catalogue de secours groupé pour :

  • GPT-5.5
  • GPT-5.4 mini

Le harnais groupĂ© actuel est @openai/codex 0.142.5. Une sonde model/list contre ce serveur d’application groupĂ© a renvoyĂ© ces lignes publiques de sĂ©lecteur :

Identifiant du modĂšle ModalitĂ©s d’entrĂ©e Efforts de raisonnement
gpt-5.5 texte, image low, medium, high, xhigh
gpt-5.4 texte, image low, medium, high, xhigh
gpt-5.4-mini texte, image low, medium, high, xhigh
gpt-5.3-codex-spark texte low, medium, high, xhigh

Des modĂšles masquĂ©s peuvent ĂȘtre renvoyĂ©s par le catalogue du serveur d’application pour des flux internes ou spĂ©cialisĂ©s, mais ce ne sont pas des choix normaux du sĂ©lecteur de modĂšles.

Ajustez la découverte sous plugins.entries.codex.config.discovery :

json5
{  plugins: {    entries: {      codex: {        enabled: true,        config: {          discovery: {            enabled: true,            timeoutMs: 2500,          },        },      },    },  },}

Désactivez la découverte lorsque vous voulez que le démarrage évite de sonder Codex et utilise uniquement le catalogue de secours :

json5
{  plugins: {    entries: {      codex: {        enabled: true,        config: {          discovery: {            enabled: false,          },        },      },    },  },}

Fichiers d’amorçage de l’espace de travail

Codex gĂšre lui-mĂȘme AGENTS.md via la dĂ©couverte native de documentation de projet. OpenClaw n’écrit pas de fichiers synthĂ©tiques de documentation de projet Codex et ne dĂ©pend pas des noms de fichiers de secours Codex pour les fichiers de persona, car les solutions de secours Codex ne s’appliquent que lorsque AGENTS.md est absent.

Pour la paritĂ© d’espace de travail OpenClaw, le harnais Codex rĂ©sout les autres fichiers d’amorçage. SOUL.md, IDENTITY.md, TOOLS.md et USER.md sont transmis comme instructions dĂ©veloppeur OpenClaw Codex parce qu’ils dĂ©finissent l’agent actif, les consignes d’espace de travail disponibles et le profil utilisateur. La liste compacte des Skills OpenClaw est transmise comme instructions dĂ©veloppeur de collaboration limitĂ©es au tour. Le contenu de HEARTBEAT.md n’est pas injectĂ© ; les tours de heartbeat reçoivent un pointeur en mode collaboration pour lire le fichier lorsqu’il existe et n’est pas vide. Le contenu de MEMORY.md provenant de l’espace de travail d’agent configurĂ© n’est pas collĂ© dans l’entrĂ©e de tour Codex native lorsque les outils de mĂ©moire sont disponibles pour cet espace de travail ; lorsqu’il existe, le harnais ajoute un petit pointeur de mĂ©moire d’espace de travail aux instructions dĂ©veloppeur de collaboration limitĂ©es au tour, et Codex doit utiliser memory_search ou memory_get lorsque la mĂ©moire durable est pertinente. Si les outils sont dĂ©sactivĂ©s, si la recherche mĂ©moire est indisponible, ou si l’espace de travail actif diffĂšre de l’espace de travail de mĂ©moire de l’agent, MEMORY.md utilise le chemin normal de contexte de tour bornĂ©. BOOTSTRAP.md, lorsqu’il est prĂ©sent, est transmis comme contexte de rĂ©fĂ©rence d’entrĂ©e de tour OpenClaw.

Remplacements d’environnement

Les remplacements d’environnement restent disponibles pour les tests locaux :

  • OPENCLAW_CODEX_APP_SERVER_BIN
  • OPENCLAW_CODEX_APP_SERVER_ARGS
  • OPENCLAW_CODEX_APP_SERVER_MODE=yolo|guardian
  • OPENCLAW_CODEX_APP_SERVER_APPROVAL_POLICY
  • OPENCLAW_CODEX_APP_SERVER_SANDBOX

OPENCLAW_CODEX_APP_SERVER_BIN contourne le binaire gĂ©rĂ© lorsque appServer.command n’est pas dĂ©fini.

OPENCLAW_CODEX_APP_SERVER_GUARDIAN=1 a Ă©tĂ© supprimĂ©. Utilisez plugins.entries.codex.config.appServer.mode: "guardian" Ă  la place, ou OPENCLAW_CODEX_APP_SERVER_MODE=guardian pour un test local ponctuel. La configuration est prĂ©fĂ©rĂ©e pour les dĂ©ploiements rĂ©pĂ©tables, car elle conserve le comportement du plugin dans le mĂȘme fichier revu que le reste de la configuration du harnais Codex.

Connexe

Was this useful?
On this page

On this page