Los paquetes no son lo mismo que los plugins nativos de OpenClaw. Los plugins nativos se ejecutan
en proceso y pueden registrar cualquier capacidad. Los paquetes son paquetes de contenido con
asignación selectiva de características y un límite de confianza más estrecho.
Por qué existen los paquetes
Muchos plugins útiles se publican en formato Codex, Claude o Cursor. En lugar de exigir a los autores que los reescriban como plugins nativos de OpenClaw, OpenClaw detecta estos formatos y asigna su contenido compatible al conjunto de características nativas. Puedes instalar un paquete de comandos de Claude o un paquete de habilidades de Codex y usarlo de inmediato.Instalar un paquete
Instalar desde un directorio, archivo o marketplace
<source> es una ruta/repositorio de marketplace local o una fuente git/GitHub.Verificar la detección
Format: bundle más un valor Bundle format: de codex,
claude o cursor.Qué asigna OpenClaw desde los paquetes
No todas las características de los paquetes se ejecutan hoy en OpenClaw. Esto es lo que funciona y lo que se detecta, pero aún no está conectado.Compatible ahora
| Característica | Cómo se asigna | Se aplica a |
|---|---|---|
| Contenido de habilidades | Las raíces de habilidades del paquete se cargan como habilidades normales de OpenClaw | Todos los formatos |
| Comandos | commands/ y .cursor/commands/ se tratan como raíces de habilidades | Claude, Cursor |
| Paquetes de hooks | Diseños estilo OpenClaw con HOOK.md + handler.ts | Codex |
| Herramientas MCP | La configuración MCP del paquete se fusiona en la configuración embebida de OpenClaw; se cargan servidores stdio y HTTP compatibles | Todos los formatos |
| Servidores LSP | .lsp.json de Claude y lspServers declarados en el manifiesto se fusionan en los valores predeterminados de LSP embebidos de OpenClaw | Claude |
| Configuración | settings.json de Claude se importa como valores predeterminados embebidos de OpenClaw | Claude |
Contenido de habilidades
- Las raíces de habilidades del paquete se cargan como raíces de habilidades normales de OpenClaw.
- Las raíces
commands/de Claude se tratan como raíces de habilidades adicionales. - Las raíces
.cursor/commands/de Cursor se tratan como raíces de habilidades adicionales.
Paquetes de hooks
Las raíces de hooks de paquetes funcionan solo cuando usan el diseño normal de paquete de hooks de OpenClaw:HOOK.md más handler.ts o handler.js. Hoy, este es principalmente
el caso compatible con Codex.
MCP para OpenClaw embebido
- Los paquetes habilitados pueden aportar configuración de servidores MCP.
- OpenClaw fusiona la configuración MCP del paquete en la configuración efectiva de OpenClaw
embebido como
mcpServers. - OpenClaw expone herramientas MCP de paquetes compatibles durante los turnos de agente de OpenClaw embebido iniciando servidores stdio o conectándose a servidores HTTP.
- Los perfiles de herramientas
codingymessagingincluyen herramientas MCP de paquetes de forma predeterminada; usatools.deny: ["bundle-mcp"]para excluirlas para un agente o Gateway. - La configuración de agente embebido local del proyecto sigue aplicándose después de los valores predeterminados del paquete, por lo que la configuración del espacio de trabajo puede anular entradas MCP del paquete cuando sea necesario.
- Los catálogos de herramientas MCP de paquetes se ordenan de forma determinista antes del registro, por lo que
los cambios en el orden de
listTools()ascendente no invalidan repetidamente los bloques de herramientas de la caché de prompts.
Transportes
Los servidores MCP pueden usar transporte stdio o HTTP. Stdio inicia un proceso hijo:sse de forma predeterminada a menos que
se solicite streamable-http:
transportacepta"streamable-http"o"sse"; si se omite, el valor predeterminado essse.type: "http"es una forma descendente nativa de la CLI; usatransport: "streamable-http"en la configuración de OpenClaw.openclaw mcp setyopenclaw doctor --fixnormalizan el alias común.- Solo se permiten esquemas de URL
http:yhttps:. - Los valores de
headersadmiten interpolación${ENV_VAR}. - Se rechaza una entrada de servidor con
commandyurl. - Las credenciales de URL (userinfo y parámetros de consulta) se redactan de las descripciones de herramientas y los logs.
connectionTimeoutMsanula el tiempo de espera de conexión predeterminado de 30 segundos para transportes stdio y HTTP. El tiempo de espera de solicitud tiene un valor predeterminado de 60 segundos y puede anularse conrequestTimeoutMs.
Nomenclatura de herramientas
OpenClaw registra herramientas MCP de paquetes con nombres seguros para proveedores en la formaserverName__toolName. Por ejemplo, un servidor con la clave "vigil-harbor" que expone una
herramienta memory_search se registra como vigil-harbor__memory_search.
- Los caracteres fuera de
A-Za-z0-9_-se reemplazan por-. - Los fragmentos que empezarían por una no letra reciben un prefijo de letra, por lo que las claves numéricas
de servidor como
12306se convierten en prefijos de herramienta seguros para proveedores. - Los prefijos de servidor tienen un límite de 30 caracteres.
- Los nombres completos de herramientas tienen un límite de 64 caracteres.
- Los nombres de servidor vacíos usan
mcpcomo alternativa. - Los nombres saneados que colisionan se desambiguan con sufijos numéricos.
- El orden final de herramientas expuestas es determinista por nombre seguro, lo que mantiene los turnos repetidos de agente embebido estables para la caché.
- El filtrado de perfiles trata cada herramienta de un servidor MCP de paquete como
propiedad del plugin
bundle-mcp, por lo que las listas allow/deny de perfiles pueden hacer referencia a nombres individuales de herramientas expuestas o a la clave de pluginbundle-mcp.
Configuración embebida de OpenClaw
settings.json de Claude se importa como configuración predeterminada embebida de OpenClaw cuando
el paquete está habilitado. OpenClaw sanea las claves de anulación de shell antes de aplicarlas:
shellPathshellCommandPrefix
LSP embebido de OpenClaw
- Los paquetes Claude habilitados pueden aportar configuración de servidores LSP.
- OpenClaw carga
.lsp.jsonmás cualquier rutalspServersdeclarada en el manifiesto. - La configuración LSP del paquete se fusiona en los valores predeterminados efectivos de LSP de OpenClaw embebido.
- Hoy solo son ejecutables los servidores LSP respaldados por stdio compatibles; los transportes
no compatibles siguen apareciendo en
openclaw plugins inspect <id>.
Detectado pero no ejecutado
Se reconocen y se muestran en diagnósticos, pero OpenClaw no los ejecuta:agents, automatizaciónhooks/hooks.json,outputStylesde Claude.cursor/agents,.cursor/hooks.json,.cursor/rulesde Cursor- Metadatos
.app.jsonde Codex más allá del informe de capacidades
Formatos de paquete
Paquetes Codex
Paquetes Codex
Marcadores:
.codex-plugin/plugin.jsonContenido opcional: skills/, hooks/, .mcp.json, .app.jsonLos paquetes Codex encajan mejor con OpenClaw cuando usan raíces de habilidades y directorios
de paquetes de hooks estilo OpenClaw (HOOK.md + handler.ts).Paquetes Claude
Paquetes Claude
Dos modos de detección:
- Basado en manifiesto:
.claude-plugin/plugin.json - Sin manifiesto: diseño predeterminado de Claude (
skills/,commands/,agents/,hooks/,.mcp.json,.lsp.json,settings.json)
commands/se trata como contenido de habilidadessettings.jsonse importa en la configuración embebida de OpenClaw (las claves de anulación de shell se sanean).mcp.jsonexpone herramientas stdio compatibles a OpenClaw embebido.lsp.jsonmás las rutaslspServersdeclaradas en el manifiesto se cargan en los valores predeterminados de LSP embebidos de OpenClawhooks/hooks.jsonse detecta pero no se ejecuta- Las rutas de componentes personalizados en el manifiesto son aditivas; extienden los valores predeterminados, no los reemplazan
Paquetes Cursor
Paquetes Cursor
Marcadores:
.cursor-plugin/plugin.jsonContenido opcional: skills/, .cursor/commands/, .cursor/agents/, .cursor/rules/, .cursor/hooks.json, .mcp.json.cursor/commands/se trata como contenido de habilidades.cursor/rules/,.cursor/agents/y.cursor/hooks.jsonson solo de detección
Prioridad de detección
OpenClaw comprueba primero el formato de plugin nativo:openclaw.plugin.jsono unpackage.jsonválido conopenclaw.extensions: se trata como un plugin nativo- Marcadores de paquete (
.codex-plugin/,.claude-plugin/o diseño predeterminado de Claude/Cursor): se trata como un paquete
Dependencias en tiempo de ejecución y limpieza
- Los paquetes compatibles de terceros no reciben reparación
npm installen el inicio. Deben instalarse medianteopenclaw plugins instally traer todo lo que necesitan en el directorio de plugin instalado. - Los plugins empaquetados propiedad de OpenClaw se entregan ligeros en core o se pueden descargar mediante el instalador de plugins. El inicio de Gateway nunca ejecuta un gestor de paquetes para ellos.
openclaw doctor --fixelimina registros obsoletos de instalación local de plugins empaquetados y puede recuperar plugins descargables que faltan en el índice local de plugins cuando la configuración aún hace referencia a ellos.
Seguridad
Los paquetes tienen un límite de confianza más estrecho que los plugins nativos:- OpenClaw no carga módulos arbitrarios de tiempo de ejecución del paquete en proceso.
- Las rutas de habilidades y paquetes de hooks deben permanecer dentro de la raíz del plugin (con comprobación de límite).
- Los archivos de configuración se leen con las mismas comprobaciones de límite.
- Los servidores MCP stdio compatibles pueden iniciarse como subprocesos.
Solución de problemas
El paquete se detecta pero las capacidades no se ejecutan
El paquete se detecta pero las capacidades no se ejecutan
Ejecuta
openclaw plugins inspect <id>. Si una capacidad aparece, pero está marcada como
no conectada, es un límite del producto, no una instalación rota.Los archivos de comandos Claude no aparecen
Los archivos de comandos Claude no aparecen
Asegúrate de que el paquete esté habilitado y de que los archivos markdown estén dentro de una raíz
commands/ o skills/ detectada.La configuración Claude no se aplica
La configuración Claude no se aplica
Solo se admite la configuración embebida de OpenClaw desde
settings.json. OpenClaw no
trata la configuración del paquete como parches de configuración sin procesar.Los hooks Claude no se ejecutan
Los hooks Claude no se ejecutan
hooks/hooks.json es solo de detección. Si necesitas hooks ejecutables, usa el
diseño de paquete de hooks de OpenClaw o entrega un plugin nativo.Relacionado
- Instalar y configurar plugins
- Crear plugins: crea un plugin nativo
- Manifiesto de plugin: esquema de manifiesto nativo