Um mecanismo de contexto controla como o OpenClaw cria o contexto do modelo para cada execução: quais mensagens incluir, como resumir o histórico mais antigo e como gerenciar o contexto nos limites de subagentes. O OpenClaw vem com um mecanismoDocumentation Index
Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
legacy integrado e o usa por padrão - a maioria dos usuários nunca precisa mudar isso. Instale e selecione um mecanismo de Plugin apenas quando quiser um comportamento diferente de montagem, Compaction ou recuperação entre sessões.
Início rápido
Instale um mecanismo de Plugin
Plugins de mecanismo de contexto são instalados como qualquer outro Plugin do OpenClaw.
- Do npm
- De um caminho local
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 armazenamento 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. Compactar
3. Compactar
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 a rodada
4. Após a rodada
Chamado depois que uma execução é concluída. O mecanismo pode persistir o estado, acionar Compaction em segundo plano ou atualizar índices.
Ciclo de vida de subagente (opcional)
O OpenClaw chama dois hooks opcionais de ciclo de vida de subagente:Prepare o estado de contexto compartilhado antes que uma execução filha comece. O hook recebe chaves de sessão pai/filha,
contextMode (isolated ou fork), ids/arquivos de transcrição disponíveis e TTL opcional. Se ele retornar um identificador de rollback, o OpenClaw o chama quando a criação falha depois que a preparação é bem-sucedida.Limpe quando uma sessão de subagente for concluída ou varrida.
Adição ao prompt do sistema
O métodoassemble pode retornar uma string systemPromptAddition. O OpenClaw a prefixa ao prompt do sistema da execução. Isso permite que mecanismos injetem orientação dinâmica de recuperação, instruções de busca ou dicas sensíveis ao contexto sem exigir arquivos estáticos no workspace.
O mecanismo legacy
O mecanismolegacy integrado preserva o comportamento original do OpenClaw:
- Ingestão: sem operação (o gerenciador de sessões lida diretamente com a persistência de mensagens).
- Montagem: passagem direta (o pipeline existente de sanitização → validação → limite no runtime lida com a montagem de contexto).
- Compactar: delega para a Compaction de sumarização integrada, que cria um único resumo das mensagens mais antigas e mantém as mensagens recentes intactas.
- Após a rodada: sem operação.
systemPromptAddition.
Quando nenhum plugins.slots.contextEngine está definido (ou ele 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 inclui valores opcionais config, agentDir e workspaceDir
para que Plugins possam inicializar estado por agente ou por workspace antes que o
primeiro hook de ciclo de vida seja executado.
Depois, ative-o na configuração:
A interface ContextEngine
Membros obrigatórios:| Membro | Tipo | Finalidade |
|---|---|---|
info | Propriedade | Id, nome, versão do mecanismo e se ele controla Compaction |
ingest(params) | Método | Armazenar uma única mensagem |
assemble(params) | Método | Criar contexto para uma execução de modelo (retorna AssembleResult) |
compact(params) | Método | Resumir/reduzir contexto |
assemble retorna um AssembleResult com:
As mensagens ordenadas a enviar ao modelo.
A estimativa do mecanismo para o total de tokens no contexto montado. O OpenClaw usa isso para decisões de limiar de Compaction e relatórios de diagnóstico.
Prefixado ao prompt do sistema.
Controla qual estimativa de tokens o executor usa para pré-verificações
preventivas de overflow. O padrão é
"assembled", o que significa que apenas
a estimativa do prompt montado é verificada - apropriado para mecanismos que
retornam um contexto em janela e autocontido. Defina como "preassembly_may_overflow" apenas
quando sua visão montada puder ocultar risco de overflow na transcrição
subjacente; então o executor usa o máximo entre a estimativa montada
e a estimativa do histórico da sessão pré-montagem (sem janela) ao decidir
se deve compactar preventivamente. De qualquer forma, as mensagens que você retorna
ainda são o que o modelo vê - promptAuthority afeta apenas a pré-verificação.compact retorna um CompactResult. Quando a Compaction rotaciona a transcrição
ativa, result.sessionId e result.sessionFile identificam a sessão sucessora
que a próxima nova tentativa ou rodada deve usar.
Membros opcionais:
| Membro | Tipo | Finalidade |
|---|---|---|
bootstrap(params) | Método | Inicializar o estado do mecanismo para uma sessão. Chamado uma vez quando o mecanismo vê uma sessão pela primeira vez (por exemplo, importar histórico). |
ingestBatch(params) | Método | Ingerir uma rodada concluída como um lote. Chamado depois que uma execução é concluída, com todas as mensagens daquela rodada de uma só vez. |
afterTurn(params) | Método | Trabalho de ciclo de vida pós-execução (persistir estado, acionar Compaction em segundo plano). |
prepareSubagentSpawn(params) | Método | Configurar estado compartilhado para uma sessão filha antes que ela comece. |
onSubagentEnded(params) | Método | Limpar depois que um subagente termina. |
dispose() | Método | Liberar recursos. Chamado durante o desligamento do Gateway ou recarregamento de Plugin - não por sessão. |
ownsCompaction
ownsCompaction controla se a Compaction automática em tentativa integrada do Pi permanece ativada para a execução:
ownsCompaction: true
ownsCompaction: true
O mecanismo controla o comportamento de Compaction. O OpenClaw desativa a Compaction automática integrada do Pi para essa execução, e a implementação
compact() do mecanismo é responsável por /compact, Compaction de recuperação de overflow e qualquer Compaction proativa que ele queira fazer em afterTurn(). O OpenClaw ainda pode executar a proteção de overflow pré-prompt; quando ela prevê que a transcrição completa excederá o limite, o caminho de recuperação chama o compact() do mecanismo ativo antes de enviar outro prompt.ownsCompaction: false ou indefinido
ownsCompaction: false ou indefinido
A Compaction automática integrada do Pi ainda pode ser executada durante a execução do prompt, mas o método
compact() do mecanismo ativo ainda é chamado para /compact e recuperação de overflow.- Modo proprietário
- Modo delegado
Implemente seu próprio algoritmo de Compaction e defina
ownsCompaction: true.compact() sem operação é inseguro para um mecanismo ativo sem controle próprio porque desativa o caminho normal de Compaction de /compact e recuperação de overflow para esse slot de 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 Compaction. Outros Plugins
kind: "context-engine" ativados ainda podem carregar 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 selecionado no momento como
plugins.slots.contextEngine, o OpenClaw redefine o slot de volta para o padrão (legacy). O mesmo comportamento de redefinição se aplica a plugins.slots.memory. Nenhuma edição manual de configuração é necessária.Relação com Compaction e memória
Compaction
Compaction
Compaction é uma responsabilidade do mecanismo de contexto. O mecanismo legado delega para a sumarização integrada do OpenClaw. Mecanismos de Plugin podem implementar qualquer estratégia de Compaction (sumarizações 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 busca/recuperação; mecanismos de contexto controlam o que o modelo vê. Eles podem trabalhar juntos - um mecanismo de contexto pode usar dados de Plugin de memória durante a montagem. Mecanismos de Plugin que desejam o caminho de prompt da memória ativa devem preferir buildMemorySystemPromptAddition(...) de openclaw/plugin-sdk/core, que converte as seções de prompt da memória ativa em um systemPromptAddition pronto para ser prefixado. Se um mecanismo precisar de controle de nível mais baixo, ele ainda pode extrair linhas brutas de openclaw/plugin-sdk/memory-host-core via buildActiveMemoryPromptSection(...).Poda de sessões
Poda de sessões
O corte de resultados antigos de ferramentas em memória continua sendo executado independentemente de qual mecanismo de contexto esteja ativo.
Dicas
- Use
openclaw doctorpara verificar se seu mecanismo está carregando corretamente. - Se alternar mecanismos, as sessões existentes continuam com o histórico atual delas. O novo mecanismo assume as execuções futuras.
- Erros de mecanismo são registrados e exibidos nos diagnósticos. Se um mecanismo de Plugin não conseguir se registrar ou o id do mecanismo selecionado não puder ser resolvido, o OpenClaw não faz fallback automaticamente; as execuções falham até você corrigir o Plugin ou alterar
plugins.slots.contextEnginede volta para"legacy". - Para desenvolvimento, use
openclaw plugins install -l ./my-enginepara vincular um diretório local de Plugin sem copiar.
Relacionados
- Compaction - sumarização de conversas longas
- Contexto - como o contexto é criado para turnos de agente
- Arquitetura de Plugin - registro de Plugins de mecanismo de contexto
- Manifesto de Plugin - campos do manifesto de Plugin
- Plugins - visão geral de Plugins