Prompt do Sistema
O OpenClaw cria um system prompt personalizado para cada execução de agente. O prompt é de propriedade do OpenClaw e não usa o prompt padrão do p-coding-agent. O prompt é montado pelo OpenClaw e injetado em cada execução do agente.Estrutura
O prompt é intencionalmente compacto e usa seções fixas:- Tooling: lista atual de ferramentas + descrições curtas.
- Safety: lembrete curto de guardrails para evitar comportamento de busca por poder ou burlar supervisão.
- Skills (quando disponíveis): informa ao modelo como carregar instruções de skills sob demanda.
- OpenClaw Self-Update: como executar
config.applyeupdate.run. - Workspace: diretório de trabalho (
agents.defaults.workspace). - Documentation: caminho local para a documentação do OpenClaw (repo ou pacote npm) e quando lê-la.
- Workspace Files (injected): indica que arquivos de bootstrap estão incluídos abaixo.
- Sandbox (quando habilitado): indica runtime em sandbox, caminhos de sandbox e se execução elevada está disponível.
- Current Date & Time: hora local do usuário, fuso horário e formato de hora.
- Reply Tags: sintaxe opcional de tags de resposta para provedores compatíveis.
- Heartbeats: prompt de heartbeat e comportamento de ack.
- Runtime: host, SO, node, modelo, raiz do repo (quando detectada), nível de raciocínio (uma linha).
- Reasoning: nível atual de visibilidade + dica de alternância /reasoning.
Modos do prompt
O OpenClaw pode renderizar system prompts menores para subagentes. O runtime define umpromptMode para cada execução (não é uma configuração voltada ao usuário):
full(padrão): inclui todas as seções acima.minimal: usado para subagentes; omite Skills, Memory Recall, OpenClaw Self-Update, Model Aliases, User Identity, Reply Tags, Messaging, Silent Replies e Heartbeats. Tooling, Safety, Workspace, Sandbox, Current Date & Time (quando conhecido), Runtime e o contexto injetado permanecem disponíveis.none: retorna apenas a linha de identidade base.
promptMode=minimal, prompts extras injetados são rotulados como Subagent
Context em vez de Group Chat Context.
Injeção de bootstrap do workspace
Arquivos de bootstrap são aparados e anexados em Project Context para que o modelo veja o contexto de identidade e perfil sem precisar de leituras explícitas:AGENTS.mdSOUL.mdTOOLS.mdIDENTITY.mdUSER.mdHEARTBEAT.mdBOOTSTRAP.md(apenas em workspaces totalmente novos)MEMORY.mde/oumemory.md(quando presentes no workspace; um ou ambos podem ser injetados)
MEMORY.md, que pode
crescer ao longo do tempo e levar a um uso de contexto inesperadamente alto e a compactações mais frequentes.
Observação: arquivos diáriosArquivos grandes são truncados com um marcador. O tamanho máximo por arquivo é controlado pormemory/*.mdnão são injetados automaticamente. Eles são acessados sob demanda por meio das ferramentasmemory_searchememory_get, portanto não contam para a janela de contexto a menos que o modelo os leia explicitamente.
agents.defaults.bootstrapMaxChars (padrão: 20000). O conteúdo total de bootstrap
injetado entre os arquivos é limitado por agents.defaults.bootstrapTotalMaxChars
(padrão: 24000). Arquivos ausentes injetam um
marcador curto de arquivo ausente.
Sessões de subagente injetam apenas AGENTS.md e TOOLS.md (outros arquivos de bootstrap
são filtrados para manter o contexto do subagente pequeno).
Hooks internos podem interceptar esta etapa via agent:bootstrap para mutar ou substituir
os arquivos de bootstrap injetados (por exemplo, trocando SOUL.md por uma persona alternativa).
Para inspecionar quanto cada arquivo injetado contribui (bruto vs. injetado, truncamento, além da sobrecarga do schema de ferramentas), use /context list ou /context detail. Veja Context.
Tratamento de tempo
O system prompt inclui uma seção dedicada Current Date & Time quando o fuso horário do usuário é conhecido. Para manter o cache do prompt estável, agora ele inclui apenas o fuso horário (sem relógio dinâmico ou formato de hora). Usesession_status quando o agente precisar do horário atual; o cartão de status
inclui uma linha de timestamp.
Configure com:
agents.defaults.userTimezoneagents.defaults.timeFormat(auto|12|24)
Skills
Quando existem skills elegíveis, o OpenClaw injeta uma lista compacta de skills disponíveis (formatSkillsForPrompt) que inclui o caminho do arquivo para cada skill. O
prompt instrui o modelo a usar read para carregar o SKILL.md no local listado
(workspace, gerenciado ou empacotado). Se nenhuma skill for elegível, a seção
Skills é omitida.
Documentação
Quando disponível, o system prompt inclui uma seção Documentation que aponta para o diretório local de documentação do OpenClaw (sejadocs/ no workspace do repo ou a documentação
empacotada do npm) e também observa o espelho público, o repo de origem, o Discord da comunidade e o
ClawHub (https://clawhub.com) para descoberta de skills. O prompt instrui o modelo a consultar primeiro a documentação local
para comportamento, comandos, configuração ou arquitetura do OpenClaw, e a executar
openclaw status por conta própria quando possível (pedindo ao usuário apenas quando não tiver acesso).