Pular para o conteúdo principal

Documentation Index

Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt

Use this file to discover all available pages before exploring further.

Esta página documenta o contrato de tempo de execução para turnos do harness do Codex. Para configuração e roteamento, comece com harness do Codex. Para campos de configuração, consulte referência do harness do Codex.

Visão geral

O modo Codex não é PI com uma chamada de modelo diferente por baixo. O Codex controla uma parte maior do loop nativo do modelo, e o OpenClaw adapta suas superfícies de plugin, ferramenta, sessão e diagnóstico em torno desse limite. O OpenClaw ainda controla o roteamento de canais, arquivos de sessão, entrega de mensagens visíveis, ferramentas dinâmicas do OpenClaw, aprovações, entrega de mídia e um espelho de transcrição. O Codex controla a thread nativa canônica, o loop nativo do modelo, a continuação nativa de ferramentas e a Compaction nativa.

Vinculações de thread e mudanças de modelo

Quando uma sessão do OpenClaw é anexada a uma thread existente do Codex, o próximo turno envia novamente ao app-server o modelo da OpenAI atualmente selecionado, a política de aprovação, a sandbox e a camada de serviço. Alternar de openai/gpt-5.5 para openai/gpt-5.2 mantém a vinculação da thread, mas pede ao Codex que continue com o modelo recém-selecionado.

Respostas visíveis e Heartbeats

Quando um turno de chat de origem passa pelo harness do Codex, as respostas visíveis usam por padrão a ferramenta message do OpenClaw se a implantação não tiver configurado explicitamente messages.visibleReplies. O agente ainda pode concluir seu turno do Codex de forma privada; ele só publica no canal quando chama message(action="send"). Defina messages.visibleReplies: "automatic" para manter as respostas finais de chat direto no caminho legado de entrega automática. Turnos de Heartbeat do Codex também recebem heartbeat_respond no catálogo pesquisável de ferramentas do OpenClaw por padrão, para que o agente possa registrar se o despertar deve permanecer silencioso ou notificar sem codificar esse fluxo de controle no texto final. A orientação de iniciativa específica de Heartbeat é enviada como uma instrução de desenvolvedor de modo de colaboração do Codex no próprio turno de Heartbeat. Turnos comuns de chat restauram o modo Padrão do Codex em vez de carregar a filosofia de Heartbeat em seu prompt normal de tempo de execução.

Limites de hooks

O harness do Codex tem três camadas de hooks:
CamadaDonoFinalidade
Hooks de plugin do OpenClawOpenClawCompatibilidade de produto/plugin entre os harnesses PI e Codex.
Middleware de extensão do app-server do CodexPlugins empacotados do OpenClawComportamento de adaptador por turno em torno das ferramentas dinâmicas do OpenClaw.
Hooks nativos do CodexCodexCiclo de vida de baixo nível do Codex e política de ferramentas nativas da configuração do Codex.
O OpenClaw não usa arquivos hooks.json de projeto ou globais do Codex para rotear comportamento de plugin do OpenClaw. Para a ponte compatível de ferramenta nativa e permissão, o OpenClaw injeta configuração do Codex por thread para PreToolUse, PostToolUse, PermissionRequest e Stop. Quando as aprovações do app-server do Codex estão habilitadas, ou seja, approvalPolicy não é "never", a configuração padrão de hook nativo injetada omite PermissionRequest para que o revisor do app-server do Codex e a ponte de aprovação do OpenClaw lidem com escalonamentos reais após a revisão. Operadores podem adicionar explicitamente permission_request a nativeHookRelay.events quando precisam do relay de compatibilidade. Outros hooks do Codex, como SessionStart e UserPromptSubmit, continuam sendo controles no nível do Codex. Eles não são expostos como hooks de plugin do OpenClaw no contrato v1. Para ferramentas dinâmicas do OpenClaw, o OpenClaw executa a ferramenta depois que o Codex solicita a chamada, então o OpenClaw dispara o comportamento de plugin e middleware que controla no adaptador do harness. Para ferramentas nativas do Codex, o Codex controla o registro canônico da ferramenta. O OpenClaw pode espelhar eventos selecionados, mas não pode reescrever a thread nativa do Codex a menos que o Codex exponha essa operação por meio do app-server ou de callbacks de hook nativo. Projeções de Compaction e ciclo de vida do LLM vêm de notificações do app-server do Codex e do estado do adaptador do OpenClaw, não de comandos de hooks nativos do Codex. Os eventos before_compaction, after_compaction, llm_input e llm_output do OpenClaw são observações no nível do adaptador, não capturas byte a byte da solicitação interna ou dos payloads de Compaction do Codex. As notificações hook/started e hook/completed nativas do Codex no app-server são projetadas como eventos de agente codex_app_server.hook para trajetória e depuração. Elas não invocam hooks de plugin do OpenClaw.

Contrato de suporte v1

Com suporte no tempo de execução v1 do Codex:
SuperfícieSuporteMotivo
Loop de modelo da OpenAI pelo CodexCom suporteO app-server do Codex controla o turno da OpenAI, a retomada da thread nativa e a continuação nativa de ferramentas.
Roteamento e entrega de canais do OpenClawCom suporteTelegram, Discord, Slack, WhatsApp, iMessage e outros canais permanecem fora do tempo de execução do modelo.
Ferramentas dinâmicas do OpenClawCom suporteO Codex pede ao OpenClaw para executar essas ferramentas, então o OpenClaw permanece no caminho de execução.
Plugins de prompt e contextoCom suporteO OpenClaw cria sobreposições de prompt e projeta contexto no turno do Codex antes de iniciar ou retomar a thread.
Ciclo de vida do mecanismo de contextoCom suporteMontagem, ingestão, manutenção após o turno e coordenação de Compaction do mecanismo de contexto são executadas para turnos do Codex.
Hooks de ferramentas dinâmicasCom suportebefore_tool_call, after_tool_call e middleware de resultado de ferramenta são executados em torno de ferramentas dinâmicas controladas pelo OpenClaw.
Hooks de ciclo de vidaCom suporte como observações do adaptadorllm_input, llm_output, agent_end, before_compaction e after_compaction disparam com payloads honestos do modo Codex.
Portão de revisão de resposta finalCom suporte por meio do relay de hook nativoStop do Codex é retransmitido para before_agent_finalize; revise pede ao Codex mais uma passagem de modelo antes da finalização.
Bloqueio ou observação de shell, patch e MCP nativosCom suporte por meio do relay de hook nativoPreToolUse e PostToolUse do Codex são retransmitidos para superfícies de ferramentas nativas comprometidas, incluindo payloads MCP no app-server do Codex 0.125.0 ou mais recente. Bloqueio tem suporte; reescrita de argumentos não.
Política de permissão nativaCom suporte por meio das aprovações do app-server do Codex e do relay de hook nativo de compatibilidadeSolicitações de aprovação do app-server do Codex passam pelo OpenClaw após a revisão do Codex. O relay de hook nativo PermissionRequest é opcional para modos de aprovação nativa porque o Codex o emite antes da revisão do guardião.
Captura de trajetória do app-serverCom suporteO OpenClaw registra a solicitação enviada ao app-server e as notificações do app-server que recebe.
Sem suporte no tempo de execução v1 do Codex:
SuperfícieLimite v1Caminho futuro
Mutação de argumentos de ferramentas nativasHooks nativos pré-ferramenta do Codex podem bloquear, mas o OpenClaw não reescreve argumentos de ferramentas nativas do Codex.Requer suporte de hook/esquema do Codex para entrada de ferramenta de substituição.
Histórico editável de transcrição nativa do CodexO Codex controla o histórico canônico da thread nativa. O OpenClaw controla um espelho e pode projetar contexto futuro, mas não deve mutar partes internas sem suporte.Adicionar APIs explícitas do app-server do Codex se cirurgia de thread nativa for necessária.
tool_result_persist para registros de ferramentas nativas do CodexEsse hook transforma gravações de transcrição controladas pelo OpenClaw, não registros de ferramentas nativas do Codex.Poderia espelhar registros transformados, mas a reescrita canônica precisa de suporte do Codex.
Metadados ricos de Compaction nativaO OpenClaw observa o início e a conclusão da Compaction, mas não recebe uma lista estável de itens mantidos/descartados, delta de tokens ou payload de resumo.Precisa de eventos de Compaction mais ricos do Codex.
Intervenção na CompactionOs hooks atuais de Compaction do OpenClaw são de nível de notificação no modo Codex.Adicionar hooks de pré/pós-Compaction do Codex se plugins precisarem vetar ou reescrever a Compaction nativa.
Captura byte a byte da solicitação de API do modeloO OpenClaw pode capturar solicitações e notificações do app-server, mas o núcleo do Codex cria internamente a solicitação final para a API da OpenAI.Precisa de um evento de rastreamento de solicitação de modelo do Codex ou de uma API de depuração.

Permissões nativas e elicitações MCP

Para PermissionRequest, o OpenClaw só retorna decisões explícitas de permitir ou negar quando a política decide. Um resultado sem decisão não é uma permissão. O Codex o trata como ausência de decisão de hook e prossegue para seu próprio caminho de guardião ou aprovação do usuário. Os modos de aprovação do app-server do Codex omitem esse hook nativo por padrão. Esse comportamento se aplica quando permission_request é incluído explicitamente em nativeHookRelay.events ou quando um tempo de execução de compatibilidade o instala. Quando um operador escolhe allow-always para uma solicitação de permissão nativa do Codex, o OpenClaw memoriza a impressão digital exata de provedor/sessão/entrada de ferramenta/cwd para uma janela de sessão limitada. A decisão memorizada é intencionalmente apenas de correspondência exata: um comando, argumentos, payload de ferramenta ou cwd alterado cria uma nova aprovação. As solicitações de aprovação de ferramenta MCP do Codex são roteadas pelo fluxo de aprovação de Plugin do OpenClaw quando o Codex marca _meta.codex_approval_kind como "mcp_tool_call". Os prompts request_user_input do Codex são enviados de volta ao chat de origem, e a próxima mensagem de acompanhamento enfileirada responde a essa solicitação nativa do servidor em vez de ser direcionada como contexto extra. Outras solicitações MCP de elicitação falham de forma fechada.

Direcionamento de fila

O direcionamento de fila durante execução ativa é mapeado para turn/steer do servidor de aplicativo do Codex. Com o padrão messages.queue.mode: "steer", o OpenClaw agrupa as mensagens de chat enfileiradas durante a janela de silêncio configurada e as envia como uma solicitação turn/steer em ordem de chegada. O modo legado queue envia solicitações turn/steer separadas. Turnos de revisão do Codex e Compaction manual podem rejeitar direcionamento no mesmo turno. Nesse caso, o OpenClaw usa a fila de acompanhamento quando o modo selecionado permite fallback. Consulte Fila de direcionamento.

Upload de feedback do Codex

Quando /diagnostics [note] é aprovado para uma sessão usando o harness nativo do Codex, o OpenClaw também chama feedback/upload do servidor de aplicativo do Codex para threads relevantes do Codex. O upload solicita que o servidor de aplicativo inclua logs de cada thread listada e de subthreads do Codex geradas, quando disponíveis. O upload passa pelo caminho normal de feedback do Codex para os servidores da OpenAI. Se o feedback do Codex estiver desabilitado nesse servidor de aplicativo, o comando retorna o erro do servidor de aplicativo. A resposta de diagnóstico concluída lista os canais, ids de sessão do OpenClaw, ids de thread do Codex e comandos locais codex resume <thread-id> para as threads que foram enviadas. Se você negar ou ignorar a aprovação, o OpenClaw não imprime esses ids do Codex e não envia feedback do Codex. O upload não substitui a exportação local de diagnósticos do Gateway. Consulte Exportação de diagnósticos para o comportamento de aprovação, privacidade, pacote local e chat em grupo. Use /codex diagnostics [note] apenas quando quiser especificamente o upload de feedback do Codex para a thread anexada no momento, sem o pacote completo de diagnósticos do Gateway.

Compaction e espelho de transcrição

Quando o modelo selecionado usa o harness do Codex, a Compaction nativa da thread é delegada ao servidor de aplicativo do Codex. O OpenClaw mantém um espelho de transcrição para histórico de canais, busca, /new, /reset e futura troca de modelo ou harness. O espelho inclui o prompt do usuário, o texto final do assistente e registros leves de raciocínio ou plano do Codex quando o servidor de aplicativo os emite. Hoje, o OpenClaw apenas registra sinais de início e conclusão de Compaction nativa. Ele ainda não expõe um resumo de Compaction legível por humanos nem uma lista auditável de quais entradas o Codex manteve após a Compaction. Como o Codex possui a thread nativa canônica, tool_result_persist atualmente não reescreve registros de resultado de ferramenta nativos do Codex. Ele se aplica apenas quando o OpenClaw está escrevendo um resultado de ferramenta de transcrição de sessão pertencente ao OpenClaw.

Mídia e entrega

O OpenClaw continua responsável pela entrega de mídia e pela seleção de provedor de mídia. Imagem, vídeo, música, PDF, TTS e compreensão de mídia usam configurações correspondentes de provedor/modelo, como agents.defaults.imageGenerationModel, videoGenerationModel, pdfModel e messages.tts. Texto, imagens, vídeo, música, TTS, aprovações e saída de ferramenta de mensagens continuam pelo caminho normal de entrega do OpenClaw. A geração de mídia não exige PI. Quando o Codex emite um item nativo de geração de imagem com um savedPath, o OpenClaw encaminha esse arquivo exato pelo caminho normal de mídia de resposta, mesmo que o turno do Codex não tenha texto do assistente.

Relacionados