Plugins
Complementos
Sección titulada «Complementos»Los complementos amplían OpenClaw con nuevas capacidades: canales, proveedores de modelos, herramientas, habilidades, voz, generación de imágenes y más. Algunos complementos son core (incluidos con OpenClaw), otros son externos (publicados en npm por la comunidad).
Inicio rápido
Sección titulada «Inicio rápido»See what is loaded
Ventana de terminal openclaw plugins listInstala un complemento
Ventana de terminal # From npmopenclaw plugins install @openclaw/voice-call# From a local directory or archiveopenclaw plugins install ./my-pluginopenclaw plugins install ./my-plugin.tgzReinicia el Gateway
Ventana de terminal openclaw gateway restartLuego configura bajo `plugins.entries.\
.config` en tu archivo de configuración.
Si prefieres un control nativo del chat, habilita commands.plugins: true y usa:
/plugin install clawhub:@openclaw/voice-call/plugin show voice-call/plugin enable voice-callLa ruta de instalación utiliza el mismo resolutor que la CLI: ruta/archivo local, clawhub:<pkg> explícito,
o especificación de paquete simple (ClawHub primero, luego respaldo a npm).
Tipos de complementos
Sección titulada «Tipos de complementos»OpenClaw reconoce dos formatos de complementos:
| Formato | Cómo funciona | Ejemplos |
|---|---|---|
| Nativo | openclaw.plugin.json + módulo de tiempo de ejecución; se ejecuta en proceso | Complementos oficiales, paquetes npm de la comunidad |
| Paquete (Bundle) | Diseño compatible con Codex/Claude/Cursor; asignado a funciones de OpenClaw | .codex-plugin/, .claude-plugin/, .cursor-plugin/ |
Ambos aparecen bajo openclaw plugins list. Consulte Plugin Bundles para obtener detalles sobre los paquetes.
Si está escribiendo un complemento nativo, comience con Building Plugins y la Plugin SDK Overview.
Complementos oficiales
Sección titulada «Complementos oficiales»Instalable (npm)
Sección titulada «Instalable (npm)»| Complemento | Paquete | Documentación |
|---|---|---|
| Matriz | @openclaw/matrix | Matrix |
| Microsoft Teams | @openclaw/msteams | Microsoft Teams |
| Nostr | @openclaw/nostr | Nostr |
| Llamada de voz | @openclaw/voice-call | Voice Call |
| Zalo | @openclaw/zalo | Zalo |
| Zalo Personal | @openclaw/zalouser | Zalo Personal |
Core (incluido con OpenClaw)
Sección titulada «Core (incluido con OpenClaw)»Model providers (enabled by default)
anthropic, byteplus, cloudflare-ai-gateway, github-copilot, google,
huggingface, kilocode, kimi-coding, minimax, mistral, modelstudio,
moonshot, nvidia, openai, opencode, opencode-go, openrouter,
qianfan, synthetic, together, venice,
vercel-ai-gateway, volcengine, xiaomi, zai
Plugins de memoria
memory-core— búsqueda de memoria incluida (predeterminado víaplugins.slots.memory) -memory-lancedb— memoria a largo plazo bajo demanda con recuperación/captura automática (establezcaplugins.slots.memory = "memory-lancedb")
Proveedores de voz (habilitados de forma predeterminada)
elevenlabs, microsoft
Otros
browser— complemento de navegador incluido para la herramienta de navegador, CLIopenclaw browser, método de gatewaybrowser.request, tiempo de ejecución del navegador y servicio de control de navegador predeterminado (habilitado de forma predeterminada; desactívelo antes de reemplazarlo)copilot-proxy— puente VS Code Copilot Proxy (desactivado de forma predeterminada)
¿Busca complementos de terceros? Consulte Community Plugins.
Configuración
Sección titulada «Configuración»{ plugins: { enabled: true, allow: ["voice-call"], deny: ["untrusted-plugin"], load: { paths: ["~/Projects/oss/voice-call-extension"] }, entries: { "voice-call": { enabled: true, config: { provider: "twilio" } }, }, },}| Campo | Descripción |
|---|---|
enabled | Interruptor maestro (predeterminado: true) |
allow | Lista blanca de plugins (opcional) |
deny | Lista negra de plugins (opcional; denegar gana) |
load.paths | Archivos/directorios de plugins adicionales |
slots | Selectores de ranura exclusivos (ej. memory, contextEngine) |
entries.\<id\> | Interruptores + configuración por plugin |
Los cambios de configuración requieren un reinicio de la puerta de enlace. Si la puerta de enlace se está ejecutando con la vigilancia de configuración + el reinicio en proceso habilitados (la ruta predeterminada openclaw gateway), ese reinicio generalmente se realiza automáticamente un momento después de que se escribe la configuración.
Estados de los complementos: deshabilitado vs. faltante vs. no válido
- Deshabilitado: el complemento existe pero las reglas de habilitación lo desactivaron. La configuración se conserva. - Faltante: la configuración hace referencia a un id de complemento que el descubrimiento no encontró. - No válido: el complemento existe pero su configuración no coincide con el esquema declarado.
Descubrimiento y precedencia
Sección titulada «Descubrimiento y precedencia»OpenClaw busca plugins en este orden (gana la primera coincidencia):
Rutas de configuración
plugins.load.paths— rutas explícitas de archivo o directorio.Extensiones del espacio de trabajo
`\
/.openclaw/
/*.ts
y\/.openclaw/
/*/index.ts`.
Extensiones globales
`~/.openclaw/
/*.ts
y~/.openclaw//*/index.ts`.
Bundled plugins
Incluidos con OpenClaw. Muchos están habilitados por defecto (proveedores de modelos, voz). Otros requieren habilitación explícita.
Reglas de habilitación
Sección titulada «Reglas de habilitación»plugins.enabled: falsedeshabilita todos los complementosplugins.denysiempre gana sobre permitirplugins.entries.\<id\>.enabled: falsedeshabilita ese complemento- Los complementos originados en el espacio de trabajo están deshabilitados por defecto (deben ser habilitados explícitamente)
- Los complementos incluidos siguen el conjunto predeterminado de activación incorporado a menos que se anule
- Las ranuras exclusivas pueden forzar la habilitación del complemento seleccionado para esa ranura
Ranuras de complementos (categorías exclusivas)
Sección titulada «Ranuras de complementos (categorías exclusivas)»Algunas categorías son exclusivas (solo una activa a la vez):
{ plugins: { slots: { memory: "memory-core", // or "none" to disable contextEngine: "legacy", // or a plugin id }, },}| Ranura | Lo que controla | Predeterminado |
|---|---|---|
memory | Complemento de memoria activa | memory-core |
contextEngine | Motor de contexto activo | legacy (integrado) |
Referencia de CLI
Sección titulada «Referencia de CLI»openclaw plugins list # compact inventoryopenclaw plugins inspect <id> # deep detailopenclaw plugins inspect <id> --json # machine-readableopenclaw plugins status # operational summaryopenclaw plugins doctor # diagnostics
openclaw plugins install <package> # install (ClawHub first, then npm)openclaw plugins install clawhub:<pkg> # install from ClawHub onlyopenclaw plugins install <path> # install from local pathopenclaw plugins install -l <path> # link (no copy) for devopenclaw plugins install <spec> --dangerously-force-unsafe-installopenclaw plugins update <id> # update one pluginopenclaw plugins update --all # update all
openclaw plugins enable <id>openclaw plugins disable <id>--dangerously-force-unsafe-install es una anulación de emergencia para falsos
positivos del escáner de código peligroso integrado. Permite que las instalaciones
continúen más allá de los hallazgos critical integrados, pero aún no omite los bloques
de política before_install del complemento ni el bloqueo por fallo de escaneo.
Este indicador de CLI se aplica solo a las instalaciones de complementos. Las instalaciones
de dependencias de habilidades respaldadas por la puerta de enlace usan la anulación de
solicitud dangerouslyForceUnsafeInstall coincidente, mientras que openclaw skills install sigue siendo el flujo separado de descarga/instalación
de habilidades de ClawHub.
Consulte la referencia de la CLI openclaw plugins para obtener detalles completos.
Resumen de la API de complementos
Sección titulada «Resumen de la API de complementos»Los complementos exportan una función o un objeto con register(api):
export default definePluginEntry({ id: "my-plugin", name: "My Plugin", register(api) { api.registerProvider({ /* ... */ }); api.registerTool({ /* ... */ }); api.registerChannel({ /* ... */ }); },});Métodos de registro comunes:
| Método | Lo que registra |
|---|---|
registerProvider | Proveedor de modelos (LLM) |
registerChannel | Canal de chat |
registerTool | Herramienta de agente |
registerHook / on(...) | Ganchos del ciclo de vida |
registerSpeechProvider | Texto a voz / STT |
registerMediaUnderstandingProvider | Análisis de imagen/audio |
registerImageGenerationProvider | Generación de imágenes |
registerWebSearchProvider | Búsqueda web |
registerHttpRoute | Endpoint HTTP |
registerCommand / registerCli | Comandos CLI |
registerContextEngine | Motor de contexto |
registerService | Servicio en segundo plano |
Comportamiento del guarda de gancho para ganchos del ciclo de vida tipados:
before_tool_call:{ block: true }es terminal; se omiten los controladores de menor prioridad.before_tool_call:{ block: false }es una no-op y no borra un bloque anterior.before_install:{ block: true }es terminal; se omiten los controladores de menor prioridad.before_install:{ block: false }es una no-op y no borra un bloque anterior.message_sending:{ cancel: true }es terminal; se omiten los controladores de menor prioridad.message_sending:{ cancel: false }es una no-op y no borra una cancelación anterior.
Para obtener el comportamiento completo de los ganchos tipados, consulte Información general del SDK.
Relacionado
Sección titulada «Relacionado»- Creación de complementos — crea tu propio complemento
- Paquetes de complementos — compatibilidad con paquetes Codex/Claude/Cursor
- Manifiesto del complemento — esquema de manifiesto
- Registro de herramientas — agregar herramientas de agente en un complemento
- Aspectos internos del complemento — modelo de capacidad y canalización de carga
- Complementos comunitarios — listados de terceros