Harnais Codex
Le plugincodex intégré permet à OpenClaw d’exécuter des tours d’agent intégrés via le
app-server Codex au lieu du harnais PI intégré.
Utilisez-le lorsque vous voulez que Codex prenne en charge la session d’agent de bas niveau : découverte
des modèles, reprise native des fils, compaction native et exécution via app-server.
OpenClaw conserve la responsabilité des chat channels, des fichiers de session, de la sélection des modèles, des outils,
des approbations, de la livraison des médias et du miroir de transcription visible.
Le harnais est désactivé par défaut. Il n’est sélectionné que lorsque le plugin codex est
activé et que le modèle résolu est un modèle codex/*, ou lorsque vous forcez explicitement
embeddedHarness.runtime: "codex" ou OPENCLAW_AGENT_RUNTIME=codex.
Si vous ne configurez jamais codex/*, les exécutions PI, OpenAI, Anthropic, Gemini, local
et custom-provider existantes conservent leur comportement actuel.
Choisir le bon préfixe de modèle
OpenClaw possède des routes distinctes pour l’accès de type OpenAI et Codex :| Référence de modèle | Chemin d’exécution | À utiliser lorsque |
|---|---|---|
openai/gpt-5.4 | Fournisseur OpenAI via le plumbing OpenClaw/PI | Vous voulez un accès direct à l’API OpenAI Platform avec OPENAI_API_KEY. |
openai-codex/gpt-5.4 | Fournisseur OpenAI Codex OAuth via PI | Vous voulez ChatGPT/Codex OAuth sans le harnais app-server Codex. |
codex/gpt-5.4 | Fournisseur Codex intégré plus harnais Codex | Vous voulez l’exécution native app-server Codex pour le tour d’agent intégré. |
codex/*. Les références existantes openai/*,
openai-codex/*, Anthropic, Gemini, xAI, local et custom provider conservent
leurs chemins normaux.
Exigences
- OpenClaw avec le plugin
codexintégré disponible. - app-server Codex
0.118.0ou version plus récente. - Authentification Codex disponible pour le processus app-server.
OPENAI_API_KEY, plus
des fichiers CLI Codex facultatifs tels que ~/.codex/auth.json et
~/.codex/config.toml. Utilisez les mêmes éléments d’authentification que votre app-server Codex local
utilise.
Configuration minimale
Utilisezcodex/gpt-5.4, activez le plugin intégré et forcez le harnais codex :
plugins.allow, incluez aussi codex :
agents.defaults.model ou le modèle d’un agent sur codex/<model> active également
automatiquement le plugin codex intégré. L’entrée de plugin explicite reste
utile dans les configurations partagées, car elle rend l’intention de déploiement évidente.
Ajouter Codex sans remplacer les autres modèles
Conservezruntime: "auto" lorsque vous voulez Codex pour les modèles codex/* et PI pour
tout le reste :
/model codexou/model codex/gpt-5.4utilise le harnais app-server Codex./model gptou/model openai/gpt-5.4utilise le chemin du fournisseur OpenAI./model opusutilise le chemin du fournisseur Anthropic.- Si un modèle non Codex est sélectionné, PI reste le harnais de compatibilité.
Déploiements Codex uniquement
Désactivez le fallback PI lorsque vous devez prouver que chaque tour d’agent intégré utilise le harnais Codex :codex/*, si le app-server est trop ancien, ou si le
app-server ne peut pas démarrer.
Codex par agent
Vous pouvez rendre un agent Codex uniquement tandis que l’agent par défaut conserve la sélection automatique normale :/new crée une nouvelle
session OpenClaw et le harnais Codex crée ou reprend son fil app-server sidecar
selon les besoins. /reset efface la liaison de session OpenClaw pour ce fil.
Découverte des modèles
Par défaut, le plugin Codex interroge le app-server pour connaître les modèles disponibles. Si la découverte échoue ou expire, il utilise le catalogue de fallback intégré :codex/gpt-5.4codex/gpt-5.4-minicodex/gpt-5.2
plugins.entries.codex.config.discovery :
Connexion app-server et politique
Par défaut, le plugin démarre Codex localement avec :appServer pris en charge :
| Champ | Valeur par défaut | Signification |
|---|---|---|
transport | "stdio" | "stdio" lance Codex ; "websocket" se connecte à url. |
command | "codex" | Exécutable pour le transport stdio. |
args | ["app-server", "--listen", "stdio://"] | Arguments pour le transport stdio. |
url | non défini | URL WebSocket du app-server. |
authToken | non défini | Jeton Bearer pour le transport WebSocket. |
headers | {} | En-têtes WebSocket supplémentaires. |
requestTimeoutMs | 60000 | Délai d’expiration pour les appels du plan de contrôle app-server. |
approvalPolicy | "never" | Politique d’approbation native Codex envoyée au démarrage/reprise/tour du fil. |
sandbox | "workspace-write" | Mode sandbox natif Codex envoyé au démarrage/reprise du fil. |
approvalsReviewer | "user" | Utilisez "guardian_subagent" pour laisser le guardian Codex examiner les approbations natives. |
serviceTier | non défini | Niveau de service Codex facultatif, par exemple "priority". |
OPENCLAW_CODEX_APP_SERVER_BINOPENCLAW_CODEX_APP_SERVER_ARGSOPENCLAW_CODEX_APP_SERVER_APPROVAL_POLICYOPENCLAW_CODEX_APP_SERVER_SANDBOXOPENCLAW_CODEX_APP_SERVER_GUARDIAN=1
Recettes courantes
Codex local avec le transport stdio par défaut :codex/*, le fournisseur, la politique d’approbation, le sandbox et le niveau de service actuellement sélectionnés à
app-server. Passer de codex/gpt-5.4 à codex/gpt-5.2 conserve la
liaison du fil mais demande à Codex de continuer avec le modèle nouvellement sélectionné.
Commande Codex
Le plugin intégré enregistre/codex comme commande slash autorisée. Elle est
générique et fonctionne sur tout channel qui prend en charge les commandes texte OpenClaw.
Formes courantes :
/codex statusaffiche la connectivité app-server en direct, les modèles, le compte, les limites de débit, les serveurs MCP et les Skills./codex modelsliste les modèles app-server Codex en direct./codex threads [filter]liste les fils Codex récents./codex resume <thread-id>attache la session OpenClaw actuelle à un fil Codex existant./codex compactdemande à app-server Codex de compacter le fil attaché./codex reviewdémarre la révision native Codex pour le fil attaché./codex accountaffiche l’état du compte et des limites de débit./codex mcpliste l’état des serveurs MCP app-server Codex./codex skillsliste les Skills app-server Codex.
/codex resume écrit le même fichier de liaison sidecar que le harnais utilise pour
les tours normaux. Au message suivant, OpenClaw reprend ce fil Codex, transmet le
modèle OpenClaw codex/* actuellement sélectionné à app-server et conserve l’historique
étendu activé.
La surface de commande exige Codex app-server 0.118.0 ou une version plus récente. Les méthodes de
contrôle individuelles sont signalées comme unsupported by this Codex app-server si un
app-server futur ou personnalisé n’expose pas cette méthode JSON-RPC.
Outils, médias et compaction
Le harnais Codex modifie uniquement l’exécuteur d’agent intégré de bas niveau. OpenClaw continue de construire la liste des outils et de recevoir les résultats d’outils dynamiques depuis le harnais. Le texte, les images, la vidéo, la musique, la synthèse vocale, les approbations et la sortie des outils de messagerie continuent de passer par le chemin de livraison normal d’OpenClaw. Lorsque le modèle sélectionné utilise le harnais Codex, la compaction native du fil est déléguée à app-server Codex. OpenClaw conserve un miroir de transcription pour l’historique du channel, la recherche,/new, /reset et les futurs changements de modèle ou de harnais. Le
miroir inclut l’invite utilisateur, le texte final de l’assistant et des enregistrements légers de raisonnement ou de plan Codex lorsque le
app-server les émet.
La génération de médias ne nécessite pas PI. L’image, la vidéo, la musique, le PDF, la synthèse vocale et la
compréhension des médias continuent d’utiliser les paramètres provider/model correspondants tels que
agents.defaults.imageGenerationModel, videoGenerationModel, pdfModel et
messages.tts.
Dépannage
Codex n’apparaît pas dans/model : activez plugins.entries.codex.enabled,
définissez une référence de modèle codex/*, ou vérifiez si plugins.allow exclut codex.
OpenClaw bascule vers PI : définissez embeddedHarness.fallback: "none" ou
OPENCLAW_AGENT_HARNESS_FALLBACK=none pendant les tests.
Le app-server est rejeté : mettez à niveau Codex afin que le handshake app-server
signale la version 0.118.0 ou une version plus récente.
La découverte des modèles est lente : réduisez plugins.entries.codex.config.discovery.timeoutMs
ou désactivez la découverte.
Le transport WebSocket échoue immédiatement : vérifiez appServer.url, authToken,
et que le app-server distant parle la même version du protocole app-server Codex.
Un modèle non Codex utilise PI : c’est attendu. Le harnais Codex ne prend en charge
que les références de modèle codex/*.