CLI commands

Einhängepunkte

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

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:

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):

openclaw hooks list --verbose

Zeigt fehlende Anforderungen für nicht geeignete Hooks an.

Beispiel (JSON):

openclaw hooks list --json

Gibt strukturiertes JSON zur programmgesteuerten Verwendung zurück.

Hook-Informationen abrufen

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:

openclaw hooks info session-memory

Ausgabe:

💾 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

openclaw hooks check

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

Optionen:

  • --json: Als JSON ausgeben

Beispielausgabe:

Hooks Status

Total hooks: 4
Ready: 4
Not ready: 0

Hook aktivieren

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:

openclaw hooks enable session-memory

Ausgabe:

✓ 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

openclaw hooks disable <name>

Einen bestimmten Hook durch Aktualisieren Ihrer Konfiguration deaktivieren.

Argumente:

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

Beispiel:

openclaw hooks disable command-logger

Ausgabe:

⏸ 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

openclaw plugins install <package>        # npm by default
openclaw plugins install npm:<package>    # npm only
openclaw plugins install <package> --pin  # pin version
openclaw 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:

# Local directory
openclaw plugins install ./my-hook-pack

# Local archive
openclaw plugins install ./my-hook-pack.zip

# NPM package
openclaw plugins install @openclaw/my-hook-pack

# Link a local directory without copying
openclaw 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

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:

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:

openclaw hooks enable bootstrap-extra-files

Siehe: bootstrap-extra-files-Dokumentation

command-logger

Protokolliert alle Befehlsereignisse in einer zentralisierten Audit-Datei.

Aktivieren:

openclaw hooks enable command-logger

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

Logs anzeigen:

# Recent commands
tail -n 20 ~/.openclaw/logs/commands.log

# Pretty-print
cat ~/.openclaw/logs/commands.log | jq .

# Filter by action
grep '"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:

openclaw hooks enable boot-md

Siehe: boot-md-Dokumentation

Verwandt