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 embutidas e plugins podem registrar ferramentas adicionais.O agente vê as ferramentas como definições estruturadas de função enviadas à API do modelo.
2

Skills ensinam o agente quando e como

Uma Skill é um arquivo Markdown (SKILL.md) injetado no prompt do sistema. Skills dão ao agente contexto, restrições e orientações passo a passo para usar ferramentas com eficácia. Skills ficam no seu workspace, em pastas compartilhadas ou podem vir 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, provedores 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 (incluídos com o OpenClaw), outros são externos (publicados no npm pela comunidade).Instalar e configurar plugins | Criar o seu

Ferramentas embutidas

Essas ferramentas vêm com o OpenClaw e estão disponíveis sem instalar nenhum plugin:
FerramentaO que fazPágina
exec / processExecuta comandos de shell, gerencia processos em segundo planoExec
code_executionExecuta análise remota em Python em sandboxCode Execution
browserControla um navegador Chromium (navegar, clicar, captura de tela)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 blocosApply Patch
messageEnvia mensagens por todos os canaisAgent Send
canvasControla o node Canvas (present, eval, snapshot)
nodesDescobre e direciona dispositivos pareados
cron / gatewayGerencia trabalhos agendados; inspeciona, faz patch, reinicia ou atualiza o gateway
image / image_generateAnalisa ou gera imagensImage Generation
music_generateGera faixas de músicaMusic Generation
video_generateGera vídeosVideo Generation
ttsConversão pontual de texto em falaTTS
sessions_* / subagents / agents_listGerenciamento de sessão, status e orquestração de subagentesSub-agents
session_statusRetorno leve no estilo /status e substituição de modelo por sessãoSession Tools
Para trabalho com imagem, use image para análise e image_generate para geração ou edição. Se você usar openai/*, google/*, fal/* ou outro provedor de imagem que não seja o padrão, configure antes a autenticação/chave de API desse provedor. Para trabalho com música, use music_generate. Se você usar google/*, minimax/* ou outro provedor de música que não seja o padrão, configure antes a autenticação/chave de API desse provedor. Para trabalho com vídeo, use video_generate. Se você usar qwen/* ou outro provedor de vídeo que não seja o padrão, configure antes a autenticação/chave de API desse provedor. Para geração de áudio orientada por workflow, use music_generate quando um plugin como ComfyUI o registrar. Isso é separado de tts, que é texto para fala. session_status é a ferramenta leve de status/retorno do grupo de sessões. Ela responde 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 token/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 com escopo de caminho antes de edições
  • config.get para o snapshot atual da configuração + hash
  • config.patch para atualizações parciais de configuração com reinicialização
  • config.apply apenas para substituição completa da configuração
  • update.run para autoatualização explícita + reinicialização
Para alterações parciais, prefira config.schema.lookup e depois config.patch. Use config.apply apenas quando você quiser substituir intencionalmente toda a configuração. A ferramenta também se recusa a alterar tools.exec.ask ou tools.exec.security; aliases legados tools.bash.* são normalizados para os mesmos caminhos protegidos de exec.

Ferramentas fornecidas por plugin

Plugins podem registrar ferramentas adicionais. Alguns exemplos:
  • Lobster — runtime de workflow tipado com aprovações retomáveis
  • LLM Task — etapa de LLM somente JSON para saída estruturada
  • Music Generation — ferramenta compartilhada music_generate com provedores baseados em workflow
  • Diffs — visualizador e renderizador de diffs
  • OpenProse — orquestração de workflow focada em Markdown

Configuração de ferramentas

Listas de permissão e negação

Controle quais ferramentas o agente pode chamar por meio de 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 ferramentas

tools.profile define uma allowlist base antes da aplicação de allow/deny. Substituição por agente: agents.list[].tools.profile.
PerfilO que inclui
fullSem restrição (igual a não definir)
codinggroup:fs, group:runtime, group:web, group:sessions, group:memory, cron, image, image_generate, music_generate, video_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:
GrupoFerramentas
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, music_generate, video_generate, tts
group:openclawTodas as ferramentas embutidas do OpenClaw (exclui ferramentas de plugin)
sessions_history retorna uma visualização limitada e filtrada por segurança para recall. Ela remove tags de thinking, scaffolding <relevant-memories>, payloads XML de chamada 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 chamada de ferramenta), scaffolding rebaixado de chamada de ferramenta, tokens de controle de modelo vazados em ASCII/largura total e XML malformado de chamada de ferramenta do MiniMax do texto do assistente, depois aplica redação/truncamento e possíveis placeholders de linha superdimensionada em vez de agir como um dump bruto da transcrição.

Restrições específicas por provedor

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