Pacotes não são o mesmo que plugins nativos do OpenClaw. Plugins nativos são executados
no processo e podem registrar qualquer capacidade. Pacotes são pacotes de conteúdo com
mapeamento seletivo de recursos e uma fronteira de confiança mais estreita.
Por que os pacotes existem
Muitos plugins úteis são publicados no formato Codex, Claude ou Cursor. Em vez de exigir que autores os reescrevam como plugins nativos do OpenClaw, o OpenClaw detecta esses formatos e mapeia o conteúdo compatível para o conjunto de recursos nativos. Isso significa que você pode instalar um pacote de comandos do Claude ou um pacote de Skills do Codex e usá-lo imediatamente.Instalar um pacote
O que o OpenClaw mapeia de pacotes
Nem todos os recursos de pacotes são executados no OpenClaw hoje. Veja o que funciona e o que é detectado, mas ainda não está conectado.Compatível agora
| Recurso | Como ele é mapeado | Aplica-se a |
|---|---|---|
| Conteúdo de Skills | Raízes de Skills do pacote carregam como Skills normais do OpenClaw | Todos os formatos |
| Comandos | commands/ e .cursor/commands/ tratados como raízes de Skills | Claude, Cursor |
| Pacotes de hooks | Layouts no estilo OpenClaw com HOOK.md + handler.ts | Codex |
| Ferramentas MCP | Configuração MCP do pacote mesclada nas configurações incorporadas do OpenClaw; servidores stdio e HTTP compatíveis carregados | Todos os formatos |
| Servidores LSP | .lsp.json do Claude e lspServers declarados no manifesto mesclados aos padrões de LSP incorporados do OpenClaw | Claude |
| Configurações | settings.json do Claude importado como padrões incorporados do OpenClaw | Claude |
Conteúdo de Skills
- raízes de Skills do pacote carregam como raízes de Skills normais do OpenClaw
- raízes
commandsdo Claude são tratadas como raízes adicionais de Skills - raízes
.cursor/commandsdo Cursor são tratadas como raízes adicionais de Skills
Pacotes de hooks
- raízes de hooks de pacote funcionam somente quando usam o layout normal de pacote de hooks
do OpenClaw. Hoje, esse é principalmente o caso compatível com Codex:
HOOK.mdhandler.tsouhandler.js
MCP para OpenClaw incorporado
- pacotes habilitados podem contribuir configuração de servidor MCP
- o OpenClaw mescla a configuração MCP do pacote nas configurações efetivas do OpenClaw incorporado como
mcpServers - o OpenClaw expõe ferramentas MCP de pacote compatíveis durante turnos de agente do OpenClaw incorporado ao iniciar servidores stdio ou conectar a servidores HTTP
- os perfis de ferramentas
codingemessagingincluem ferramentas MCP de pacote por padrão; usetools.deny: ["bundle-mcp"]para desativar em um agente ou Gateway - configurações locais de projeto do agente incorporado ainda se aplicam após os padrões do pacote, para que as configurações do workspace possam substituir entradas MCP do pacote quando necessário
- catálogos de ferramentas MCP de pacote são ordenados deterministamente antes do registro, para que
mudanças na ordem upstream de
listTools()não desestabilizem blocos de ferramentas do cache de prompts
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 usassetype: "http"é um formato downstream nativo da CLI; usetransport: "streamable-http"na configuração do OpenClaw.openclaw mcp seteopenclaw doctor --fixnormalizam o alias comum.- somente esquemas de URL
http:ehttps:são permitidos - valores de
headersaceitam interpolação${ENV_VAR} - uma entrada de servidor com
commandeurlé rejeitada - credenciais de URL (userinfo e parâmetros de consulta) são removidas das descrições de ferramentas e dos 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 pacote com nomes seguros para provedores no formatoserverName__toolName. Por exemplo, um servidor com a 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- - fragmentos que começariam com uma não letra recebem um prefixo de letra, então chaves numéricas
de servidor, como
12306, tornam-se prefixos de ferramenta seguros para provedores - prefixos de servidor são limitados a 30 caracteres
- nomes completos de ferramentas são limitados a 64 caracteres
- nomes de servidor vazios usam
mcpcomo fallback - nomes sanitizados conflitantes são desambiguados com sufixos numéricos
- a ordem final das ferramentas expostas é determinística por nome seguro para manter turnos repetidos de agente incorporado estáveis para cache
- a filtragem de perfis trata todas as ferramentas de um servidor MCP de pacote como pertencentes ao plugin
bundle-mcp, então allowlists e listas de negação de perfil podem incluir nomes individuais de ferramentas expostas ou a chave de pluginbundle-mcp
Configurações do OpenClaw incorporado
settings.jsondo Claude é importado como configurações padrão do OpenClaw incorporado quando o pacote está habilitado- o OpenClaw sanitiza chaves de substituição de shell antes de aplicá-las
shellPathshellCommandPrefix
LSP do OpenClaw incorporado
- pacotes Claude habilitados podem contribuir configuração de servidor LSP
- o OpenClaw carrega
.lsp.jsonmais quaisquer caminhoslspServersdeclarados no manifesto - a configuração LSP do pacote é mesclada aos padrões efetivos de LSP do OpenClaw incorporado
- somente servidores LSP baseados em stdio compatíveis são executáveis hoje; transportes
não compatíveis ainda aparecem em
openclaw plugins inspect <id>
Detectado, mas não executado
Estes são reconhecidos e mostrados 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 pacote
Pacotes Codex
Pacotes Codex
Marcadores:
.codex-plugin/plugin.jsonConteúdo opcional: skills/, hooks/, .mcp.json, .app.jsonPacotes Codex se ajustam melhor ao OpenClaw quando usam raízes de Skills e diretórios de pacote de hooks
no estilo OpenClaw (HOOK.md + handler.ts).Pacotes Claude
Pacotes 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 Skillssettings.jsoné importado para configurações incorporadas do OpenClaw (chaves de substituição de shell são sanitizadas).mcp.jsonexpõe ferramentas stdio compatíveis ao OpenClaw incorporado.lsp.jsonmais caminhoslspServersdeclarados no manifesto carregam nos padrões de LSP do OpenClaw incorporadohooks/hooks.jsoné detectado, mas não executado- Caminhos personalizados de componentes no manifesto são aditivos (eles estendem os padrões, não os substituem)
Pacotes Cursor
Pacotes 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 Skills.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 pacote (
.codex-plugin/,.claude-plugin/ou layout padrão Claude/Cursor) — tratados como pacote
Dependências de runtime e limpeza
- Pacotes compatíveis de terceiros não recebem reparo de
npm installna inicialização. Eles devem ser instalados por meio deopenclaw plugins installe enviar tudo que precisam no diretório de plugin instalado. - Plugins empacotados pertencentes ao OpenClaw são enviados leves no core ou baixáveis pelo instalador de plugins. A inicialização do Gateway nunca executa um gerenciador de pacotes para eles.
openclaw doctor --fixremove diretórios legados de dependências em estágio e pode recuperar plugins baixáveis ausentes do índice local de plugins quando a configuração faz referência a eles.
Segurança
Pacotes têm uma fronteira de confiança mais estreita do que plugins nativos:- o OpenClaw não carrega módulos arbitrários de runtime de pacote no processo
- caminhos de Skills e pacotes de hooks devem permanecer dentro da raiz do plugin (com verificação de fronteira)
- arquivos de configurações são lidos com as mesmas verificações de fronteira
- servidores MCP stdio compatíveis podem ser iniciados como subprocessos
Solução de problemas
O pacote é detectado, mas as capacidades não executam
O pacote é detectado, mas as capacidades não executam
Execute
openclaw plugins inspect <id>. Se uma capacidade estiver listada, mas marcada como
não conectada, isso é um limite do produto — não uma instalação quebrada.Arquivos de comando do Claude não aparecem
Arquivos de comando do Claude não aparecem
Certifique-se de que o pacote esteja habilitado e de que os arquivos markdown estejam dentro de uma raiz
commands/ ou skills/ detectada.Configurações do Claude não se aplicam
Configurações do Claude não se aplicam
Somente configurações do OpenClaw incorporado de
settings.json são compatíveis. O OpenClaw
não trata configurações de pacote como patches brutos de configuração.Hooks do Claude não executam
Hooks do Claude não executam
hooks/hooks.json é apenas detectado. Se você precisa de hooks executáveis, use o
layout de pacote de hooks do OpenClaw ou envie um plugin nativo.Relacionado
- Instalar e Configurar Plugins
- Criar Plugins — crie um plugin nativo
- Manifesto de Plugin — esquema de manifesto nativo