| Couche | Exemples | Signification |
|---|---|---|
| Fournisseur | openai, anthropic, openai-codex | Comment OpenClaw s’authentifie, découvre les modèles et nomme les références de modèle. |
| Modèle | gpt-5.5, claude-opus-4-6 | Le modèle sélectionné pour le tour de l’agent. |
| Runtime d’agent | pi, codex, runtimes adossés à ACP | La boucle de bas niveau qui exécute le tour préparé. |
| Canal | Telegram, Discord, Slack, WhatsApp | L’endroit où les messages entrent et sortent d’OpenClaw. |
codex. La clé de configuration s’appelle toujours
embeddedHarness pour des raisons de compatibilité, mais la documentation destinée aux utilisateurs et la sortie d’état
devraient généralement parler de runtime.
La configuration Codex courante utilise le fournisseur openai avec le runtime codex :
Propriété du runtime
Différents runtimes possèdent différentes parts de la boucle.| Surface | Pi intégré OpenClaw | Serveur d’application Codex |
|---|---|---|
| Propriétaire de la boucle de modèle | OpenClaw via l’exécuteur Pi intégré | Serveur d’application Codex |
| État canonique du fil | Transcription OpenClaw | Fil Codex, plus miroir de transcription OpenClaw |
| Outils dynamiques OpenClaw | Boucle d’outils native OpenClaw | Reliés via l’adaptateur Codex |
| Outils shell et fichiers natifs | Chemin Pi/OpenClaw | Outils natifs Codex, reliés via des hooks natifs lorsque pris en charge |
| Moteur de contexte | Assemblage de contexte natif OpenClaw | Contexte assemblé par les projets OpenClaw dans le tour Codex |
| Compaction | OpenClaw ou moteur de contexte sélectionné | Compaction native Codex, avec notifications OpenClaw et maintenance du miroir |
| Distribution par canal | OpenClaw | OpenClaw |
- Si OpenClaw possède la surface, OpenClaw peut fournir le comportement normal des hooks de Plugin.
- Si le runtime natif possède la surface, OpenClaw a besoin d’événements de runtime ou de hooks natifs.
- Si le runtime natif possède l’état canonique du fil, OpenClaw doit mettre en miroir et projeter le contexte, et non réécrire des éléments internes non pris en charge.
Sélection du runtime
OpenClaw choisit un runtime intégré après la résolution du fournisseur et du modèle :- Le runtime enregistré d’une session l’emporte. Les changements de configuration ne basculent pas à chaud une transcription existante vers un autre système de fil natif.
OPENCLAW_AGENT_RUNTIME=<id>force ce runtime pour les sessions nouvelles ou réinitialisées.agents.defaults.embeddedHarness.runtimeouagents.list[].embeddedHarness.runtimepeuvent définirauto,piou un ID de runtime enregistré tel quecodex.- En mode
auto, les runtimes de Plugin enregistrés peuvent revendiquer des paires fournisseur/modèle prises en charge. - Si aucun runtime ne revendique un tour en mode
autoet quefallback: "pi"est défini (valeur par défaut), OpenClaw utilise Pi comme solution de compatibilité. Définissezfallback: "none"pour faire échouer la sélection non correspondante en modeauto.
runtime: "codex" signifie Codex ou une erreur de sélection claire, sauf si vous définissez
fallback: "pi" dans la même portée de remplacement. Un remplacement de runtime n’hérite pas
d’un paramètre de repli plus large ; ainsi, un runtime: "codex" au niveau agent n’est pas
silencieusement rerouté vers Pi simplement parce que les valeurs par défaut utilisaient fallback: "pi".
Contrat de compatibilité
Lorsqu’un runtime n’est pas Pi, il doit documenter quelles surfaces OpenClaw il prend en charge. Utilisez cette structure pour la documentation du runtime :| Question | Pourquoi c’est important |
|---|---|
| Qui possède la boucle de modèle ? | Détermine où se produisent les réessais, la continuation d’outil et les décisions de réponse finale. |
| Qui possède l’historique canonique du fil ? | Détermine si OpenClaw peut modifier l’historique ou seulement le mettre en miroir. |
| Les outils dynamiques OpenClaw fonctionnent-ils ? | La messagerie, les sessions, Cron et les outils possédés par OpenClaw en dépendent. |
| Les hooks d’outils dynamiques fonctionnent-ils ? | Les Plugins attendent before_tool_call, after_tool_call et un middleware autour des outils possédés par OpenClaw. |
| Les hooks d’outils natifs fonctionnent-ils ? | Les outils shell, patch et possédés par le runtime ont besoin de la prise en charge des hooks natifs pour la politique et l’observation. |
| Le cycle de vie du moteur de contexte s’exécute-t-il ? | Les Plugins de mémoire et de contexte dépendent du cycle de vie assemble, ingest, after-turn et Compaction. |
| Quelles données de Compaction sont exposées ? | Certains Plugins n’ont besoin que de notifications, tandis que d’autres ont besoin de métadonnées conservées/supprimées. |
| Qu’est-ce qui est volontairement non pris en charge ? | Les utilisateurs ne doivent pas supposer une équivalence avec Pi là où le runtime natif possède davantage d’état. |
Libellés d’état
La sortie d’état peut afficher à la fois les libellésExecution et Runtime. Lisez-les comme
des diagnostics, et non comme des noms de fournisseurs.
- Une référence de modèle telle que
openai/gpt-5.5vous indique le fournisseur/modèle sélectionné. - Un ID de runtime tel que
codexvous indique quelle boucle exécute le tour. - Un libellé de canal tel que Telegram ou Discord vous indique où la conversation a lieu.
/new ou effacez la session actuelle avec /reset. Les sessions existantes conservent leur
runtime enregistré afin qu’une transcription ne soit pas rejouée à travers deux systèmes de session natifs incompatibles.