| Camada | Exemplos | O que significa |
|---|---|---|
| Provider | openai, anthropic, openai-codex | Como o OpenClaw autentica, descobre modelos e nomeia refs de modelo. |
| Modelo | gpt-5.5, claude-opus-4-6 | O modelo selecionado para a interação do agente. |
| Runtime de agente | pi, codex, runtimes com ACP como backend | O loop de baixo nível que executa a interação preparada. |
| Canal | Telegram, Discord, Slack, WhatsApp | Onde as mensagens entram e saem do OpenClaw. |
codex. A chave de configuração ainda se chama
embeddedHarness por compatibilidade, mas a documentação voltada ao usuário e a saída
de status geralmente devem dizer runtime.
A configuração comum do Codex usa o provider openai com o runtime codex:
Propriedade do runtime
Diferentes runtimes controlam diferentes partes do loop.| Superfície | PI embutido do OpenClaw | App-server Codex |
|---|---|---|
| Responsável pelo loop do modelo | OpenClaw por meio do runner embutido do Pi | App-server Codex |
| Estado canônico da thread | Transcrição do OpenClaw | Thread do Codex, mais espelho da transcrição do OpenClaw |
| Ferramentas dinâmicas do OpenClaw | Loop nativo de ferramentas do OpenClaw | Integradas por meio do adaptador Codex |
| Ferramentas nativas de shell e arquivo | Caminho Pi/OpenClaw | Ferramentas nativas do Codex, integradas por meio de hooks nativos quando compatível |
| Mecanismo de contexto | Montagem nativa de contexto do OpenClaw | O OpenClaw projeta o contexto montado na interação do Codex |
| Compaction | OpenClaw ou o mecanismo de contexto selecionado | Compaction nativa do Codex, com notificações do OpenClaw e manutenção do espelho |
| Entrega pelo canal | OpenClaw | OpenClaw |
- Se o OpenClaw controla a superfície, ele pode fornecer o comportamento normal de hooks de Plugin.
- Se o runtime nativo controla a superfície, o OpenClaw precisa de eventos de runtime ou hooks nativos.
- Se o runtime nativo controla o estado canônico da thread, o OpenClaw deve espelhar e projetar contexto, não reescrever internos não compatíveis.
Seleção de runtime
O OpenClaw escolhe um runtime embutido após a resolução de provider e modelo:- O runtime registrado de uma sessão tem prioridade. Alterações de configuração não trocam dinamicamente uma transcrição existente para um sistema de thread nativo diferente.
OPENCLAW_AGENT_RUNTIME=<id>força esse runtime para sessões novas ou reiniciadas.agents.defaults.embeddedHarness.runtimeouagents.list[].embeddedHarness.runtimepodem definirauto,piou um ID de runtime registrado comocodex.- No modo
auto, runtimes de Plugin registrados podem reivindicar pares compatíveis de provider/modelo. - Se nenhum runtime reivindicar uma interação no modo
autoefallback: "pi"estiver definido (o padrão), o OpenClaw usa Pi como fallback de compatibilidade. Definafallback: "none"para fazer a seleção sem correspondência no modoautofalhar.
runtime: "codex" significa Codex ou um erro claro de seleção, a menos que você defina
fallback: "pi" no mesmo escopo de substituição. Uma substituição de runtime não herda
uma configuração de fallback mais ampla, portanto um runtime: "codex" no nível do agente não é
silenciosamente roteado de volta para Pi apenas porque os padrões usavam fallback: "pi".
Contrato de compatibilidade
Quando um runtime não é Pi, ele deve documentar quais superfícies do OpenClaw oferece suporte. Use este formato para a documentação de runtime:| Pergunta | Por que isso importa |
|---|---|
| Quem controla o loop do modelo? | Determina onde acontecem tentativas novamente, continuação de ferramentas e decisões de resposta final. |
| Quem controla o histórico canônico da thread? | Determina se o OpenClaw pode editar o histórico ou apenas espelhá-lo. |
| As ferramentas dinâmicas do OpenClaw funcionam? | Mensagens, sessões, Cron e ferramentas de propriedade do OpenClaw dependem disso. |
| Hooks de ferramentas dinâmicas funcionam? | Plugins esperam before_tool_call, after_tool_call e middleware em torno de ferramentas de propriedade do OpenClaw. |
| Hooks de ferramentas nativas funcionam? | Shell, patch e ferramentas controladas pelo runtime precisam de suporte a hook nativo para política e observação. |
| O ciclo de vida do mecanismo de contexto é executado? | Plugins de memória e contexto dependem dos ciclos assemble, ingest, after-turn e Compaction. |
| Quais dados de Compaction são expostos? | Alguns Plugins precisam apenas de notificações, enquanto outros precisam de metadados de mantidos/descartados. |
| O que é intencionalmente não compatível? | Os usuários não devem presumir equivalência com Pi onde o runtime nativo controla mais estado. |
Rótulos de status
A saída de status pode mostrar os rótulosExecution e Runtime. Interprete-os como
diagnósticos, não como nomes de provider.
- Uma ref de modelo como
openai/gpt-5.5informa o provider/modelo selecionado. - Um ID de runtime como
codexinforma qual loop está executando a interação. - Um rótulo de canal como Telegram ou Discord informa onde a conversa está acontecendo.
/new ou limpe a atual com /reset. Sessões existentes mantêm seu
runtime registrado para que uma transcrição não seja reproduzida por dois sistemas incompatíveis de
sessão nativa.