Tools
Níveis de raciocínio
O que ele faz
- Diretiva inline em qualquer corpo de entrada:
/t <level>,/think:<level>ou/thinking <level>. - Níveis (aliases):
off | minimal | low | medium | high | xhigh | adaptive | max- minimal → "think"
- low → "think hard"
- medium → "think harder"
- high → "ultrathink" (orçamento máximo)
- xhigh → "ultrathink+" (modelos GPT-5.2+ e Codex, mais esforço do Anthropic Claude Opus 4.7)
- adaptive → pensamento adaptativo gerenciado pelo provedor (compatível com Claude 4.6 na Anthropic/Bedrock, Anthropic Claude Opus 4.7 e pensamento dinâmico do Google Gemini)
- max → raciocínio máximo do provedor (Anthropic Claude Opus 4.7; o Ollama mapeia isso para seu maior esforço
thinknativo) x-high,x_high,extra-high,extra higheextra_highsão mapeados paraxhigh.highesté mapeado parahigh.
- Observações sobre provedores:
- Menus e seletores de pensamento são orientados pelo perfil do provedor. Plugins de provedor declaram o conjunto exato de níveis para o modelo selecionado, incluindo rótulos como o
onbinário. adaptive,xhighemaxsó são anunciados para perfis de provedor/modelo compatíveis. Diretivas digitadas para níveis sem suporte são rejeitadas com as opções válidas desse modelo.- Níveis armazenados existentes sem suporte são remapeados pela classificação do perfil do provedor.
adaptiverecua paramediumem modelos não adaptativos, enquantoxhighemaxrecuam para o maior nível nãooffcompatível com o modelo selecionado. - Modelos Anthropic Claude 4.6 usam
adaptivepor padrão quando nenhum nível explícito de pensamento é definido. - Anthropic Claude Opus 4.7 não usa pensamento adaptativo por padrão. O padrão de esforço da API dele permanece de responsabilidade do provedor, a menos que você defina explicitamente um nível de pensamento.
- Anthropic Claude Opus 4.7 mapeia
/think xhighpara pensamento adaptativo maisoutput_config.effort: "xhigh", porque/thinké uma diretiva de pensamento exhighé a configuração de esforço do Opus 4.7. - Anthropic Claude Opus 4.7 também expõe
/think max; ele é mapeado para o mesmo caminho de esforço máximo controlado pelo provedor. - Modelos DeepSeek V4 diretos expõem
/think xhigh|max; ambos são mapeados para DeepSeekreasoning_effort: "max", enquanto níveis inferiores nãooffsão mapeados parahigh. - Modelos DeepSeek V4 roteados pelo OpenRouter expõem
/think xhighe enviam valores dereasoning_effortcompatíveis com OpenRouter. Substituiçõesmaxarmazenadas recuam paraxhigh. - Modelos do Ollama com capacidade de pensamento expõem
/think low|medium|high|max;maxé mapeado parathink: "high"nativo porque a API nativa do Ollama aceita strings de esforçolow,mediumehigh. - Modelos OpenAI GPT mapeiam
/thinkpelo suporte de esforço da Responses API específico do modelo./think offenviareasoning.effort: "none"somente quando o modelo de destino é compatível; caso contrário, o OpenClaw omite o payload de raciocínio desabilitado em vez de enviar um valor sem suporte. - Entradas de catálogo personalizadas compatíveis com OpenAI podem optar por
/think xhighdefinindomodels.providers.<provider>.models[].compat.supportedReasoningEffortspara incluir"xhigh". Isso usa os mesmos metadados de compatibilidade que mapeiam payloads de esforço de raciocínio OpenAI de saída, então menus, validação de sessão, CLI de agente ellm-taskconcordam com o comportamento de transporte. - Referências obsoletas configuradas do OpenRouter Hunter Alpha ignoram a injeção de raciocínio por proxy porque essa rota aposentada podia retornar texto da resposta final por campos de raciocínio.
- Google Gemini mapeia
/think adaptivepara o pensamento dinâmico controlado pelo provedor do Gemini. Solicitações Gemini 3 omitem umthinkingLevelfixo, enquanto solicitações Gemini 2.5 enviamthinkingBudget: -1; níveis fixos ainda são mapeados para othinkingLevelou orçamento Gemini mais próximo para essa família de modelos. - MiniMax (
minimax/*) no caminho de streaming compatível com Anthropic usathinking: { type: "disabled" }por padrão, a menos que você defina explicitamente pensamento nos parâmetros do modelo ou da solicitação. Isso evita vazamento de deltasreasoning_contentdo formato de stream Anthropic não nativo do MiniMax. - Z.AI (
zai/*) só oferece suporte a pensamento binário (on/off). Qualquer nível nãooffé tratado comoon(mapeado paralow). - Moonshot (
moonshot/*) mapeia/think offparathinking: { type: "disabled" }e qualquer nível nãooffparathinking: { type: "enabled" }. Quando o pensamento está habilitado, a Moonshot só aceitatool_choiceauto|none; o OpenClaw normaliza valores incompatíveis paraauto.
- Menus e seletores de pensamento são orientados pelo perfil do provedor. Plugins de provedor declaram o conjunto exato de níveis para o modelo selecionado, incluindo rótulos como o
Ordem de resolução
- Diretiva inline na mensagem (aplica-se somente a essa mensagem).
- Substituição de sessão (definida ao enviar uma mensagem contendo apenas a diretiva).
- Padrão por agente (
agents.list[].thinkingDefaultna configuração). - Padrão global (
agents.defaults.thinkingDefaultna configuração). - Fallback: padrão declarado pelo provedor quando disponível; caso contrário, modelos com capacidade de raciocínio resolvem para
mediumou o nível nãooffcompatível mais próximo para esse modelo, e modelos sem raciocínio permanecem emoff.
Definindo um padrão de sessão
- Envie uma mensagem que contenha somente a diretiva (espaços em branco permitidos), por exemplo,
/think:mediumou/t high. - Isso permanece na sessão atual (por remetente por padrão); é limpo por
/think:offou pela redefinição por inatividade da sessão. - Uma resposta de confirmação é enviada (
Thinking level set to high./Thinking disabled.). Se o nível for inválido (por exemplo,/thinking big), o comando é rejeitado com uma dica e o estado da sessão permanece inalterado. - Envie
/think(ou/think:) sem argumento para ver o nível de pensamento atual.
Aplicação por agente
- Pi incorporado: o nível resolvido é passado para o runtime do agente Pi em processo.
- Backend Claude CLI: níveis não off são passados para Claude Code como
--effortao usarclaude-cli; consulte backends CLI.
Modo rápido (/fast)
- Níveis:
on|off. - Mensagem contendo apenas a diretiva alterna uma substituição de modo rápido da sessão e responde
Fast mode enabled./Fast mode disabled.. - Envie
/fast(ou/fast status) sem modo para ver o estado efetivo atual do modo rápido. - O OpenClaw resolve o modo rápido nesta ordem:
/fast on|offinline/contendo apenas a diretiva- Substituição de sessão
- Padrão por agente (
agents.list[].fastModeDefault) - Configuração por modelo:
agents.defaults.models["<provider>/<model>"].params.fastMode - Fallback:
off
- Para
openai/*, o modo rápido é mapeado para o processamento prioritário da OpenAI ao enviarservice_tier=priorityem solicitações Responses compatíveis. - Para
openai-codex/*, o modo rápido envia o mesmo sinalizadorservice_tier=prioritynas Responses do Codex. O OpenClaw mantém uma única alternância/fastcompartilhada entre ambos os caminhos de autenticação. - Para solicitações públicas diretas
anthropic/*, incluindo tráfego autenticado por OAuth enviado paraapi.anthropic.com, o modo rápido é mapeado para camadas de serviço da Anthropic:/fast ondefineservice_tier=auto,/fast offdefineservice_tier=standard_only. - Para
minimax/*no caminho compatível com Anthropic,/fast on(ouparams.fastMode: true) reescreveMiniMax-M2.7paraMiniMax-M2.7-highspeed. - Parâmetros de modelo Anthropic explícitos
serviceTier/service_tiersubstituem o padrão de modo rápido quando ambos estão definidos. O OpenClaw ainda ignora a injeção de camada de serviço Anthropic para URLs base de proxy não Anthropic. /statusmostraFastsomente quando o modo rápido está habilitado.
Diretivas verbosas (/verbose ou /v)
- Níveis:
on(mínimo) |full|off(padrão). - Mensagem contendo apenas a diretiva alterna o modo verboso da sessão e responde
Verbose logging enabled./Verbose logging disabled.; níveis inválidos retornam uma dica sem alterar o estado. /verbose offarmazena uma substituição explícita da sessão; limpe-a pela UI Sessions escolhendoinherit.- Diretiva inline afeta somente essa mensagem; padrões de sessão/globais se aplicam caso contrário.
- Envie
/verbose(ou/verbose:) sem argumento para ver o nível verboso atual. - Quando o modo verboso está ativo, agentes que emitem resultados estruturados de ferramentas (Pi, outros agentes JSON) enviam cada chamada de ferramenta de volta como sua própria mensagem apenas de metadados, prefixada com
<emoji> <tool-name>: <arg>quando disponível. Esses resumos de ferramentas são enviados assim que cada ferramenta inicia (balões separados), não como deltas de streaming. - Resumos de falha de ferramenta permanecem visíveis no modo normal, mas sufixos de detalhes de erro brutos ficam ocultos, a menos que o modo verboso esteja
onoufull. - Quando o modo verboso está
full, as saídas de ferramentas também são encaminhadas após a conclusão (balão separado, truncado para um tamanho seguro). Se você alternar/verbose on|full|offenquanto uma execução está em andamento, os balões de ferramenta subsequentes respeitam a nova configuração. agents.defaults.toolProgressDetailcontrola o formato dos resumos de ferramenta de/verbosee das linhas de ferramenta de rascunho de progresso. Use"explain"(padrão) para rótulos humanos compactos, como🛠️ Exec: checking JS syntax; use"raw"quando também quiser que o comando/detalhe bruto seja anexado para depuração.agents.list[].toolProgressDetailpor agente substitui o padrão.explain:🛠️ Exec: check JS syntax for /tmp/app.jsraw:🛠️ Exec: check JS syntax for /tmp/app.js, node --check /tmp/app.js
Diretivas de rastreamento de Plugin (/trace)
- Níveis:
on|off(padrão). - Mensagem contendo apenas a diretiva alterna a saída de rastreamento de Plugin da sessão e responde
Plugin trace enabled./Plugin trace disabled.. - Diretiva inline afeta somente essa mensagem; padrões de sessão/globais se aplicam caso contrário.
- Envie
/trace(ou/trace:) sem argumento para ver o nível de rastreamento atual. /traceé mais restrito que/verbose: ele expõe apenas linhas de rastreamento/depuração pertencentes ao Plugin, como resumos de depuração de Active Memory.- Linhas de rastreamento podem aparecer em
/statuse como uma mensagem diagnóstica de acompanhamento após a resposta normal do assistente.
Visibilidade do raciocínio (/reasoning)
- Níveis:
on|off|stream. - Mensagem contendo apenas a diretiva alterna se blocos de pensamento são mostrados nas respostas.
- Quando habilitado, o raciocínio é enviado como uma mensagem separada prefixada com
Reasoning:. stream(somente Telegram): transmite o raciocínio para o balão de rascunho do Telegram enquanto a resposta está sendo gerada, depois envia a resposta final sem raciocínio.- Alias:
/reason. - Envie
/reasoning(ou/reasoning:) sem argumento para ver o nível de raciocínio atual. - Ordem de resolução: diretiva inline, depois substituição de sessão, depois padrão por agente (
agents.list[].reasoningDefault), depois fallback (off).
Tags de raciocínio de modelo local malformadas são tratadas de forma conservadora. Blocos fechados <think>...</think> permanecem ocultos em respostas normais, e raciocínio não fechado após texto já visível também fica oculto. Se uma resposta estiver totalmente envolvida em uma única tag de abertura não fechada e, de outro modo, seria entregue como texto vazio, o OpenClaw remove a tag de abertura malformada e entrega o texto restante.
Relacionado
- A documentação do modo elevado fica em modo elevado.
Heartbeats
- O corpo da sondagem de Heartbeat é o prompt de Heartbeat configurado (padrão:
Read HEARTBEAT.md if it exists (workspace context). Follow it strictly. Do not infer or repeat old tasks from prior chats. If nothing needs attention, reply HEARTBEAT_OK.). Diretivas inline em uma mensagem de Heartbeat se aplicam normalmente (mas evite alterar padrões de sessão a partir de Heartbeats). - A entrega de Heartbeat usa por padrão somente o payload final. Para também enviar a mensagem
Reasoning:separada (quando disponível), definaagents.defaults.heartbeat.includeReasoning: trueouagents.list[].heartbeat.includeReasoning: truepor agente.
UI de chat web
- O seletor de pensamento do chat web espelha o nível armazenado da sessão a partir do armazenamento/configuração da sessão de entrada quando a página carrega.
- Escolher outro nível grava a substituição da sessão imediatamente via
sessions.patch; ele não espera pelo próximo envio e não é uma substituiçãothinkingOncede uso único. - A primeira opção é sempre
Default (<resolved level>), em que o padrão resolvido vem do perfil de pensamento do provedor do modelo da sessão ativa mais a mesma lógica de fallback que/statusesession_statususam. - O seletor usa
thinkingLevelsretornado pela linha/padrões da sessão do gateway, comthinkingOptionsmantido como uma lista de rótulos legada. A UI do navegador não mantém sua própria lista de regex de provedores; Plugins são donos dos conjuntos de níveis específicos de modelo. /think:<level>ainda funciona e atualiza o mesmo nível de sessão armazenado, então diretivas de chat e o seletor permanecem sincronizados.
Perfis de provedor
- Plugins de provedor podem expor
resolveThinkingProfile(ctx)para definir os níveis suportados pelo modelo e o padrão. - Plugins de provedor que fazem proxy de modelos Claude devem reutilizar
resolveClaudeThinkingProfile(modelId)deopenclaw/plugin-sdk/provider-model-sharedpara que os catálogos diretos da Anthropic e de proxy permaneçam alinhados. - Cada nível de perfil tem um
idcanônico armazenado (off,minimal,low,medium,high,xhigh,adaptiveoumax) e pode incluir umlabelde exibição. Provedores binários usam{ id: "low", label: "on" }. - Plugins de ferramenta que precisam validar uma substituição explícita de thinking devem usar
api.runtime.agent.resolveThinkingPolicy({ provider, model })junto comapi.runtime.agent.normalizeThinkingLevel(...); eles não devem manter suas próprias listas de níveis por provedor/modelo. - Plugins de ferramenta com acesso aos metadados configurados de modelo personalizado podem passar
catalogpararesolveThinkingPolicypara que adesões porcompat.supportedReasoningEffortssejam refletidas na validação do lado do plugin. - Hooks legados publicados (
supportsXHighThinking,isBinaryThinkingeresolveDefaultThinkingLevel) permanecem como adaptadores de compatibilidade, mas novos conjuntos de níveis personalizados devem usarresolveThinkingProfile. - Linhas/padrões do Gateway expõem
thinkingLevels,thinkingOptionsethinkingDefaultpara que clientes ACP/chat renderizem os mesmos ids e labels de perfil que a validação em tempo de execução usa.