Plugins
Los plugins amplían OpenClaw con nuevas capacidades: canales, proveedores de modelos, herramientas, Skills, voz, transcripción en tiempo real, voz en tiempo real, comprensión de medios, generación de imágenes, generación de video, obtención web, búsqueda web y más. Algunos plugins son core (incluidos con OpenClaw), otros son externos (publicados en npm por la comunidad).Inicio rápido
Si prefieres control nativo del chat, habilita
commands.plugins: true y usa:
clawhub:<pkg> explícito o especificación simple de paquete (primero ClawHub, luego fallback a npm).
Si la configuración no es válida, la instalación normalmente falla de forma cerrada y te indica
que uses openclaw doctor --fix. La única excepción de recuperación es una ruta específica de reinstalación de plugins empaquetados
para plugins que optan por
openclaw.install.allowInvalidConfigRecovery.
Tipos de plugins
OpenClaw reconoce dos formatos de plugins:| Formato | Cómo funciona | Ejemplos |
|---|---|---|
| Native | openclaw.plugin.json + módulo de runtime; se ejecuta en proceso | Plugins oficiales, paquetes npm de la comunidad |
| Bundle | Diseño compatible con Codex/Claude/Cursor; asignado a funciones de OpenClaw | .codex-plugin/, .claude-plugin/, .cursor-plugin/ |
openclaw plugins list. Consulta Plugin Bundles para ver detalles de los bundles.
Si estás escribiendo un plugin native, empieza con Creación de plugins
y el Resumen del Plugin SDK.
Plugins oficiales
Instalables (npm)
| Plugin | Paquete | Documentación |
|---|---|---|
| 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 (incluidos con OpenClaw)
Proveedores de modelos (habilitados de forma predeterminada)
Proveedores de modelos (habilitados de forma predeterminada)
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 memoria
Plugins de memoria
memory-core— memory search empaquetado (predeterminado medianteplugins.slots.memory)memory-lancedb— memoria a largo plazo de instalación bajo demanda con recuperación/captura automática (estableceplugins.slots.memory = "memory-lancedb")
Proveedores de voz (habilitados de forma predeterminada)
Proveedores de voz (habilitados de forma predeterminada)
elevenlabs, microsoftOtros
Otros
browser— plugin de navegador empaquetado para la herramienta browser, la CLIopenclaw browser, el método de gatewaybrowser.request, el runtime del navegador y el servicio predeterminado de control del navegador (habilitado de forma predeterminada; desactívalo antes de reemplazarlo)copilot-proxy— puente de VS Code Copilot Proxy (deshabilitado de forma predeterminada)
Configuración
| Campo | Descripción |
|---|---|
enabled | Interruptor maestro (predeterminado: true) |
allow | Lista permitida de plugins (opcional) |
deny | Lista denegada de plugins (opcional; denegar prevalece) |
load.paths | Archivos/directorios adicionales de plugins |
slots | Selectores de slots exclusivos (por ejemplo memory, contextEngine) |
entries.\<id\> | Interruptores + configuración por plugin |
openclaw gateway), ese
reinicio suele realizarse automáticamente un momento después de que se escriba la configuración.
Estados del plugin: deshabilitado vs faltante vs no válido
Estados del plugin: deshabilitado vs faltante vs no válido
- Deshabilitado: el plugin existe, pero las reglas de habilitación lo desactivaron. La configuración se conserva.
- Faltante: la configuración hace referencia a un id de plugin que el descubrimiento no encontró.
- No válido: el plugin existe, pero su configuración no coincide con el esquema declarado.
Descubrimiento y precedencia
OpenClaw escanea los plugins en este orden (la primera coincidencia gana):Extensiones del workspace
\<workspace\>/.openclaw/<plugin-root>/*.ts y \<workspace\>/.openclaw/<plugin-root>/*/index.ts.Reglas de habilitación
plugins.enabled: falsedeshabilita todos los pluginsplugins.denysiempre prevalece sobre allowplugins.entries.\<id\>.enabled: falsedeshabilita ese plugin- Los plugins originados en el workspace están deshabilitados de forma predeterminada (deben habilitarse explícitamente)
- Los plugins empaquetados siguen el conjunto integrado habilitado por defecto, salvo sobrescritura
- Los slots exclusivos pueden forzar la habilitación del plugin seleccionado para ese slot
Slots de plugins (categorías exclusivas)
Algunas categorías son exclusivas (solo una activa a la vez):| Slot | Qué controla | Predeterminado |
|---|---|---|
memory | Plugin de memoria activo | memory-core |
contextEngine | Motor de contexto activo | legacy (integrado) |
Referencia de la CLI
openclaw plugins enable <id>.
--force sobrescribe in situ un plugin o paquete de hooks ya instalado.
No es compatible con --link, que reutiliza la ruta de origen en lugar de
copiar sobre un destino de instalación gestionado.
--pin es solo para npm. No es compatible con --marketplace, porque
las instalaciones desde marketplace conservan metadatos de origen del marketplace en lugar de una especificación npm.
--dangerously-force-unsafe-install es una anulación de emergencia para falsos
positivos del escáner integrado de código peligroso. Permite que las instalaciones
y actualizaciones de plugins continúen más allá de hallazgos integrados critical, pero aun así
no omite bloqueos de política before_install de plugins ni bloqueos por fallo del escaneo.
Este indicador de CLI se aplica solo a flujos de instalación/actualización de plugins. Las
instalaciones de dependencias de Skills respaldadas por gateway usan en su lugar la anulación de solicitud correspondiente dangerouslyForceUnsafeInstall, mientras que openclaw skills install sigue siendo el flujo independiente de descarga/instalación de Skills desde ClawHub.
Los bundles compatibles participan en el mismo flujo de listar/inspeccionar/habilitar/deshabilitar plugins.
La compatibilidad actual de runtime incluye Skills de bundles, command-skills de Claude,
valores predeterminados de Claude settings.json, valores predeterminados de Claude .lsp.json y
lspServers declarados en el manifiesto, command-skills de Cursor y directorios de hooks compatibles con Codex.
openclaw plugins inspect <id> también informa capacidades detectadas del bundle, además de
entradas MCP y LSP server compatibles o no compatibles para plugins respaldados por bundles.
Las fuentes de marketplace pueden ser un nombre de marketplace conocido de Claude de
~/.claude/plugins/known_marketplaces.json, una raíz de marketplace local o ruta a
marketplace.json, una abreviatura de GitHub como owner/repo, una URL de repositorio GitHub
o una URL git. En marketplaces remotos, las entradas de plugins deben permanecer dentro del
repositorio clonado del marketplace y usar solo fuentes de ruta relativa.
Consulta la referencia de la CLI openclaw plugins para obtener todos los detalles.
Resumen de la API de plugins
Los plugins native exportan un objeto de entrada que exponeregister(api). Los
plugins antiguos aún pueden usar activate(api) como alias heredado, pero los nuevos plugins deberían
usar register.
register(api) durante la
activación del plugin. El cargador aún recurre a activate(api) para plugins antiguos,
pero los plugins empaquetados y los nuevos plugins externos deben tratar register como el
contrato público.
Métodos comunes de registro:
| Método | Qué registra |
|---|---|
registerProvider | Proveedor de modelos (LLM) |
registerChannel | Canal de chat |
registerTool | Herramienta de agente |
registerHook / on(...) | Hooks del ciclo de vida |
registerSpeechProvider | Texto a voz / STT |
registerRealtimeTranscriptionProvider | STT en streaming |
registerRealtimeVoiceProvider | Voz en tiempo real dúplex |
registerMediaUnderstandingProvider | Análisis de imagen/audio |
registerImageGenerationProvider | Generación de imágenes |
registerMusicGenerationProvider | Generación de música |
registerVideoGenerationProvider | Generación de video |
registerWebFetchProvider | Proveedor de obtención / scraping web |
registerWebSearchProvider | Búsqueda web |
registerHttpRoute | Endpoint HTTP |
registerCommand / registerCli | Comandos de CLI |
registerContextEngine | Motor de contexto |
registerService | Servicio en segundo plano |
before_tool_call:{ block: true }es terminal; se omiten los controladores de menor prioridad.before_tool_call:{ block: false }no hace nada y no elimina un bloqueo anterior.before_install:{ block: true }es terminal; se omiten los controladores de menor prioridad.before_install:{ block: false }no hace nada y no elimina un bloqueo anterior.message_sending:{ cancel: true }es terminal; se omiten los controladores de menor prioridad.message_sending:{ cancel: false }no hace nada y no elimina una cancelación anterior.
Relacionado
- Creación de plugins — crea tu propio plugin
- Plugin Bundles — compatibilidad de bundles con Codex/Claude/Cursor
- Manifiesto del plugin — esquema del manifiesto
- Registro de herramientas — añade herramientas de agente en un plugin
- Internals de plugins — modelo de capacidades y pipeline de carga
- Community Plugins — listados de terceros