legacy integrado e o utiliza por padrão. Instale e selecione um mecanismo de Plugin somente quando quiser um comportamento diferente de montagem, Compaction ou recuperação entre sessões.
Início rápido
1
Verifique qual mecanismo está ativo
2
Instale um mecanismo de Plugin
Plugins de mecanismo de contexto são instalados como qualquer outro Plugin do OpenClaw.
- Pelo npm
- Por um caminho local
3
Ative e selecione o mecanismo
4
Volte para o mecanismo legado (opcional)
Defina
contextEngine como "legacy" (ou remova completamente a chave — "legacy" é o padrão).Como funciona
Sempre que o OpenClaw executa um prompt de modelo, o mecanismo de contexto participa em quatro pontos do ciclo de vida:1. Ingestão
1. Ingestão
Chamado quando uma nova mensagem é adicionada à sessão. O mecanismo pode armazenar ou indexar a mensagem em seu próprio repositório de dados.
2. Montagem
2. Montagem
Chamado antes de cada execução do modelo. O mecanismo retorna um conjunto ordenado de mensagens (e um
systemPromptAddition opcional) que cabe no orçamento de tokens.3. Compaction
3. Compaction
Chamado quando a janela de contexto está cheia ou quando o usuário executa
/compact. O mecanismo resume o histórico mais antigo para liberar espaço.4. Após o turno
4. Após o turno
Chamado após a conclusão de uma execução. O mecanismo pode persistir o estado, acionar a Compaction em segundo plano ou atualizar índices.
maintain() opcional para manutenção da transcrição (reescritas seguras por meio de runtimeContext.rewriteTranscriptEntries()) após a inicialização, um turno bem-sucedido ou a Compaction. Defina info.turnMaintenanceMode: "background" para executá-lo como trabalho adiado em vez de bloquear a resposta.
Para o harness Codex não ACP incluído, o OpenClaw aplica o mesmo ciclo de vida projetando o contexto montado nas instruções de desenvolvedor do Codex e no prompt do turno atual. O Codex continua controlando seu histórico de thread nativo e seu compactador nativo.
Ciclo de vida do subagente (opcional)
O OpenClaw chama dois hooks opcionais do ciclo de vida de subagentes:method
Prepare o estado de contexto compartilhado antes do início de uma execução filha. O hook recebe chaves de sessão pai/filha,
contextMode (isolated ou fork), ids/arquivos de transcrição disponíveis e um TTL opcional. Se retornar um identificador de reversão, o OpenClaw o chamará quando a criação falhar após a preparação ser concluída com sucesso. Criações nativas de subagentes que solicitam lightContext e resultam em contextMode="isolated" ignoram intencionalmente esse hook para que o filho comece com o contexto leve de inicialização, sem estado pré-criação gerenciado pelo mecanismo de contexto.method
Faça a limpeza quando uma sessão de subagente for concluída ou removida.
Adição ao prompt do sistema
O métodoassemble pode retornar uma string systemPromptAddition. O OpenClaw a acrescenta ao início do prompt do sistema para a execução. Isso permite que os mecanismos injetem orientações dinâmicas de recuperação, instruções de busca ou dicas sensíveis ao contexto sem exigir arquivos estáticos no espaço de trabalho.
O mecanismo legado
O mecanismolegacy integrado preserva o comportamento original do OpenClaw:
- Ingestão: nenhuma operação (o gerenciador de sessões cuida diretamente da persistência das mensagens).
- Montagem: passagem direta (o pipeline existente de sanitização → validação → limitação no runtime cuida da montagem do contexto).
- Compaction: delega para a Compaction de sumarização integrada, que cria um único resumo das mensagens mais antigas e mantém intactas as mensagens recentes.
- Após o turno: nenhuma operação.
systemPromptAddition.
Quando nenhum plugins.slots.contextEngine está definido (ou está definido como "legacy"), esse mecanismo é usado automaticamente.
Mecanismos de Plugin
Um Plugin pode registrar um mecanismo de contexto usando a API de Plugin:ctx da fábrica inclui valores opcionais config, agentDir e workspaceDir
para que os Plugins possam inicializar o estado por agente ou por espaço de trabalho antes da
execução do primeiro hook do ciclo de vida.
Em seguida, ative-o na configuração:
A interface ContextEngine
Membros obrigatórios:assemble retorna um AssembleResult com:
Message[]
obrigatório
As mensagens ordenadas a serem enviadas ao modelo.
number
obrigatório
A estimativa do mecanismo para o total de tokens no contexto montado. O OpenClaw usa isso para decisões sobre o limite de Compaction e para relatórios de diagnóstico.
string
Acrescentado ao início do prompt do sistema.
"assembled" | "preassembly_may_overflow"
Controla qual estimativa de tokens o executor usa nas verificações preventivas
de estouro. O padrão é
"assembled", o que significa que somente a estimativa
do prompt montado é verificada para mecanismos que não controlam a Compaction.
Os mecanismos que definem ownsCompaction: true gerenciam a própria admissão de prompts,
portanto, por padrão, o OpenClaw ignora a verificação genérica anterior ao prompt. Defina
"preassembly_may_overflow" somente quando a visualização montada puder ocultar o risco de
estouro na transcrição subjacente; nesse caso, o executor mantém ativa a verificação
genérica e usa o maior valor entre a estimativa montada e a estimativa
do histórico da sessão anterior à montagem (sem aplicação de janela) ao decidir se deve
executar preventivamente a Compaction. De qualquer forma, as mensagens retornadas continuam sendo
o que o modelo vê — promptAuthority afeta apenas a verificação prévia.ContextEngineProjection
Ciclo de vida opcional de projeção para hosts com threads persistentes no backend (por exemplo, o app-server do Codex).
mode: "thread_bootstrap" com um epoch estável solicita que o host injete o contexto montado uma vez por epoch e reutilize a thread do backend até que o epoch seja alterado, em vez de reprojetá-lo a cada turno. Omita este campo para a projeção normal a cada turno.compact retorna um CompactResult. Quando a Compaction altera a identidade da sessão
ativa, result.sessionTarget (um ContextEngineSessionTarget tipado que contém
a identidade da sessão e o escopo do repositório) identifica a sessão sucessora que a
próxima repetição ou o próximo turno deve usar; result.sessionId espelha o id sucessor.
Membros opcionais:
Configurações de runtime
Os hooks do ciclo de vida executados dentro do OpenClaw recebem um objetoruntimeSettings opcional. Ele é uma superfície de API interna
versionada e somente leitura entre produtor e consumidor: o OpenClaw o produz para o mecanismo de contexto
selecionado, e o mecanismo de contexto o consome dentro dos hooks do ciclo de vida. Ele não é
renderizado diretamente para os usuários e não cria uma superfície dedicada de relatórios.
schemaVersion: atualmente1runtime: host do OpenClaw, modo do runtime (normal,fallbackoudegraded) e ids opcionais do harness/runtimecontextEngineSelection: id do mecanismo de contexto selecionado e origem da seleçãoexecutionHost: id e rótulo do host para a superfície que invoca o hookmodel: modelo solicitado, modelo resolvido, provedor e família de modelos opcionallimits: orçamento de tokens do prompt e máximo de tokens de saída, quando conhecidosdiagnostics: códigos fechados de motivo de fallback e de degradação, quando conhecidos
null; campos discriminadores, como modo de runtime e origem da seleção, permanecem não anuláveis. Mecanismos mais antigos continuam compatíveis: se um mecanismo legado estrito rejeitar runtimeSettings como uma propriedade desconhecida, o OpenClaw repetirá a chamada de ciclo de vida sem ela, em vez de colocar o mecanismo em quarentena.
Requisitos do host
Os mecanismos de contexto podem declarar requisitos de capacidade do host eminfo.hostRequirements.
O OpenClaw verifica esses requisitos antes de iniciar a operação e adota uma postura de falha fechada, com um erro descritivo, quando o runtime selecionado não consegue atendê-los.
Para execuções de agente, declare assemble-before-prompt quando o mecanismo precisar controlar o prompt efetivo do modelo por meio de assemble():
assemble-before-prompt.
Backends de CLI genéricos não atendem, portanto, mecanismos que exigem essa capacidade são rejeitados antes que o processo da CLI seja iniciado.
Isolamento de falhas
O OpenClaw isola o mecanismo do plugin selecionado do fluxo principal de respostas. Se um mecanismo não legado estiver ausente, falhar na validação de contrato, lançar uma exceção durante a criação da fábrica ou lançar uma exceção em um método de ciclo de vida, o OpenClaw colocará esse mecanismo em quarentena no processo atual do Gateway e rebaixará o trabalho do mecanismo de contexto para o mecanismolegacy integrado. O erro é registrado com a operação que falhou, para que o operador possa reparar, atualizar ou desativar o plugin sem que o agente deixe de responder.
As falhas de requisitos do host são diferentes: quando um mecanismo declara que um runtime não possui uma capacidade obrigatória, o OpenClaw adota uma postura de falha fechada antes de iniciar a execução. Isso protege mecanismos que corromperiam o estado se fossem executados em um host sem suporte.
ownsCompaction
ownsCompaction controla se a compactação automática integrada durante a tentativa do runtime do OpenClaw permanece habilitada para a execução:
ownsCompaction: true
ownsCompaction: true
O mecanismo controla o comportamento de compactação. O OpenClaw desabilita a compactação automática integrada do runtime do OpenClaw e a pré-verificação genérica de estouro antes do prompt para essa execução, e a implementação de
compact() do mecanismo é responsável por /compact, pela compactação de recuperação de estouro do provedor e por qualquer compactação proativa que queira realizar em afterTurn(). O OpenClaw ainda executa a proteção contra estouro antes do prompt quando o mecanismo retorna promptAuthority: "preassembly_may_overflow" de assemble().ownsCompaction: false ou não definido
ownsCompaction: false ou não definido
A compactação automática integrada do runtime do OpenClaw ainda pode ser executada durante o processamento do prompt, mas o método
compact() do mecanismo ativo ainda é chamado para /compact e para a recuperação de estouro.- Modo proprietário
- Modo delegado
Implemente seu próprio algoritmo de compactação e defina
ownsCompaction: true.compact() que não realiza nenhuma operação é inseguro para um mecanismo ativo não proprietário, pois desabilita o fluxo normal de compactação de /compact e de recuperação de estouro para o slot desse mecanismo.
Referência de configuração
O slot é exclusivo em tempo de execução — apenas um mecanismo de contexto registrado é resolvido para uma determinada execução ou operação de compactação. Outros plugins
kind: "context-engine" habilitados ainda podem ser carregados e executar seu código de registro; plugins.slots.contextEngine apenas seleciona qual id de mecanismo registrado o OpenClaw resolve quando precisa de um mecanismo de contexto.Desinstalação de plugin: quando você desinstala o plugin atualmente selecionado como
plugins.slots.contextEngine, o OpenClaw redefine o slot para o padrão (legacy). O mesmo comportamento de redefinição se aplica a plugins.slots.memory. Nenhuma edição manual da configuração é necessária.Relação com compactação e memória
Compaction
Compaction
A compactação é uma das responsabilidades do mecanismo de contexto. O mecanismo legado delega à sumarização integrada do OpenClaw. Os mecanismos de plugin podem implementar qualquer estratégia de compactação (resumos em DAG, recuperação vetorial etc.).
Plugins de memória
Plugins de memória
Plugins de memória (
plugins.slots.memory) são separados dos mecanismos de contexto. Plugins de memória fornecem pesquisa/recuperação; mecanismos de contexto controlam o que o modelo vê. Eles podem trabalhar em conjunto — um mecanismo de contexto pode usar dados de plugins de memória durante a montagem. Mecanismos de plugin que desejam usar o fluxo de prompt da memória ativa devem preferir buildMemorySystemPromptAddition(...) de openclaw/plugin-sdk/core, que converte as seções ativas do prompt de memória em um systemPromptAddition pronto para ser anexado no início. Se um mecanismo precisar de controle de nível mais baixo, ainda poderá obter linhas brutas de openclaw/plugin-sdk/memory-host-core por meio de buildActiveMemoryPromptSection(...).Poda de sessão
Poda de sessão
A remoção de resultados antigos de ferramentas na memória continua sendo executada independentemente do mecanismo de contexto ativo.
Dicas
- Use
openclaw doctorpara verificar se seu mecanismo está sendo carregado corretamente. - Ao trocar de mecanismo, as sessões existentes continuam com o histórico atual. O novo mecanismo assume as execuções futuras.
- Os erros do mecanismo são registrados, e o mecanismo do plugin selecionado é colocado em quarentena no processo atual do Gateway. O OpenClaw retorna a
legacypara os turnos do usuário, permitindo que as respostas continuem, mas você ainda deve reparar, atualizar, desativar ou desinstalar o plugin com defeito. - Para desenvolvimento, use
openclaw plugins install -l ./my-enginepara vincular um diretório de plugin local sem copiá-lo.
Relacionados
- Compaction — sumarização de conversas longas
- Contexto — como o contexto é criado para os turnos do agente
- Arquitetura de plugins — registro de plugins de mecanismo de contexto
- Manifesto do plugin — campos do manifesto do plugin
- Plugins — visão geral dos plugins