openclaw plugins

Gestiona plugins/extensiones del Gateway (cargados en el mismo proceso).

Relacionado:

Comandos

openclaw plugins list
openclaw plugins info <id>
openclaw plugins enable <id>
openclaw plugins disable <id>
openclaw plugins uninstall <id>
openclaw plugins doctor
openclaw plugins update <id>
openclaw plugins update --all

Los plugins incluidos vienen con OpenClaw pero comienzan desactivados. Usa plugins enable para activarlos.

Todos los plugins deben incluir un archivo openclaw.plugin.json con un JSON Schema en línea (configSchema, aunque esté vacío). Los manifiestos o esquemas faltantes/inválidos impiden que el plugin se cargue y hacen fallar la validación de configuración.

Instalar

openclaw plugins install <path-or-spec>
openclaw plugins install <npm-spec> --pin

Nota de seguridad: trata las instalaciones de plugins como si estuvieras ejecutando código. Prefiere versiones fijadas.

Las especificaciones npm son solo de registro (nombre del paquete + versión exacta opcional o dist-tag). Las especificaciones de Git/URL/archivo y los rangos semver se rechazan. Las instalaciones de dependencias se ejecutan con --ignore-scripts por seguridad.

Las especificaciones sin versión y @latest se mantienen en el canal estable. Si npm resuelve cualquiera de estas a una versión preliminar, OpenClaw se detiene y te pide que optes explícitamente con una etiqueta de prelanzamiento como @beta/@rc o una versión exacta como @1.2.3-beta.4.

Si una especificación sin prefijo coincide con el id de un plugin incluido (por ejemplo diffs), OpenClaw instala el plugin incluido directamente. Para instalar un paquete npm con el mismo nombre, usa una especificación con scope explícito (por ejemplo @scope/diffs).

Archivos soportados: .zip, .tgz, .tar.gz, .tar.

Usa --link para evitar copiar un directorio local (lo añade a plugins.load.paths):

openclaw plugins install -l ./my-plugin

Usa --pin en instalaciones npm para guardar la especificación exacta resuelta (name@version) en plugins.installs manteniendo el comportamiento predeterminado sin fijar.

Desinstalar

openclaw plugins uninstall <id>
openclaw plugins uninstall <id> --dry-run
openclaw plugins uninstall <id> --keep-files

uninstall elimina los registros del plugin de plugins.entries, plugins.installs, la lista de permitidos de plugins y las entradas enlazadas de plugins.load.paths cuando corresponda. Para plugins de memoria activa, el slot de memoria se restablece a memory-core.

Por defecto, la desinstalación también elimina el directorio de instalación del plugin bajo la raíz de extensiones del directorio de estado activo ($OPENCLAW_STATE_DIR/extensions/<id>). Usa --keep-files para mantener los archivos en disco.

--keep-config se soporta como alias obsoleto de --keep-files.

Actualizar

openclaw plugins update <id>
openclaw plugins update --all
openclaw plugins update <id> --dry-run

Las actualizaciones solo se aplican a plugins instalados desde npm (registrados en plugins.installs).

Cuando existe un hash de integridad almacenado y el hash del artefacto descargado cambia, OpenClaw muestra una advertencia y pide confirmación antes de continuar. Usa --yes global para omitir los prompts en CI/ejecuciones no interactivas.