Pular para o conteúdo principal

Ferramentas e Plugins

Tudo o que o agente faz além de gerar texto acontece por meio de ferramentas. As ferramentas são como o agente lê arquivos, executa comandos, navega na web, envia mensagens e interage com dispositivos.

Ferramentas, Skills e plugins

O OpenClaw tem três camadas que funcionam juntas:
1

Ferramentas são o que o agente chama

Uma ferramenta é uma função tipada que o agente pode invocar (por exemplo, exec, browser, web_search, message). O OpenClaw inclui um conjunto de ferramentas integradas e os plugins podem registrar outras adicionais.O agente vê as ferramentas como definições estruturadas de funções enviadas à API do modelo.
2

As Skills ensinam ao agente quando e como

Uma skill é um arquivo markdown (SKILL.md) injetado no prompt do sistema. As Skills dão ao agente contexto, restrições e orientação passo a passo para usar ferramentas com eficiência. As Skills ficam no seu workspace, em pastas compartilhadas ou são incluídas dentro de plugins.Referência de Skills | Criando Skills
3

Plugins empacotam tudo junto

Um plugin é um pacote que pode registrar qualquer combinação de capacidades: canais, providers de modelo, ferramentas, Skills, fala, transcrição em tempo real, voz em tempo real, entendimento de mídia, geração de imagem, geração de vídeo, web fetch, web search e mais. Alguns plugins são core (distribuídos com o OpenClaw), outros são externos (publicados no npm pela comunidade).Instalar e configurar plugins | Crie o seu próprio

Ferramentas integradas

Estas ferramentas vêm com o OpenClaw e estão disponíveis sem instalar nenhum plugin:
ToolWhat it doesPage
exec / processExecuta comandos de shell, gerencia processos em segundo planoExec
code_executionExecuta análise remota em Python com sandboxCode Execution
browserControla um navegador Chromium (navegar, clicar, screenshot)Browser
web_search / x_search / web_fetchPesquisa na web, pesquisa posts no X, busca conteúdo de páginasWeb
read / write / editE/S de arquivos no workspace
apply_patchPatches de arquivo com múltiplos hunksApply Patch
messageEnvia mensagens por todos os canaisAgent Send
canvasControla o Canvas do nó (apresentar, eval, snapshot)
nodesDescobre e direciona dispositivos pareados
cron / gatewayGerencia jobs agendados; inspeciona, aplica patches, reinicia ou atualiza o gateway
image / image_generateAnalisa ou gera imagens
ttsConversão pontual de texto para falaTTS
sessions_* / subagents / agents_listGerenciamento de sessão, status e orquestração de subagentesSub-agents
session_statusLeitura leve no estilo /status e substituição do modelo por sessãoSession Tools
Para trabalho com imagens, use image para análise e image_generate para geração ou edição. Se você direcionar para openai/*, google/*, fal/* ou outro provider de imagem não padrão, configure primeiro a autenticação/chave de API desse provider. session_status é a ferramenta leve de status/leitura no grupo de sessões. Ela responde a perguntas no estilo /status sobre a sessão atual e pode opcionalmente definir uma substituição de modelo por sessão; model=default limpa essa substituição. Assim como /status, ela pode preencher contadores esparsos de tokens/cache e o rótulo do modelo ativo em runtime a partir da entrada de uso mais recente da transcrição. gateway é a ferramenta de runtime exclusiva do proprietário para operações do gateway:
  • config.schema.lookup para uma subárvore de configuração delimitada por caminho antes de edições
  • config.get para o snapshot atual da configuração + hash
  • config.patch para atualizações parciais da configuração com reinicialização
  • config.apply apenas para substituição da configuração completa
  • update.run para autoatualização explícita + reinicialização
Para mudanças parciais, prefira config.schema.lookup e depois config.patch. Use config.apply apenas quando você quiser intencionalmente substituir a configuração inteira. A ferramenta também se recusa a mudar tools.exec.ask ou tools.exec.security; aliases legados tools.bash.* são normalizados para os mesmos caminhos protegidos de exec.

Ferramentas fornecidas por plugins

Plugins podem registrar ferramentas adicionais. Alguns exemplos:
  • Lobster — runtime de fluxo de trabalho tipado com aprovações retomáveis
  • LLM Task — etapa de LLM somente JSON para saída estruturada
  • Diffs — visualizador e renderizador de diffs
  • OpenProse — orquestração de fluxo de trabalho com foco em markdown

Configuração de ferramentas

Listas de permissão e negação

Controle quais ferramentas o agente pode chamar via tools.allow / tools.deny na configuração. A negação sempre prevalece sobre a permissão.
{
  tools: {
    allow: ["group:fs", "browser", "web_search"],
    deny: ["exec"],
  },
}

Perfis de ferramenta

tools.profile define uma allowlist base antes da aplicação de allow/deny. Substituição por agente: agents.list[].tools.profile.
ProfileWhat it includes
fullSem restrição (igual a não definido)
codinggroup:fs, group:runtime, group:web, group:sessions, group:memory, cron, image, image_generate
messaginggroup:messaging, sessions_list, sessions_history, sessions_send, session_status
minimalapenas session_status

Grupos de ferramentas

Use atalhos group:* em listas de permissão/negação:
GroupTools
group:runtimeexec, process, code_execution (bash é aceito como alias para exec)
group:fsread, write, edit, apply_patch
group:sessionssessions_list, sessions_history, sessions_send, sessions_spawn, sessions_yield, subagents, session_status
group:memorymemory_search, memory_get
group:webweb_search, x_search, web_fetch
group:uibrowser, canvas
group:automationcron, gateway
group:messagingmessage
group:nodesnodes
group:agentsagents_list
group:mediaimage, image_generate, tts
group:openclawTodas as ferramentas integradas do OpenClaw (exclui ferramentas de plugins)
sessions_history retorna uma visualização de recordação limitada e filtrada por segurança. Ela remove tags de thinking, estrutura <relevant-memories>, payloads XML de chamadas de ferramenta em texto simples (incluindo <tool_call>...</tool_call>, <function_call>...</function_call>, <tool_calls>...</tool_calls>, <function_calls>...</function_calls> e blocos truncados de chamadas de ferramenta), estrutura degradada de chamadas de ferramenta, tokens de controle do modelo vazados em ASCII/largura completa e XML malformado de chamadas de ferramenta do MiniMax do texto do assistente, e depois aplica redação/truncamento e possíveis placeholders para linhas grandes demais em vez de agir como um dump bruto da transcrição.

Restrições específicas por provider

Use tools.byProvider para restringir ferramentas para providers específicos sem alterar os padrões globais:
{
  tools: {
    profile: "coding",
    byProvider: {
      "google-antigravity": { profile: "minimal" },
    },
  },
}