CLI commands
Hooks
openclaw hooks
Gestiona los hooks de agentes (automatizaciones basadas en eventos para comandos como /new, /reset y el inicio del Gateway). openclaw hooks sin argumentos equivale a openclaw hooks list.
Relacionado: Hooks - Hooks de plugins
Enumerar hooks
openclaw hooks list [--eligible] [--json] [-v|--verbose]Enumera los hooks detectados en los directorios del espacio de trabajo, gestionados, adicionales e incluidos.
--eligible: solo los hooks cuyos requisitos se cumplen.--json: salida estructurada.-v, --verbose: incluye una columna Missing con los requisitos no cumplidos.
Hooks (4/5 listos) Listos: 🚀 boot-md ✓ - Ejecutar BOOT.md al iniciar el Gateway 📎 bootstrap-extra-files ✓ - Inyectar archivos de arranque adicionales del espacio de trabajo durante el arranque del agente 📝 command-logger ✓ - Registrar todos los eventos de comandos en un archivo de auditoría centralizado 💾 session-memory ✓ - Guardar el contexto de la sesión en la memoria cuando se emite el comando /new o /resetObtener información de un hook
openclaw hooks info <name> [--json]<name> es el nombre o la clave del hook (por ejemplo, session-memory). Muestra el origen, las rutas de los archivos y controladores, la página de inicio, los eventos y el estado de cada requisito (binarios, entorno, configuración y SO).
Comprobar la elegibilidad
openclaw hooks check [--json]Muestra un resumen del número de hooks listos y no listos; si hay hooks que no están listos, enumera cada uno con el motivo que lo bloquea.
Habilitar un hook
openclaw hooks enable <name>Añade o actualiza hooks.internal.entries.<name>.enabled = true en la configuración y también activa el interruptor principal hooks.internal.enabled (el Gateway no carga ningún controlador de hooks interno hasta que se configura al menos uno). Falla si el hook no existe, lo gestiona un plugin o no es apto (faltan requisitos).
Los hooks gestionados por plugins muestran plugin:<id> en hooks list y no se pueden habilitar ni deshabilitar aquí; en su lugar, habilite o deshabilite el plugin propietario.
Reinicie el Gateway después de habilitarlo (reinicie la aplicación de la barra de menús de macOS o el proceso del Gateway en desarrollo) para que vuelva a cargar los hooks.
Deshabilitar un hook
openclaw hooks disable <name>Establece hooks.internal.entries.<name>.enabled = false. Reinicie el Gateway después.
Instalar y actualizar paquetes de hooks
openclaw plugins install <package> # npm de forma predeterminadaopenclaw plugins install npm:<package> # solo npmopenclaw plugins install <package> --pin # fijar la versión resueltaopenclaw plugins install <path> # directorio local o archivoopenclaw plugins install -l <path> # enlazar un directorio local en lugar de copiarlo openclaw plugins update <id>openclaw plugins update --allopenclaw plugins update --dry-runLos paquetes de hooks se instalan mediante el instalador y actualizador unificado de plugins; openclaw hooks install y openclaw hooks update siguen funcionando como alias obsoletos que muestran una advertencia y redirigen a los comandos plugins.
- Las especificaciones de npm están limitadas al registro: el nombre del paquete más una versión exacta o etiqueta de distribución opcional. Se rechazan las especificaciones de Git, URL y archivo, así como los intervalos semver. Las dependencias se instalan localmente en el proyecto con
--ignore-scripts. - Las especificaciones simples y
@latestpermanecen en el canal estable; si npm resuelve una versión preliminar, OpenClaw se detiene y solicita una aceptación explícita (@beta,@rco una versión preliminar exacta). - Archivos compatibles:
.zip,.tgz,.tar.gz,.tar. -l, --linkenlaza un directorio local en lugar de copiarlo (lo añade ahooks.internal.load.extraDirs); los paquetes de hooks enlazados son hooks gestionados desde un directorio configurado por el operador, no hooks del espacio de trabajo.--pinregistra las instalaciones de npm como unaname@versionresuelta exacta en el estado compartido de SQLite.- La instalación copia el paquete en
~/.openclaw/hooks/<id>, habilita sus hooks enhooks.internal.entries.*y registra la procedencia de la instalación en el estado compartido de SQLite. - Si un hash de integridad almacenado ya no coincide con el artefacto obtenido, OpenClaw muestra una advertencia y solicita confirmación antes de continuar; pase la opción global
--yespara omitir la solicitud (por ejemplo, en CI).
Hooks incluidos
| Hook | Eventos | Función |
|---|---|---|
| boot-md | gateway:startup |
Ejecuta BOOT.md al iniciar el Gateway para cada ámbito de agente configurado |
| bootstrap-extra-files | agent:bootstrap |
Inyecta archivos de arranque adicionales (por ejemplo, AGENTS.md/TOOLS.md de monorepos) durante el arranque del agente |
| command-logger | command |
Registra los eventos de comandos en ~/.openclaw/logs/commands.log |
| compaction-notifier | session:compact:before, session:compact:after |
Envía avisos visibles en el chat cuando comienza y termina la compactación de la sesión |
| session-memory | command:new, command:reset |
Guarda el contexto de la sesión en la memoria al usar /new o /reset |
Habilite cualquier hook incluido con openclaw hooks enable <hook-name>. Detalles completos, claves de configuración y valores predeterminados: Hooks incluidos.
Archivo de registro de command-logger
tail -n 20 ~/.openclaw/logs/commands.log # comandos recientescat ~/.openclaw/logs/commands.log | jq . # mostrar con formato legiblegrep '"action":"new"' ~/.openclaw/logs/commands.log | jq . # filtrar por acciónNotas
hooks list --json,info --jsonycheck --jsonescriben JSON estructurado directamente en la salida estándar.