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.
{ 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é :
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 :
{ 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.
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 :
{ 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.
{ 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 :
- Un profil dâauthentification OpenClaw Codex explicite pour lâagent.
- Le compte existant de lâapp-server dans le home Codex de cet agent.
- Pour les lancements app-server stdio locaux uniquement,
CODEX_API_KEY, puisOPENAI_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 :
openclaw migrate codex --dry-runopenclaw migrate apply codex --yesSi un dĂ©ploiement nĂ©cessite une isolation supplĂ©mentaire de lâenvironnement,
ajoutez ces variables Ă appServer.clearEnv :
{ 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 :
readwriteeditapply_patchexecprocessupdate_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
timeoutMspositif propre Ă lâappel. - Pour
image_generate,agents.defaults.imageGenerationModel.timeoutMs. - Pour
image_generatesans 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.timeoutSecondsconverti 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 :
{ 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 :
{ 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_BINOPENCLAW_CODEX_APP_SERVER_ARGSOPENCLAW_CODEX_APP_SERVER_MODE=yolo|guardianOPENCLAW_CODEX_APP_SERVER_APPROVAL_POLICYOPENCLAW_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.