Documentation Index
Fetch the complete documentation index at: https://docs2.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
tools.* chaves de configuração e configuração personalizada de provedor / URL base. Para agentes, canais e outras chaves de configuração de nível superior, consulte Referência de configuração.
Ferramentas
Perfis de ferramentas
tools.profile define uma lista de permissões base antes de tools.allow/tools.deny:
A integração local define novas configurações locais como
tools.profile: "coding" quando não definido (perfis explícitos existentes são preservados).| Perfil | Inclui |
|---|---|
minimal | somente session_status |
coding | group:fs, group:runtime, group:web, group:sessions, group:memory, cron, image, image_generate, video_generate |
messaging | group:messaging, sessions_list, sessions_history, sessions_send, session_status |
full | Sem restrição (igual a não definido) |
Grupos de ferramentas
| Grupo | Ferramentas |
|---|---|
group:runtime | exec, process, code_execution (bash é aceito como alias para exec) |
group:fs | read, write, edit, apply_patch |
group:sessions | sessions_list, sessions_history, sessions_send, sessions_spawn, sessions_yield, subagents, session_status |
group:memory | memory_search, memory_get |
group:web | web_search, x_search, web_fetch |
group:ui | browser, canvas |
group:automation | heartbeat_respond, cron, gateway |
group:messaging | message |
group:nodes | nodes |
group:agents | agents_list, update_plan |
group:media | image, image_generate, music_generate, video_generate, tts |
group:openclaw | Todas as ferramentas integradas (exclui plugins de provedor) |
tools.allow / tools.deny
Política global de permissão/bloqueio de ferramentas (bloqueio prevalece). Não diferencia maiúsculas de minúsculas, aceita curingas *. Aplicada mesmo quando o sandbox do Docker está desativado.
write e apply_patch são ids de ferramenta separados. allow: ["write"] também habilita apply_patch para modelos compatíveis, mas deny: ["write"] não bloqueia apply_patch. Para bloquear toda mutação de arquivos, bloqueie group:fs ou liste explicitamente cada ferramenta de mutação:
tools.byProvider
Restringe ainda mais as ferramentas para provedores ou modelos específicos. Ordem: perfil base → perfil do provedor → permitir/bloquear.
tools.toolsBySender
Restringe ferramentas para uma identidade de solicitante específica. Isso é defesa em profundidade sobre o controle de acesso do canal; os valores de remetente devem vir do adaptador de canal, não do texto da mensagem.
channel:<channelId>:<senderId>, id:<senderId>, e164:<phone>, username:<handle>, name:<displayName> ou "*". Os ids de canal são ids canônicos do OpenClaw; aliases como teams são normalizados para msteams. Chaves legadas sem prefixo são aceitas somente como id:. A ordem de correspondência é canal+id, id, e164, nome de usuário, nome e, em seguida, curinga.
agents.list[].tools.toolsBySender por agente substitui a correspondência global de remetente quando há correspondência, mesmo com uma política {} vazia.
tools.elevated
Controla acesso exec elevado fora do sandbox:
- A substituição por agente (
agents.list[].tools.elevated) só pode restringir ainda mais. /elevated on|off|ask|fullarmazena o estado por sessão; diretivas embutidas se aplicam a uma única mensagem.execelevado ignora o sandbox e usa o caminho de escape configurado (gatewaypor padrão, ounodequando o destino de exec énode).
tools.exec
tools.loopDetection
As verificações de segurança contra loops de ferramentas são desabilitadas por padrão. Defina enabled: true para ativar a detecção. As configurações podem ser definidas globalmente em tools.loopDetection e substituídas por agente em agents.list[].tools.loopDetection.
Histórico máximo de chamadas de ferramenta mantido para análise de loop.
Limite de padrões repetidos sem progresso para avisos.
Limite repetitivo mais alto para bloquear loops críticos.
Limite de parada rígida para qualquer execução sem progresso.
Avisa sobre chamadas repetidas da mesma ferramenta/com os mesmos argumentos.
Avisa/bloqueia em ferramentas de sondagem conhecidas (
process.poll, command_status, etc.).Avisa/bloqueia em padrões alternados de pares sem progresso.
tools.web
tools.media
Configura o entendimento de mídia recebida (imagem/áudio/vídeo):
Media model entry fields
Media model entry fields
Entrada de provedor (
type: "provider" ou omitida):provider: ID do provedor de API (openai,anthropic,google/gemini,groq, etc.)model: substituição do ID do modeloprofile/preferredProfile: seleção de perfil emauth-profiles.json
type: "cli"):command: executável a ser executadoargs: argumentos com modelo (aceita{{MediaPath}},{{Prompt}},{{MaxChars}}, etc.;openclaw doctor --fixmigra placeholders obsoletos{input}para{{MediaPath}})
capabilities: lista opcional (image,audio,video). Padrões:openai/anthropic/minimax→ imagem,google→ imagem+áudio+vídeo,groq→ áudio.prompt,maxChars,maxBytes,timeoutSeconds,language: substituições por entrada.tools.media.image.timeoutSecondse entradas de modelo de imagemtimeoutSecondscorrespondentes também se aplicam quando o agente chama a ferramenta explícitaimage.- Falhas recorrem à próxima entrada.
auth-profiles.json → variáveis de ambiente → models.providers.*.apiKey.Campos de conclusão assíncrona:asyncCompletion.directSend: sinalizador de compatibilidade obsoleto. Tarefas assíncronas de mídia concluídas permanecem mediadas pela sessão solicitante para que o agente receba o resultado, decida como informar o usuário e use a ferramenta de mensagem quando a entrega de origem exigir.
tools.agentToAgent
tools.sessions
Controla quais sessões podem ser alvo das ferramentas de sessão (sessions_list, sessions_history, sessions_send).
Padrão: tree (sessão atual + sessões criadas por ela, como subagentes).
Visibility scopes
Visibility scopes
self: somente a chave da sessão atual.tree: sessão atual + sessões criadas pela sessão atual (subagentes).agent: qualquer sessão pertencente ao ID do agente atual (pode incluir outros usuários se você executar sessões por remetente sob o mesmo ID de agente).all: qualquer sessão. O direcionamento entre agentes ainda exigetools.agentToAgent.- Restrição da sandbox: quando a sessão atual está em sandbox e
agents.defaults.sandbox.sessionToolsVisibility="spawned", a visibilidade é forçada paratree, mesmo setools.sessions.visibility="all".
tools.sessions_spawn
Controla o suporte a anexos inline para sessions_spawn.
Attachment notes
Attachment notes
- Anexos só são compatíveis com
runtime: "subagent". O runtime ACP os rejeita. - Os arquivos são materializados no workspace filho em
.openclaw/attachments/<uuid>/com um.manifest.json. - O conteúdo dos anexos é automaticamente redigido da persistência da transcrição.
- Entradas Base64 são validadas com verificações rigorosas de alfabeto/preenchimento e uma proteção de tamanho antes da decodificação.
- As permissões de arquivo são
0700para diretórios e0600para arquivos. - A limpeza segue a política
cleanup:deletesempre remove anexos;keepos preserva somente quandoretainOnSessionKeep: true.
tools.experimental
Flags experimentais de ferramentas integradas. Desativadas por padrão, a menos que uma regra de ativação automática strict-agentic do GPT-5 se aplique.
planTool: habilita a ferramenta estruturadaupdate_planpara acompanhamento de trabalho não trivial em várias etapas.- Padrão:
false, a menos queagents.defaults.embeddedPi.executionContract(ou uma substituição por agente) esteja definido como"strict-agentic"para uma execução OpenAI ou OpenAI Codex da família GPT-5. Defina comotruepara forçar a ferramenta fora desse escopo, oufalsepara mantê-la desativada mesmo em execuções strict-agentic do GPT-5. - Quando habilitado, o prompt do sistema também adiciona orientações de uso para que o modelo só a use em trabalhos substanciais e mantenha no máximo uma etapa como
in_progress.
agents.defaults.subagents
model: modelo padrão para subagentes gerados. Se omitido, os subagentes herdam o modelo do chamador.allowAgents: lista de permissões padrão de IDs de agentes de destino parasessions_spawnquando o agente solicitante não define seu própriosubagents.allowAgents(["*"]= qualquer; padrão: somente o mesmo agente).runTimeoutSeconds: tempo limite padrão (segundos) parasessions_spawnquando a chamada da ferramenta omiterunTimeoutSeconds.0significa sem tempo limite.announceTimeoutMs: tempo limite por chamada (milissegundos) para tentativas de entrega de anúncioagentdo Gateway. Padrão:120000. Retentativas transitórias podem fazer com que a espera total pelo anúncio seja maior que um tempo limite configurado.- Política de ferramentas por subagente:
tools.subagents.tools.allow/tools.subagents.tools.deny.
Provedores personalizados e URLs base
O OpenClaw usa o catálogo de modelos integrado. Adicione provedores personalizados viamodels.providers na configuração ou em ~/.openclaw/agents/<agentId>/agent/models.json.
Autenticação e precedência de mesclagem
Autenticação e precedência de mesclagem
- Use
authHeader: true+headerspara necessidades de autenticação personalizada. - Substitua a raiz de configuração do agente com
OPENCLAW_AGENT_DIR(ouPI_CODING_AGENT_DIR, um alias legado de variável de ambiente). - Precedência de mesclagem para IDs de provedor correspondentes:
- Valores
baseUrlnão vazios domodels.jsondo agente prevalecem. - Valores
apiKeynão vazios do agente prevalecem somente quando esse provedor não é gerenciado por SecretRef no contexto atual de configuração/perfil de autenticação. - Valores
apiKeyde provedor gerenciado por SecretRef são atualizados a partir dos marcadores de origem (ENV_VAR_NAMEpara refs de env,secretref-managedpara refs de arquivo/exec) em vez de persistir segredos resolvidos. - Valores de cabeçalho de provedor gerenciado por SecretRef são atualizados a partir dos marcadores de origem (
secretref-env:ENV_VAR_NAMEpara refs de env,secretref-managedpara refs de arquivo/exec). apiKey/baseUrldo agente vazios ou ausentes recorrem amodels.providersna configuração.contextWindow/maxTokensde modelo correspondente usam o maior valor entre a configuração explícita e os valores implícitos do catálogo.contextTokensde modelo correspondente preserva um limite de runtime explícito quando presente; use-o para limitar o contexto efetivo sem alterar os metadados nativos do modelo.- Use
models.mode: "replace"quando quiser que a configuração reescreva totalmentemodels.json. - A persistência de marcadores é autoritativa pela origem: marcadores são gravados a partir do snapshot ativo da configuração de origem (pré-resolução), não a partir de valores de segredo resolvidos em runtime.
- Valores
Detalhes dos campos do provedor
Catálogo de nível superior
Catálogo de nível superior
models.mode: comportamento do catálogo de provedores (mergeoureplace).models.providers: mapa de provedores personalizados indexado por id de provedor.- Edições seguras: use
openclaw config set models.providers.<id> '<json>' --strict-json --mergeouopenclaw config set models.providers.<id>.models '<json-array>' --strict-json --mergepara atualizações aditivas.config setrecusa substituições destrutivas, a menos que você passe--replace.
- Edições seguras: use
Conexão e autenticação do provedor
Conexão e autenticação do provedor
models.providers.*.api: adaptador de requisição (openai-completions,openai-responses,anthropic-messages,google-generative-aietc.). Para backends auto-hospedados de/v1/chat/completions, como MLX, vLLM, SGLang e a maioria dos servidores locais compatíveis com OpenAI, useopenai-completions. Um provedor personalizado combaseUrl, mas semapi, usaopenai-completionspor padrão; definaopenai-responsessomente quando o backend oferecer suporte a/v1/responses.models.providers.*.apiKey: credencial do provedor (prefira substituição por SecretRef/env).models.providers.*.auth: estratégia de autenticação (api-key,token,oauth,aws-sdk).models.providers.*.contextWindow: janela de contexto nativa padrão para modelos neste provedor quando a entrada do modelo não definecontextWindow.models.providers.*.contextTokens: limite efetivo padrão de contexto em runtime para modelos neste provedor quando a entrada do modelo não definecontextTokens.models.providers.*.maxTokens: limite padrão de tokens de saída para modelos neste provedor quando a entrada do modelo não definemaxTokens.models.providers.*.timeoutSeconds: timeout HTTP opcional por provedor para requisições de modelo, em segundos, incluindo conexão, cabeçalhos, corpo e tratamento de aborto da requisição total.models.providers.*.injectNumCtxForOpenAICompat: para Ollama +openai-completions, injetaoptions.num_ctxnas requisições (padrão:true).models.providers.*.authHeader: força o transporte de credenciais no cabeçalhoAuthorizationquando necessário.models.providers.*.baseUrl: URL base da API upstream.models.providers.*.headers: cabeçalhos estáticos extras para roteamento de proxy/tenant.
Substituições de transporte de requisição
Substituições de transporte de requisição
models.providers.*.request: substituições de transporte para requisições HTTP do provedor de modelo.request.headers: cabeçalhos extras (mesclados com os padrões do provedor). Os valores aceitam SecretRef.request.auth: substituição da estratégia de autenticação. Modos:"provider-default"(usa a autenticação integrada do provedor),"authorization-bearer"(comtoken),"header"(comheaderName,value,prefixopcional).request.proxy: substituição de proxy HTTP. Modos:"env-proxy"(usa as variáveis de ambienteHTTP_PROXY/HTTPS_PROXY),"explicit-proxy"(comurl). Ambos os modos aceitam um subobjetotlsopcional.request.tls: substituição de TLS para conexões diretas. Campos:ca,cert,key,passphrase(todos aceitam SecretRef),serverName,insecureSkipVerify.request.allowPrivateNetwork: quandotrue, permite HTTPS parabaseUrlquando o DNS resolve para intervalos privados, CGNAT ou similares, por meio da proteção de fetch HTTP do provedor (adesão explícita do operador para endpoints auto-hospedados confiáveis compatíveis com OpenAI). URLs de stream de provedor de modelo em loopback, comolocalhost,127.0.0.1e[::1], são permitidas automaticamente, a menos que isto seja definido explicitamente comofalse; hosts de LAN, tailnet e DNS privado ainda exigem adesão explícita. WebSocket usa o mesmorequestpara cabeçalhos/TLS, mas não esse gate SSRF de fetch. Padrãofalse.
Entradas do catálogo de modelos
Entradas do catálogo de modelos
models.providers.*.models: entradas explícitas do catálogo de modelos do provedor.models.providers.*.models.*.input: modalidades de entrada do modelo. Use["text"]para modelos apenas de texto e["text", "image"]para modelos nativos de imagem/visão. Anexos de imagem só são injetados em turnos do agente quando o modelo selecionado está marcado como capaz de imagem.models.providers.*.models.*.contextWindow: metadados da janela de contexto nativa do modelo. Isso substitui ocontextWindowem nível de provedor para esse modelo.models.providers.*.models.*.contextTokens: limite opcional de contexto em runtime. Isso substitui ocontextTokensem nível de provedor; use quando quiser um orçamento de contexto efetivo menor que ocontextWindownativo do modelo;openclaw models listmostra ambos os valores quando eles diferem.models.providers.*.models.*.compat.supportsDeveloperRole: dica opcional de compatibilidade. Paraapi: "openai-completions"com umbaseUrlnão vazio e não nativo (host diferente deapi.openai.com), o OpenClaw força isso parafalseem runtime.baseUrlvazio/omitido mantém o comportamento padrão da OpenAI.models.providers.*.models.*.compat.requiresStringContent: dica opcional de compatibilidade para endpoints de chat compatíveis com OpenAI que aceitam apenas string. Quandotrue, o OpenClaw achata arraysmessages[].contentde texto puro em strings simples antes de enviar a requisição.models.providers.*.models.*.compat.strictMessageKeys: dica opcional de compatibilidade para endpoints de chat compatíveis com OpenAI estritos. Quandotrue, o OpenClaw reduz os objetos de mensagem de Chat Completions enviados pararoleecontentantes de enviar a requisição.models.providers.*.models.*.compat.thinkingFormat: dica opcional de payload de pensamento. Use"qwen"paraenable_thinkingde nível superior, ou"qwen-chat-template"parachat_template_kwargs.enable_thinkingem servidores compatíveis com OpenAI da família Qwen que oferecem suporte a kwargs de template de chat em nível de requisição, como vLLM.
Descoberta do Amazon Bedrock
Descoberta do Amazon Bedrock
plugins.entries.amazon-bedrock.config.discovery: raiz das configurações de descoberta automática do Bedrock.plugins.entries.amazon-bedrock.config.discovery.enabled: ativa/desativa a descoberta implícita.plugins.entries.amazon-bedrock.config.discovery.region: região AWS para descoberta.plugins.entries.amazon-bedrock.config.discovery.providerFilter: filtro opcional de id de provedor para descoberta direcionada.plugins.entries.amazon-bedrock.config.discovery.refreshInterval: intervalo de polling para atualização de descoberta.plugins.entries.amazon-bedrock.config.discovery.defaultContextWindow: janela de contexto de fallback para modelos descobertos.plugins.entries.amazon-bedrock.config.discovery.defaultMaxTokens: tokens máximos de saída de fallback para modelos descobertos.
--custom-image-input para forçar metadados compatíveis com imagem ou --custom-text-input para forçar metadados somente de texto.
Exemplos de provedores
Cerebras (GLM 4.7 / GPT OSS)
Cerebras (GLM 4.7 / GPT OSS)
O Plugin de provedor Use
cerebras incluído pode configurar isso via openclaw onboard --auth-choice cerebras-api-key. Use configuração explícita de provedor somente ao sobrescrever padrões.cerebras/zai-glm-4.7 para Cerebras; zai/glm-4.7 para Z.AI direto.Kimi Coding
Kimi Coding
openclaw onboard --auth-choice kimi-code-api-key.Local models (LM Studio)
Local models (LM Studio)
Consulte Modelos locais. Resumo: execute um modelo local grande via LM Studio Responses API em hardware robusto; mantenha modelos hospedados mesclados para fallback.
MiniMax M2.7 (direct)
MiniMax M2.7 (direct)
MINIMAX_API_KEY. Atalhos: openclaw onboard --auth-choice minimax-global-api ou openclaw onboard --auth-choice minimax-cn-api. O catálogo de modelos usa M2.7 como padrão exclusivo. No caminho de streaming compatível com Anthropic, o OpenClaw desativa o raciocínio do MiniMax por padrão, a menos que você defina thinking explicitamente. /fast on ou params.fastMode: true reescreve MiniMax-M2.7 para MiniMax-M2.7-highspeed.Moonshot AI (Kimi)
Moonshot AI (Kimi)
baseUrl: "https://api.moonshot.cn/v1" ou openclaw onboard --auth-choice moonshot-api-key-cn.Endpoints nativos da Moonshot anunciam compatibilidade de uso em streaming no transporte compartilhado openai-completions, e o OpenClaw ativa isso com base nos recursos do endpoint, não apenas no ID do provedor integrado.OpenCode
OpenCode
OPENCODE_API_KEY (ou OPENCODE_ZEN_API_KEY). Use referências opencode/... para o catálogo Zen ou referências opencode-go/... para o catálogo Go. Atalho: openclaw onboard --auth-choice opencode-zen ou openclaw onboard --auth-choice opencode-go.Synthetic (Anthropic-compatible)
Synthetic (Anthropic-compatible)
/v1 (o cliente Anthropic a acrescenta). Atalho: openclaw onboard --auth-choice synthetic-api-key.Z.AI (GLM-4.7)
Z.AI (GLM-4.7)
ZAI_API_KEY. z.ai/* e z-ai/* são aliases aceitos. Atalho: openclaw onboard --auth-choice zai-api-key.- Endpoint geral:
https://api.z.ai/api/paas/v4 - Endpoint de codificação (padrão):
https://api.z.ai/api/coding/paas/v4 - Para o endpoint geral, defina um provedor personalizado com a substituição da URL base.
Relacionado
- Configuração — agentes
- Configuração — canais
- Referência de configuração — outras chaves de nível superior
- Ferramentas e plugins