Plugins
Paquetes de Plugin
OpenClaw puede instalar plugins desde tres ecosistemas externos: Codex, Claude y Cursor. Se llaman paquetes: paquetes de contenido y metadatos que OpenClaw asigna a funciones nativas como Skills, hooks y herramientas MCP.
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 funciones nativas. Esto significa que puedes instalar un paquete de comandos de Claude o un paquete de Skills de Codex y usarlo de inmediato.
Instalar un paquete
Install from a directory, archive, or marketplace
# Local directoryopenclaw plugins install ./my-bundle # Archiveopenclaw plugins install ./my-bundle.tgz # Claude marketplaceopenclaw plugins marketplace list <marketplace-name>openclaw plugins install <plugin-name>@<marketplace-name>Verify detection
openclaw plugins listopenclaw plugins inspect <id>Los paquetes se muestran como Format: bundle con un subtipo de codex, claude o cursor.
Restart and use
openclaw gateway restartLas funciones asignadas (Skills, hooks, herramientas MCP, valores predeterminados de LSP) están disponibles en la siguiente sesión.
Qué asigna OpenClaw desde los paquetes
No todas las funciones de los paquetes se ejecutan hoy en OpenClaw. Esto es lo que funciona y lo que se detecta, pero todavía no está conectado.
Compatible ahora
| Función | Cómo se asigna | Se aplica a |
|---|---|---|
| Contenido de Skill | Las raíces de Skills del paquete se cargan como Skills normales de OpenClaw | Todos los formatos |
| Comandos | commands/ y .cursor/commands/ se tratan como raíces de Skills |
Claude, Cursor |
| Paquetes de hooks | Diseños de estilo OpenClaw con HOOK.md + handler.ts |
Codex |
| Herramientas MCP | La configuración MCP del paquete se combina con los ajustes integrados 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 combinan con los valores predeterminados de LSP integrados de OpenClaw |
Claude |
| Ajustes | settings.json de Claude se importa como valores predeterminados integrados de OpenClaw |
Claude |
Contenido de Skill
- las raíces de Skills del paquete se cargan como raíces normales de Skills de OpenClaw
- las raíces
commandsde Claude se tratan como raíces adicionales de Skills - las raíces
.cursor/commandsde Cursor se tratan como raíces adicionales de Skills
Esto significa que los archivos de comandos markdown de Claude funcionan mediante el cargador normal de Skills de OpenClaw. El markdown de comandos de Cursor funciona por la misma ruta.
Paquetes de hooks
- las raíces de hooks del paquete funcionan solo cuando usan el diseño normal de paquete de hooks
de OpenClaw. Hoy, este es principalmente el caso compatible con Codex:
HOOK.mdhandler.tsohandler.js
MCP para OpenClaw integrado
- los paquetes habilitados pueden aportar configuración de servidores MCP
- OpenClaw combina la configuración MCP del paquete con los ajustes efectivos integrados de OpenClaw como
mcpServers - OpenClaw expone herramientas MCP de paquetes compatibles durante turnos de agentes integrados de OpenClaw 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 en un agente o Gateway - los ajustes de agente integrado locales del proyecto siguen aplicándose después de los valores predeterminados del paquete, por lo que los ajustes del espacio de trabajo pueden sobrescribir entradas MCP del paquete cuando sea necesario
- los catálogos de herramientas MCP de paquetes se ordenan de forma determinista antes del registro, de modo que
los cambios en el orden de
listTools()del origen no invaliden continuamente los bloques de herramientas de la caché de prompts
Transportes
Los servidores MCP pueden usar transporte stdio o HTTP:
Stdio inicia un proceso hijo:
{ "mcp": { "servers": { "my-server": { "command": "node", "args": ["server.js"], "env": { "PORT": "3000" } } } }}HTTP se conecta a un servidor MCP en ejecución mediante sse de forma predeterminada, o streamable-http cuando se solicita:
{ "mcp": { "servers": { "my-server": { "url": "http://localhost:3100/mcp", "transport": "streamable-http", "headers": { "Authorization": "Bearer ${MY_SECRET_TOKEN}" }, "connectionTimeoutMs": 30000 } } }}transportpuede establecerse en"streamable-http"o"sse"; si se omite, OpenClaw usassetype: "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 ocultan en las descripciones de herramientas y en los registros
connectionTimeoutMssobrescribe el tiempo de espera de conexión predeterminado de 30 segundos para los transportes stdio y HTTP
Nomenclatura de herramientas
OpenClaw registra herramientas MCP de paquetes con nombres seguros para proveedores en la forma
serverName__toolName. Por ejemplo, un servidor con 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 sustituyen por- - los fragmentos que empezarían con una letra no válida reciben un prefijo de letra, de modo que claves
de servidor numéricas como
12306se convierten en prefijos de herramienta seguros para proveedores - los prefijos de servidor se limitan a 30 caracteres
- los nombres completos de herramientas se limitan a 64 caracteres
- los nombres de servidor vacíos usan
mcpcomo alternativa - los nombres saneados que colisionan se diferencian con sufijos numéricos
- el orden final de herramientas expuestas es determinista por nombre seguro para mantener estables en caché los turnos repetidos de agentes integrados
- el filtrado de perfiles trata todas las herramientas de un servidor MCP de paquete como propiedad del plugin
bundle-mcp, por lo que las listas de permitidos y denegados de perfiles pueden incluir nombres de herramientas expuestas individuales o la clave de pluginbundle-mcp
Ajustes integrados de OpenClaw
settings.jsonde Claude se importa como ajustes integrados predeterminados de OpenClaw cuando el paquete está habilitado- OpenClaw sanea las claves de sobrescritura de shell antes de aplicarlas
Claves saneadas:
shellPathshellCommandPrefix
LSP integrado de OpenClaw
- los paquetes de 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 combina con los valores predeterminados efectivos de LSP integrados de OpenClaw
- hoy solo son ejecutables los servidores LSP compatibles basados en stdio; los transportes no compatibles
siguen apareciendo en
openclaw plugins inspect <id>
Detectado, pero no ejecutado
Estos elementos se reconocen y se muestran en diagnósticos, pero OpenClaw no los ejecuta:
agents, automatizaciónhooks.json,outputStylesde Claude.cursor/agents,.cursor/hooks.json,.cursor/rulesde Cursor- metadatos inline/de aplicación de Codex más allá del informe de capacidades
Formatos de paquetes
Codex bundles
Marcadores: .codex-plugin/plugin.json
Contenido opcional: skills/, hooks/, .mcp.json, .app.json
Los paquetes de Codex encajan mejor en OpenClaw cuando usan raíces de Skills y directorios
de paquetes de hooks de estilo OpenClaw (HOOK.md + handler.ts).
Claude bundles
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)
Comportamiento específico de Claude:
commands/se trata como contenido de Skillssettings.jsonse importa en los ajustes integrados de OpenClaw (las claves de sobrescritura de shell se sanean).mcp.jsonexpone herramientas stdio compatibles a OpenClaw integrado.lsp.jsonmás las rutaslspServersdeclaradas en el manifiesto se cargan en los valores predeterminados de LSP integrados de OpenClawhooks/hooks.jsonse detecta, pero no se ejecuta- las rutas de componentes personalizadas en el manifiesto son aditivas (amplían los valores predeterminados, no los sustituyen)
Cursor bundles
Marcadores: .cursor-plugin/plugin.json
Contenido opcional: skills/, .cursor/commands/, .cursor/agents/, .cursor/rules/, .cursor/hooks.json, .mcp.json
.cursor/commands/se trata como contenido de Skills.cursor/rules/,.cursor/agents/y.cursor/hooks.jsonson solo de detección
Precedencia de detección
OpenClaw comprueba primero el formato de plugin nativo:
openclaw.plugin.jsonopackage.jsonválido conopenclaw.extensions: se trata como plugin nativo- Marcadores de paquete (
.codex-plugin/,.claude-plugin/o diseño predeterminado de Claude/Cursor): se trata como paquete
Si un directorio contiene ambos, OpenClaw usa la ruta nativa. Esto evita que los paquetes de doble formato se instalen parcialmente como paquetes.
Dependencias de runtime y limpieza
- Los paquetes compatibles de terceros no reciben reparación de
npm installal inicio. Deben instalarse medianteopenclaw plugins installe incluir todo lo que necesitan en el directorio de plugin instalado. - Los plugins empaquetados propiedad de OpenClaw se entregan ligeros en core o descargables mediante el instalador de plugins. El inicio de Gateway nunca ejecuta un gestor de paquetes para ellos.
openclaw doctor --fixelimina directorios de dependencias preparados heredados y puede recuperar plugins descargables que faltan en el índice local de plugins cuando la configuración los referencia.
Seguridad
Los paquetes tienen un límite de confianza más estrecho que los plugins nativos:
- OpenClaw no carga módulos arbitrarios de runtime de paquetes dentro del proceso
- Las rutas de Skills y de paquetes de hooks deben permanecer dentro de la raíz del plugin (con comprobación de límites)
- Los archivos de ajustes se leen con las mismas comprobaciones de límites
- Los servidores MCP stdio compatibles pueden iniciarse como subprocesos
Esto hace que los paquetes sean más seguros de forma predeterminada, pero aun así debes tratar los paquetes de terceros como contenido de confianza para las funciones que sí exponen.
Solución de problemas
Bundle is detected but capabilities do not run
Ejecuta openclaw plugins inspect <id>. Si una capacidad aparece en la lista, pero está marcada como
no conectada, eso es una limitación del producto, no una instalación rota.
Claude command files do not appear
Asegúrate de que el paquete esté habilitado y de que los archivos markdown estén dentro de una raíz detectada
commands/ o skills/.
Claude settings do not apply
Solo se admiten ajustes integrados de OpenClaw desde settings.json. OpenClaw no
trata los ajustes de paquete como parches de configuración sin procesar.
Claude hooks do not execute
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