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, media-understanding, 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 external (publicados en npm por la comunidad).Inicio rápido
Si prefieres un control nativo desde el chat, habilita
commands.plugins: true y usa:
clawhub:<pkg>
explícito o especificación de paquete simple (primero ClawHub y luego npm como respaldo).
Si la configuración no es válida, la instalación normalmente falla de forma segura y te indica
openclaw doctor --fix. La única excepción de recuperación es una ruta limitada de reinstalación
de plugins integrados para plugins que habilitan
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; mapeado a funciones de OpenClaw | .codex-plugin/, .claude-plugin/, .cursor-plugin/ |
openclaw plugins list. Consulta Paquetes de plugins para obtener detalles sobre bundles.
Si vas a escribir un plugin nativo, empieza con Creación de plugins
y la Descripción general del SDK de plugins.
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— búsqueda de memoria integrada (predeterminada medianteplugins.slots.memory)memory-lancedb— memoria a largo plazo con instalación bajo demanda, recuperación/captura automática (configuraplugins.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 integrado para la herramienta del navegador, la CLIopenclaw browser, el método de gatewaybrowser.request, el runtime del navegador y el servicio de control del navegador predeterminado (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 principal (predeterminado: true) |
allow | Lista de permitidos de plugins (opcional) |
deny | Lista de denegados de plugins (opcional; deny tiene prioridad) |
load.paths | Archivos/directorios de plugins adicionales |
slots | Selectores de slots exclusivos (por ejemplo memory, contextEngine) |
entries.\<id\> | Interruptores y configuración por plugin |
openclaw gateway), ese
reinicio normalmente se realiza automáticamente poco después de que se aplique la escritura de configuración.
Estados del plugin: deshabilitado frente a ausente frente a no válido
Estados del plugin: deshabilitado frente a ausente frente a no válido
- Deshabilitado: el plugin existe, pero las reglas de habilitación lo desactivaron. La configuración se conserva.
- Ausente: 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 prioridad
OpenClaw busca plugins en este orden (la primera coincidencia gana):Extensiones del espacio de trabajo
\<workspace\>/.openclaw/<plugin-root>/*.ts y \<workspace\>/.openclaw/<plugin-root>/*/index.ts.Reglas de habilitación
plugins.enabled: falsedeshabilita todos los pluginsplugins.denysiempre tiene prioridad sobreallowplugins.entries.\<id\>.enabled: falsedeshabilita ese plugin- Los plugins de origen del espacio de trabajo están deshabilitados de forma predeterminada (deben habilitarse explícitamente)
- Los plugins integrados siguen el conjunto incorporado activado por defecto, salvo reemplazo
- 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 CLI
openclaw plugins enable <id>.
--force sobrescribe en su lugar 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 administrado.
--pin es solo para npm. No es compatible con --marketplace, porque
las instalaciones desde marketplace conservan metadatos del 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 los bloqueos de política before_install del plugin ni el bloqueo por fallos de escaneo.
Este flag 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 separado de descarga/instalación de Skills de 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 de
lspServers declarados en el manifiesto, command-skills de Cursor y directorios de hooks compatibles con Codex.
openclaw plugins inspect <id> también informa las capacidades de bundle detectadas, además de
las entradas de servidores MCP y LSP compatibles o no compatibles para plugins respaldados por bundles.
Los orígenes de marketplace pueden ser un nombre de marketplace conocido de Claude desde
~/.claude/plugins/known_marketplaces.json, un root local de marketplace o una ruta a
marketplace.json, una abreviatura de GitHub como owner/repo, una URL de repositorio de GitHub
o una URL git. Para marketplaces remotos, las entradas de plugins deben permanecer dentro del
repositorio clonado del marketplace y usar solo orígenes de ruta relativa.
Consulta la referencia de CLI openclaw plugins para todos los detalles.
Descripción general de la API de plugins
Los plugins nativos exportan un objeto de entrada que exponeregister(api). Los
plugins más antiguos aún pueden usar activate(api) como alias heredado, pero los plugins nuevos deben
usar register.
register(api) durante la
activación del plugin. El cargador sigue recurriendo a activate(api) para plugins más antiguos,
pero los plugins integrados y los nuevos plugins externos deben tratar register como el
contrato público.
Métodos de registro comunes:
| Método | Qué registra |
|---|---|
registerProvider | Proveedor de modelos (LLM) |
registerChannel | Canal de chat |
registerTool | Herramienta del agente |
registerHook / on(...) | Hooks del ciclo de vida |
registerSpeechProvider | Texto a voz / STT |
registerRealtimeTranscriptionProvider | STT en streaming |
registerRealtimeVoiceProvider | Voz bidireccional en tiempo real |
registerMediaUnderstandingProvider | Análisis de imagen/audio |
registerImageGenerationProvider | Generación de imágenes |
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
- Paquetes de plugins: compatibilidad de bundles con Codex/Claude/Cursor
- Manifiesto de plugins: esquema del manifiesto
- Registro de herramientas: añade herramientas de agente en un plugin
- Detalles internos de plugins: modelo de capacidades y canalización de carga
- Plugins de la comunidad: listados de terceros