Plugins
Plugins estendem o OpenClaw com novos recursos: canais, provedores de modelo, ferramentas, Skills, fala, transcrição em tempo real, voz em tempo real, media-understanding, geração de imagem, geração de vídeo, busca na web, pesquisa na web e muito mais. Alguns plugins são core (fornecidos com o OpenClaw), outros são external (publicados no npm pela comunidade).Início rápido
Se você preferir controle nativo por chat, ative
commands.plugins: true e use:
clawhub:<pkg> explícito ou especificação de pacote simples (ClawHub primeiro, depois fallback para npm).
Se a configuração for inválida, a instalação normalmente falha de forma segura e aponta você para
openclaw doctor --fix. A única exceção de recuperação é um caminho restrito de
reinstalação de plugin empacotado para plugins que optam por
openclaw.install.allowInvalidConfigRecovery.
Tipos de plugin
O OpenClaw reconhece dois formatos de plugin:| Formato | Como funciona | Exemplos |
|---|---|---|
| Native | openclaw.plugin.json + módulo de runtime; executa no processo | Plugins oficiais, pacotes npm da comunidade |
| Bundle | Layout compatível com Codex/Claude/Cursor; mapeado para recursos do OpenClaw | .codex-plugin/, .claude-plugin/, .cursor-plugin/ |
openclaw plugins list. Veja Plugin Bundles para detalhes sobre bundles.
Se você estiver escrevendo um plugin nativo, comece com Building Plugins
e a Plugin SDK Overview.
Plugins oficiais
Instaláveis (npm)
| Plugin | Pacote | Documentação |
|---|---|---|
| Matrix | @openclaw/matrix | Matrix |
| Microsoft Teams | @openclaw/msteams | Microsoft Teams |
| Nostr | @openclaw/nostr | Nostr |
| Voice Call | @openclaw/voice-call | Voice Call |
| Zalo | @openclaw/zalo | Zalo |
| Zalo Personal | @openclaw/zalouser | Zalo Personal |
Core (fornecidos com o OpenClaw)
Provedores de modelo (ativados por padrão)
Provedores de modelo (ativados por padrão)
anthropic, byteplus, cloudflare-ai-gateway, github-copilot, google,
huggingface, kilocode, kimi-coding, minimax, mistral, qwen,
moonshot, nvidia, openai, opencode, opencode-go, openrouter,
qianfan, synthetic, together, venice,
vercel-ai-gateway, volcengine, xiaomi, zaiPlugins de memória
Plugins de memória
memory-core— pesquisa de memória empacotada (padrão viaplugins.slots.memory)memory-lancedb— memória de longo prazo com instalação sob demanda e recuperação/captura automáticas (definaplugins.slots.memory = "memory-lancedb")
Provedores de fala (ativados por padrão)
Provedores de fala (ativados por padrão)
elevenlabs, microsoftOutros
Outros
browser— plugin de navegador empacotado para a ferramenta de navegador, a CLIopenclaw browser, o método de gatewaybrowser.request, o runtime do navegador e o serviço de controle de navegador padrão (ativado por padrão; desative antes de substituí-lo)copilot-proxy— ponte VS Code Copilot Proxy (desativada por padrão)
Configuração
| Campo | Descrição |
|---|---|
enabled | Alternância principal (padrão: true) |
allow | Lista de permissão de plugins (opcional) |
deny | Lista de bloqueio de plugins (opcional; deny prevalece) |
load.paths | Arquivos/diretórios extras de plugins |
slots | Seletores de slot exclusivos (por exemplo, memory, contextEngine) |
entries.\<id\> | Alternâncias e configuração por plugin |
openclaw gateway), essa
reinicialização geralmente é feita automaticamente pouco depois que a gravação da configuração é concluída.
Estados do plugin: desativado vs ausente vs inválido
Estados do plugin: desativado vs ausente vs inválido
- Desativado: o plugin existe, mas as regras de ativação o desativaram. A configuração é preservada.
- Ausente: a configuração referencia um ID de plugin que a descoberta não encontrou.
- Inválido: o plugin existe, mas sua configuração não corresponde ao esquema declarado.
Descoberta e precedência
O OpenClaw examina plugins nesta ordem (a primeira correspondência prevalece):Extensões do workspace
\<workspace\>/.openclaw/<plugin-root>/*.ts e \<workspace\>/.openclaw/<plugin-root>/*/index.ts.Regras de ativação
plugins.enabled: falsedesativa todos os pluginsplugins.denysempre prevalece sobreallowplugins.entries.\<id\>.enabled: falsedesativa esse plugin- Plugins originados no workspace ficam desativados por padrão (devem ser ativados explicitamente)
- Plugins empacotados seguem o conjunto interno ativado por padrão, salvo substituição
- Slots exclusivos podem forçar a ativação do plugin selecionado para esse slot
Slots de plugin (categorias exclusivas)
Algumas categorias são exclusivas (apenas uma ativa por vez):| Slot | O que controla | Padrão |
|---|---|---|
memory | Plugin de memória ativo | memory-core |
contextEngine | Mecanismo de contexto ativo | legacy (interno) |
Referência da CLI
openclaw plugins enable <id>.
--force sobrescreve um plugin instalado existente ou um pacote de hooks no lugar.
Ele não é compatível com --link, que reutiliza o caminho de origem em vez de
copiar para um destino de instalação gerenciado.
--pin é apenas para npm. Ele não é compatível com --marketplace, porque
instalações de marketplace persistem metadados da origem do marketplace em vez de uma especificação npm.
--dangerously-force-unsafe-install é uma substituição de último recurso para falsos
positivos do scanner interno de código perigoso. Ele permite que instalações e
atualizações de plugins continuem apesar de achados internos critical, mas ainda
não ignora bloqueios de política before_install do plugin nem bloqueios por falha na verificação.
Essa flag da CLI se aplica apenas aos fluxos de instalação/atualização de plugins. Instalações de dependências
de Skills com suporte do Gateway usam, em vez disso, a substituição correspondente de solicitação
dangerouslyForceUnsafeInstall, enquanto openclaw skills install continua sendo o fluxo separado de
download/instalação de Skills do ClawHub.
Bundles compatíveis participam do mesmo fluxo de list/inspect/enable/disable de plugins.
O suporte de runtime atual inclui Skills de bundle, command-skills do Claude,
padrões do Claude settings.json, padrões do Claude .lsp.json e
lspServers declarados no manifesto, command-skills do Cursor e diretórios de hook
compatíveis do Codex.
openclaw plugins inspect <id> também informa recursos de bundle detectados, além de
entradas de servidor MCP e LSP compatíveis ou incompatíveis para plugins baseados em bundle.
As origens de marketplace podem ser um nome de marketplace conhecido do Claude em
~/.claude/plugins/known_marketplaces.json, uma raiz de marketplace local ou um caminho
marketplace.json, uma abreviação do GitHub como owner/repo, uma URL de repositório do GitHub
ou uma URL git. Para marketplaces remotos, as entradas de plugin devem permanecer dentro do
repositório clonado do marketplace e usar apenas origens de caminho relativo.
Veja a referência da CLI openclaw plugins para detalhes completos.
Visão geral da API de plugins
Plugins nativos exportam um objeto de entrada que expõeregister(api). Plugins
mais antigos ainda podem usar activate(api) como alias legado, mas novos plugins devem
usar register.
register(api) durante a
ativação do plugin. O carregador ainda recorre a activate(api) para plugins mais antigos,
mas plugins empacotados e novos plugins externos devem tratar register como o
contrato público.
Métodos de registro comuns:
| Método | O que registra |
|---|---|
registerProvider | Provedor de modelo (LLM) |
registerChannel | Canal de chat |
registerTool | Ferramenta de agente |
registerHook / on(...) | Hooks de ciclo de vida |
registerSpeechProvider | Texto para fala / STT |
registerRealtimeTranscriptionProvider | STT por streaming |
registerRealtimeVoiceProvider | Voz duplex em tempo real |
registerMediaUnderstandingProvider | Análise de imagem/áudio |
registerImageGenerationProvider | Geração de imagem |
registerVideoGenerationProvider | Geração de vídeo |
registerWebFetchProvider | Provedor de busca/coleta na web |
registerWebSearchProvider | Pesquisa na web |
registerHttpRoute | Endpoint HTTP |
registerCommand / registerCli | Comandos de CLI |
registerContextEngine | Mecanismo de contexto |
registerService | Serviço em segundo plano |
before_tool_call:{ block: true }é terminal; handlers de prioridade inferior são ignorados.before_tool_call:{ block: false }não faz nada e não remove um bloqueio anterior.before_install:{ block: true }é terminal; handlers de prioridade inferior são ignorados.before_install:{ block: false }não faz nada e não remove um bloqueio anterior.message_sending:{ cancel: true }é terminal; handlers de prioridade inferior são ignorados.message_sending:{ cancel: false }não faz nada e não remove um cancelamento anterior.
Relacionado
- Building Plugins — crie seu próprio plugin
- Plugin Bundles — compatibilidade de bundle com Codex/Claude/Cursor
- Plugin Manifest — esquema do manifesto
- Registering Tools — adicione ferramentas de agente em um plugin
- Plugin Internals — modelo de capacidades e pipeline de carregamento
- Community Plugins — listagens de terceiros