Bundles de plugins
O OpenClaw pode instalar plugins de três ecossistemas externos: Codex, Claude e Cursor. Eles são chamados de bundles — pacotes de conteúdo e metadados que o OpenClaw mapeia para recursos nativos como skills, hooks e ferramentas MCP.Bundles não são o mesmo que plugins nativos do OpenClaw. Plugins nativos são executados
em processo e podem registrar qualquer capacidade. Bundles são pacotes de conteúdo com
mapeamento seletivo de recursos e um limite de confiança mais restrito.
Por que os bundles existem
Muitos plugins úteis são publicados no formato Codex, Claude ou Cursor. Em vez de exigir que os autores os reescrevam como plugins nativos do OpenClaw, o OpenClaw detecta esses formatos e mapeia seu conteúdo compatível para o conjunto de recursos nativos. Isso significa que você pode instalar um pacote de comandos do Claude ou um bundle de skills do Codex e usá-lo imediatamente.Instalar um bundle
O que o OpenClaw mapeia dos bundles
Nem todo recurso de bundle funciona no OpenClaw hoje. Aqui está o que funciona e o que é detectado, mas ainda não está conectado.Compatível agora
| Recurso | Como é mapeado | Aplica-se a |
|---|---|---|
| Conteúdo de skill | Raízes de skill do bundle são carregadas como skills normais do OpenClaw | Todos os formatos |
| Comandos | commands/ e .cursor/commands/ são tratados como raízes de skill | Claude, Cursor |
| Pacotes de hook | Layouts no estilo OpenClaw com HOOK.md + handler.ts | Codex |
| Ferramentas MCP | A configuração MCP do bundle é mesclada às configurações incorporadas do Pi; servidores stdio e HTTP compatíveis são carregados | Todos os formatos |
| Servidores LSP | .lsp.json do Claude e lspServers declarados no manifesto são mesclados aos padrões de LSP do Pi incorporado | Claude |
| Configurações | settings.json do Claude é importado como padrões do Pi incorporado | Claude |
Conteúdo de skill
- raízes de skill do bundle são carregadas como raízes normais de skill do OpenClaw
- raízes
commandsdo Claude são tratadas como raízes adicionais de skill - raízes
.cursor/commandsdo Cursor são tratadas como raízes adicionais de skill
Pacotes de hook
- raízes de hook do bundle funcionam apenas quando usam o layout normal de pacote de hook do OpenClaw.
Hoje, esse é principalmente o caso compatível com Codex:
HOOK.mdhandler.tsouhandler.js
MCP para Pi
- bundles habilitados podem contribuir com configuração de servidor MCP
- o OpenClaw mescla a configuração MCP do bundle às configurações incorporadas efetivas do Pi como
mcpServers - o OpenClaw expõe ferramentas MCP compatíveis do bundle durante turnos do agente Pi incorporado ao iniciar servidores stdio ou conectar-se a servidores HTTP
- as configurações locais de projeto do Pi ainda são aplicadas após os padrões do bundle, então as configurações do workspace podem substituir entradas MCP do bundle quando necessário
- os catálogos de ferramentas MCP do bundle são ordenados de forma determinística antes do registro, para que
mudanças na ordem de
listTools()a montante não desestabilizem blocos de ferramenta no cache de prompt
Transportes
Servidores MCP podem usar transporte stdio ou HTTP: Stdio inicia um processo filho:sse por padrão, ou streamable-http quando solicitado:
transportpode ser definido como"streamable-http"ou"sse"; quando omitido, o OpenClaw usasse- apenas esquemas de URL
http:ehttps:são permitidos - valores de
headersoferecem suporte à interpolação${ENV_VAR} - uma entrada de servidor com
commandeurlé rejeitada - credenciais de URL (userinfo e parâmetros de consulta) são ocultadas nas descrições de ferramenta e nos logs
connectionTimeoutMssubstitui o tempo limite de conexão padrão de 30 segundos para transportes stdio e HTTP
Nomenclatura de ferramentas
O OpenClaw registra ferramentas MCP de bundle com nomes seguros para o provedor no formatoserverName__toolName. Por exemplo, um servidor com chave "vigil-harbor" que expõe uma
ferramenta memory_search é registrado como vigil-harbor__memory_search.
- caracteres fora de
A-Za-z0-9_-são substituídos por- - prefixos de servidor são limitados a 30 caracteres
- nomes completos de ferramenta são limitados a 64 caracteres
- nomes de servidor vazios usam
mcpcomo fallback - nomes saneados em colisão são desambiguados com sufixos numéricos
- a ordem final exposta das ferramentas é determinística por nome seguro para manter turnos repetidos do Pi estáveis no cache
Configurações incorporadas do Pi
settings.jsondo Claude é importado como configuração padrão do Pi incorporado quando o bundle está habilitado- o OpenClaw sanitiza chaves de substituição de shell antes de aplicá-las
shellPathshellCommandPrefix
LSP do Pi incorporado
- bundles Claude habilitados podem contribuir com configuração de servidor LSP
- o OpenClaw carrega
.lsp.jsonalém de quaisquer caminhoslspServersdeclarados no manifesto - a configuração LSP do bundle é mesclada aos padrões efetivos de LSP do Pi incorporado
- apenas servidores LSP compatíveis baseados em stdio podem ser executados hoje; transportes
não compatíveis ainda aparecem em
openclaw plugins inspect <id>
Detectado, mas não executado
Eles são reconhecidos e exibidos em diagnósticos, mas o OpenClaw não os executa:agents, automaçãohooks.json,outputStylesdo Claude.cursor/agents,.cursor/hooks.json,.cursor/rulesdo Cursor- metadados inline/de app do Codex além do relatório de capacidades
Formatos de bundle
Bundles do Codex
Bundles do Codex
Marcadores:
.codex-plugin/plugin.jsonConteúdo opcional: skills/, hooks/, .mcp.json, .app.jsonBundles do Codex se encaixam melhor no OpenClaw quando usam raízes de skill e
diretórios de pacote de hook no estilo OpenClaw (HOOK.md + handler.ts).Bundles do Claude
Bundles do Claude
Dois modos de detecção:
- Baseado em manifesto:
.claude-plugin/plugin.json - Sem manifesto: layout padrão do Claude (
skills/,commands/,agents/,hooks/,.mcp.json,.lsp.json,settings.json)
commands/é tratado como conteúdo de skillsettings.jsoné importado para as configurações incorporadas do Pi (chaves de substituição de shell são sanitizadas).mcp.jsonexpõe ferramentas stdio compatíveis ao Pi incorporado.lsp.jsonmais caminhoslspServersdeclarados no manifesto são carregados nos padrões de LSP do Pi incorporadohooks/hooks.jsoné detectado, mas não executado- caminhos de componente personalizados no manifesto são aditivos (estendem os padrões, não os substituem)
Bundles do Cursor
Bundles do Cursor
Marcadores:
.cursor-plugin/plugin.jsonConteúdo opcional: skills/, .cursor/commands/, .cursor/agents/, .cursor/rules/, .cursor/hooks.json, .mcp.json.cursor/commands/é tratado como conteúdo de skill.cursor/rules/,.cursor/agents/e.cursor/hooks.jsonsão apenas detectados
Precedência de detecção
O OpenClaw verifica primeiro o formato de plugin nativo:openclaw.plugin.jsonoupackage.jsonválido comopenclaw.extensions— tratado como plugin nativo- Marcadores de bundle (
.codex-plugin/,.claude-plugin/ou layout padrão de Claude/Cursor) — tratado como bundle
Segurança
Bundles têm um limite de confiança mais restrito do que plugins nativos:- o OpenClaw não carrega módulos arbitrários de runtime do bundle em processo
- caminhos de skills e pacote de hook devem permanecer dentro da raiz do plugin (verificados por limite)
- arquivos de configuração são lidos com as mesmas verificações de limite
- servidores MCP stdio compatíveis podem ser iniciados como subprocessos
Solução de problemas
O bundle é detectado, mas as capacidades não funcionam
O bundle é detectado, mas as capacidades não funcionam
Execute
openclaw plugins inspect <id>. Se uma capacidade estiver listada, mas marcada como
não conectada, isso é uma limitação do produto — não uma instalação com problema.Arquivos de comando do Claude não aparecem
Arquivos de comando do Claude não aparecem
Verifique se o bundle está habilitado e se os arquivos markdown estão dentro de uma raiz
commands/ ou skills/ detectada.As configurações do Claude não são aplicadas
As configurações do Claude não são aplicadas
Apenas as configurações incorporadas do Pi vindas de
settings.json são compatíveis. O OpenClaw não
trata configurações de bundle como patches brutos de configuração.Hooks do Claude não são executados
Hooks do Claude não são executados
hooks/hooks.json é apenas detectado. Se você precisar de hooks executáveis, use o
layout de pacote de hook do OpenClaw ou distribua um plugin nativo.Relacionado
- Instalar e configurar plugins
- Criando plugins — crie um plugin nativo
- Manifesto de plugin — esquema de manifesto nativo