CLI commands

Einhängepunkte

Edit source

openclaw hooks

Agent-Hooks verwalten (ereignisgesteuerte Automatisierungen für Befehle wie /new, /reset und den Gateway-Start).

Das Ausführen von openclaw hooks ohne Unterbefehl entspricht openclaw hooks list.

Verwandt:

Alle Hooks auflisten

bash
openclaw hooks list

Listet alle erkannten Hooks aus Workspace-, verwalteten, zusätzlichen und gebündelten Verzeichnissen auf. Der Gateway-Start lädt interne Hook-Handler erst, wenn mindestens ein interner Hook konfiguriert ist.

Optionen:

  • --eligible: Nur geeignete Hooks anzeigen (Anforderungen erfüllt)
  • --json: Als JSON ausgeben
  • -v, --verbose: Detaillierte Informationen einschließlich fehlender Anforderungen anzeigen

Beispielausgabe:

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

Beispiel (ausführlich):

bash
openclaw hooks list --verbose

Zeigt fehlende Anforderungen für nicht geeignete Hooks an.

Beispiel (JSON):

bash
openclaw hooks list --json

Gibt strukturiertes JSON zur programmgesteuerten Verwendung zurück.

Hook-Informationen abrufen

bash
openclaw hooks info <name>

Detaillierte Informationen zu einem bestimmten Hook anzeigen.

Argumente:

  • <name>: Hook-Name oder Hook-Schlüssel (z. B. session-memory)

Optionen:

  • --json: Als JSON ausgeben

Beispiel:

bash
openclaw hooks info session-memory

Ausgabe:

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

Hook-Eignung prüfen

bash
openclaw hooks check

Zusammenfassung des Hook-Eignungsstatus anzeigen (wie viele bereit bzw. nicht bereit sind).

Optionen:

  • --json: Als JSON ausgeben

Beispielausgabe:

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

Hook aktivieren

bash
openclaw hooks enable <name>

Einen bestimmten Hook aktivieren, indem er zu Ihrer Konfiguration hinzugefügt wird (standardmäßig ~/.openclaw/openclaw.json).

Hinweis: Workspace-Hooks sind standardmäßig deaktiviert, bis sie hier oder in der Konfiguration aktiviert werden. Von Plugins verwaltete Hooks zeigen plugin:<id> in openclaw hooks list und können hier nicht aktiviert/deaktiviert werden. Aktivieren/deaktivieren Sie stattdessen das Plugin.

Argumente:

  • <name>: Hook-Name (z. B. session-memory)

Beispiel:

bash
openclaw hooks enable session-memory

Ausgabe:

Code
✓ Enabled hook: 💾 session-memory

Was dabei passiert:

  • Prüft, ob der Hook existiert und geeignet ist
  • Aktualisiert hooks.internal.entries.<name>.enabled = true in Ihrer Konfiguration
  • Speichert die Konfiguration auf der Festplatte

Wenn der Hook aus <workspace>/hooks/ stammt, ist dieser Opt-in-Schritt erforderlich, bevor der Gateway ihn lädt.

Nach der Aktivierung:

  • Starten Sie den Gateway neu, damit Hooks neu geladen werden (Neustart der Menüleisten-App unter macOS oder Neustart Ihres Gateway-Prozesses in der Entwicklung).

Hook deaktivieren

bash
openclaw hooks disable <name>

Einen bestimmten Hook durch Aktualisieren Ihrer Konfiguration deaktivieren.

Argumente:

  • <name>: Hook-Name (z. B. command-logger)

Beispiel:

bash
openclaw hooks disable command-logger

Ausgabe:

Code
⏸ Disabled hook: 📝 command-logger

Nach der Deaktivierung:

  • Starten Sie den Gateway neu, damit Hooks neu geladen werden

Hinweise

  • openclaw hooks list --json, info --json und check --json schreiben strukturiertes JSON direkt nach stdout.
  • Von Plugins verwaltete Hooks können hier nicht aktiviert oder deaktiviert werden; aktivieren oder deaktivieren Sie stattdessen das zugehörige Plugin.

Hook-Pakete installieren

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

Hook-Pakete über den einheitlichen Plugins-Installer installieren.

openclaw hooks install funktioniert weiterhin als Kompatibilitätsalias, gibt jedoch eine Veraltungshinweis aus und leitet an openclaw plugins install weiter.

Npm-Spezifikationen sind nur registrybasiert (Paketname + optionale exakte Version oder dist-tag). Git-/URL-/Datei-Spezifikationen und semver-Bereiche werden abgelehnt. Abhängigkeitsinstallationen laufen aus Sicherheitsgründen projektlokal mit --ignore-scripts, auch wenn Ihre Shell globale npm-Installationseinstellungen hat.

Unqualifizierte Spezifikationen und @latest bleiben auf dem stabilen Track. Wenn npm eines von beiden zu einer Vorabversion auflöst, stoppt OpenClaw und fordert Sie auf, sich ausdrücklich mit einem Vorabversions-Tag wie @beta/@rc oder einer exakten Vorabversion dafür zu entscheiden.

Was dabei passiert:

  • Kopiert das Hook-Paket nach ~/.openclaw/hooks/<id>
  • Aktiviert die installierten Hooks in hooks.internal.entries.*
  • Zeichnet die Installation unter hooks.internal.installs auf

Optionen:

  • -l, --link: Ein lokales Verzeichnis verlinken statt kopieren (fügt es zu hooks.internal.load.extraDirs hinzu)
  • --pin: Npm-Installationen als exakt aufgelöstes name@version in hooks.internal.installs aufzeichnen

Unterstützte Archive: .zip, .tgz, .tar.gz, .tar

Beispiele:

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

Verlinkte Hook-Pakete werden als verwaltete Hooks aus einem vom Operator konfigurierten Verzeichnis behandelt, nicht als Workspace-Hooks.

Hook-Pakete aktualisieren

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

Verfolgte npm-basierte Hook-Pakete über den einheitlichen Plugins-Updater aktualisieren.

openclaw hooks update funktioniert weiterhin als Kompatibilitätsalias, gibt jedoch eine Veraltungshinweis aus und leitet an openclaw plugins update weiter.

Optionen:

  • --all: Alle verfolgten Hook-Pakete aktualisieren
  • --dry-run: Anzeigen, was sich ändern würde, ohne zu schreiben

Wenn ein gespeicherter Integritäts-Hash vorhanden ist und sich der Hash des abgerufenen Artefakts ändert, gibt OpenClaw eine Warnung aus und fragt vor dem Fortfahren nach Bestätigung. Verwenden Sie global --yes, um Eingabeaufforderungen in CI-/nicht interaktiven Läufen zu umgehen.

Gebündelte Hooks

session-memory

Speichert Sitzungskontext im Speicher, wenn Sie /new oder /reset ausführen.

Aktivieren:

bash
openclaw hooks enable session-memory

Ausgabe: Standardmäßig ~/.openclaw/workspace/memory/YYYY-MM-DD-HHMM.md. Setzen Sie hooks.internal.entries.session-memory.llmSlug: true für modellgenerierte Dateinamens-Slugs.

Siehe: session-memory-Dokumentation

bootstrap-extra-files

Injiziert zusätzliche Bootstrap-Dateien (zum Beispiel monorepo-lokale AGENTS.md / TOOLS.md) während agent:bootstrap.

Aktivieren:

bash
openclaw hooks enable bootstrap-extra-files

Siehe: bootstrap-extra-files-Dokumentation

command-logger

Protokolliert alle Befehlsereignisse in einer zentralisierten Audit-Datei.

Aktivieren:

bash
openclaw hooks enable command-logger

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

Logs anzeigen:

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 .

Siehe: command-logger-Dokumentation

boot-md

Führt BOOT.md aus, wenn der Gateway startet (nach dem Start der Channels).

Ereignisse: gateway:startup

Aktivieren:

bash
openclaw hooks enable boot-md

Siehe: boot-md-Dokumentation

Verwandt

Was this useful?