CLI commands

Points d’accroche

openclaw hooks

Gérer les hooks d’agent (automatisations événementielles pour des commandes comme /new, /reset et le démarrage du Gateway).

Exécuter openclaw hooks sans sous-commande équivaut à openclaw hooks list.

Associé :

Lister tous les hooks

bash
openclaw hooks list

Liste tous les hooks découverts dans les répertoires de l’espace de travail, gérés, supplémentaires et intégrés. Le démarrage du Gateway ne charge pas les gestionnaires de hooks internes tant qu’au moins un hook interne n’est pas configuré.

Options :

  • --eligible : Afficher uniquement les hooks admissibles (exigences satisfaites)
  • --json : Sortie au format JSON
  • -v, --verbose : Afficher des informations détaillées, y compris les exigences manquantes

Exemple de sortie :

Code
Hooks (4/4 ready) Ready:  🚀 boot-md ✓ - Run BOOT.md on gateway startup  📎 bootstrap-extra-files ✓ - Inject extra workspace bootstrap files during agent bootstrap  📝 command-logger ✓ - Log all command events to a centralized audit file  💾 session-memory ✓ - Save session context to memory when /new or /reset command is issued

Exemple (détaillé) :

bash
openclaw hooks list --verbose

Affiche les exigences manquantes pour les hooks non admissibles.

Exemple (JSON) :

bash
openclaw hooks list --json

Renvoie du JSON structuré pour une utilisation programmatique.

Obtenir les informations d’un hook

bash
openclaw hooks info <name>

Afficher des informations détaillées sur un hook spécifique.

Arguments :

  • <name> : Nom du hook ou clé du hook (par exemple, session-memory)

Options :

  • --json : Sortie au format JSON

Exemple :

bash
openclaw hooks info session-memory

Sortie :

Code
💾 session-memory ✓ Ready Save session context to memory when /new or /reset command is issued Details:  Source: openclaw-bundled  Path: /path/to/openclaw/hooks/bundled/session-memory/HOOK.md  Handler: /path/to/openclaw/hooks/bundled/session-memory/handler.ts  Homepage: https://docs.openclaw.ai/automation/hooks#session-memory  Events: command:new, command:reset Requirements:  Config: ✓ workspace.dir

Vérifier l’admissibilité des hooks

bash
openclaw hooks check

Afficher un résumé de l’état d’admissibilité des hooks (combien sont prêts ou non).

Options :

  • --json : Sortie au format JSON

Exemple de sortie :

Code
Hooks Status Total hooks: 4Ready: 4Not ready: 0

Activer un hook

bash
openclaw hooks enable <name>

Activer un hook spécifique en l’ajoutant à votre configuration (~/.openclaw/openclaw.json par défaut).

Remarque : Les hooks de l’espace de travail sont désactivés par défaut jusqu’à leur activation ici ou dans la configuration. Les hooks gérés par des plugins affichent plugin:<id> dans openclaw hooks list et ne peuvent pas être activés/désactivés ici. Activez/désactivez plutôt le plugin.

Arguments :

  • <name> : Nom du hook (par exemple, session-memory)

Exemple :

bash
openclaw hooks enable session-memory

Sortie :

Code
✓ Enabled hook: 💾 session-memory

Ce que cela fait :

  • Vérifie si le hook existe et est admissible
  • Met à jour hooks.internal.entries.<name>.enabled = true dans votre configuration
  • Enregistre la configuration sur le disque

Si le hook provient de <workspace>/hooks/, cette étape d’adhésion explicite est requise avant que le Gateway ne le charge.

Après l’activation :

  • Redémarrez le Gateway afin que les hooks soient rechargés (redémarrage de l’application de la barre de menus sur macOS, ou redémarrage de votre processus Gateway en développement).

Désactiver un hook

bash
openclaw hooks disable <name>

Désactiver un hook spécifique en mettant à jour votre configuration.

Arguments :

  • <name> : Nom du hook (par exemple, command-logger)

Exemple :

bash
openclaw hooks disable command-logger

Sortie :

Code
⏸ Disabled hook: 📝 command-logger

Après la désactivation :

  • Redémarrez le Gateway afin que les hooks soient rechargés

Notes

  • openclaw hooks list --json, info --json et check --json écrivent du JSON structuré directement sur stdout.
  • Les hooks gérés par des plugins ne peuvent pas être activés ni désactivés ici ; activez ou désactivez plutôt le plugin propriétaire.

Installer des packs de hooks

bash
openclaw plugins install <package>        # npm by defaultopenclaw plugins install npm:<package>    # npm onlyopenclaw plugins install <package> --pin  # pin versionopenclaw plugins install <path>           # local path

Installer des packs de hooks via l’installateur de plugins unifié.

openclaw hooks install fonctionne toujours comme alias de compatibilité, mais il affiche un avertissement d’obsolescence et transfère vers openclaw plugins install.

Les spécifications npm sont uniquement issues du registre (nom du paquet + version exacte facultative ou dist-tag). Les spécifications Git/URL/fichier et les plages semver sont rejetées. Les installations de dépendances s’exécutent localement au projet avec --ignore-scripts par sécurité, même lorsque votre shell a des paramètres globaux d’installation npm.

Les spécifications nues et @latest restent sur le canal stable. Si npm résout l’une ou l’autre vers une préversion, OpenClaw s’arrête et vous demande d’accepter explicitement avec une balise de préversion comme @beta/@rc ou une version de préversion exacte.

Ce que cela fait :

  • Copie le pack de hooks dans ~/.openclaw/hooks/<id>
  • Active les hooks installés dans hooks.internal.entries.*
  • Enregistre l’installation sous hooks.internal.installs

Options :

  • -l, --link : Lier un répertoire local au lieu de le copier (l’ajoute à hooks.internal.load.extraDirs)
  • --pin : Enregistrer les installations npm comme name@version résolus exacts dans hooks.internal.installs

Archives prises en charge : .zip, .tgz, .tar.gz, .tar

Exemples :

bash
# Local directoryopenclaw plugins install ./my-hook-pack # Local archiveopenclaw plugins install ./my-hook-pack.zip # NPM packageopenclaw plugins install @openclaw/my-hook-pack # Link a local directory without copyingopenclaw plugins install -l ./my-hook-pack

Les packs de hooks liés sont traités comme des hooks gérés depuis un répertoire configuré par l’opérateur, et non comme des hooks de l’espace de travail.

Mettre à jour des packs de hooks

bash
openclaw plugins update <id>openclaw plugins update --all

Mettre à jour les packs de hooks basés sur npm suivis via le programme de mise à jour de plugins unifié.

openclaw hooks update fonctionne toujours comme alias de compatibilité, mais il affiche un avertissement d’obsolescence et transfère vers openclaw plugins update.

Options :

  • --all : Mettre à jour tous les packs de hooks suivis
  • --dry-run : Afficher ce qui changerait sans écrire

Lorsqu’un hachage d’intégrité enregistré existe et que le hachage de l’artefact récupéré change, OpenClaw affiche un avertissement et demande confirmation avant de continuer. Utilisez l’option globale --yes pour contourner les invites dans les exécutions CI/non interactives.

Hooks intégrés

session-memory

Enregistre le contexte de session en mémoire lorsque vous exécutez /new ou /reset.

Activer :

bash
openclaw hooks enable session-memory

Sortie : ~/.openclaw/workspace/memory/YYYY-MM-DD-HHMM.md par défaut. Définissez hooks.internal.entries.session-memory.llmSlug: true pour des slugs de noms de fichiers générés par le modèle.

Voir : documentation de session-memory

bootstrap-extra-files

Injecte des fichiers d’amorçage supplémentaires (par exemple AGENTS.md / TOOLS.md locaux au monorepo) pendant agent:bootstrap.

Activer :

bash
openclaw hooks enable bootstrap-extra-files

Voir : documentation de bootstrap-extra-files

command-logger

Journalise tous les événements de commande dans un fichier d’audit centralisé.

Activer :

bash
openclaw hooks enable command-logger

Sortie : ~/.openclaw/logs/commands.log

Voir les journaux :

bash
# Recent commandstail -n 20 ~/.openclaw/logs/commands.log # Pretty-printcat ~/.openclaw/logs/commands.log | jq . # Filter by actiongrep '"action":"new"' ~/.openclaw/logs/commands.log | jq .

Voir : documentation de command-logger

boot-md

Exécute BOOT.md au démarrage du Gateway (après le démarrage des canaux).

Événements : gateway:startup

Activer :

bash
openclaw hooks enable boot-md

Voir : documentation de boot-md

Associé

Was this useful?