openclaw hooks

エージェントフック(/new/reset、およびgateway起動などのコマンドのためのイベント駆動型オートメーション)を管理します。

関連:

すべてのフックを一覧表示

openclaw hooks list

ワークスペース、管理対象、およびバンドルされたディレクトリから発見されたすべてのフックを一覧表示します。

オプション:

  • --eligible: 適格なフックのみを表示(要件が満たされている)
  • --json: JSON形式で出力
  • -v, --verbose: 不足している要件を含む詳細情報を表示

出力例:

Hooks (4/4 ready)

Ready:
  🚀 boot-md ✓ - Run BOOT.md on gateway startup
  📝 command-logger ✓ - Log all command events to a centralized audit file
  💾 session-memory ✓ - Save session context to memory when /new command is issued
  😈 soul-evil ✓ - Swap injected SOUL content during a purge window or by random chance

例(verbose):

openclaw hooks list --verbose

不適格なフックの不足している要件を表示します。

例(JSON):

openclaw hooks list --json

プログラム的な使用のための構造化JSONを返します。

フック情報を取得

openclaw hooks info <name>

特定のフックに関する詳細情報を表示します。

引数:

  • <name>: フック名(例: session-memory

オプション:

  • --json: JSON形式で出力

例:

openclaw hooks info session-memory

出力:

💾 session-memory ✓ Ready

Save session context to memory when /new 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/hooks#session-memory
  Events: command:new

Requirements:
  Config: ✓ workspace.dir

フックの適格性を確認

openclaw hooks check

フックの適格性ステータスの概要を表示します(準備完了と未準備の数)。

オプション:

  • --json: JSON形式で出力

出力例:

Hooks Status

Total hooks: 4
Ready: 4
Not ready: 0

フックを有効化

openclaw hooks enable <name>

設定(~/.openclaw/config.json)に追加することで、特定のフックを有効にします。

注意: プラグインによって管理されているフックは、openclaw hooks listplugin:<id>と表示され、 ここでは有効/無効にできません。代わりにプラグインを有効/無効にしてください。

引数:

  • <name>: フック名(例: session-memory

例:

openclaw hooks enable session-memory

出力:

✓ Enabled hook: 💾 session-memory

動作:

  • フックが存在し、適格であることを確認します
  • 設定内のhooks.internal.entries.<name>.enabled = trueを更新します
  • 設定をディスクに保存します

有効化後:

  • フックがリロードされるようにgatewayを再起動します(macOSではメニューバーアプリを再起動、または開発中のgatewayプロセスを再起動)。

フックを無効化

openclaw hooks disable <name>

設定を更新することで、特定のフックを無効にします。

引数:

  • <name>: フック名(例: command-logger

例:

openclaw hooks disable command-logger

出力:

⏸ Disabled hook: 📝 command-logger

無効化後:

  • フックがリロードされるようにgatewayを再起動します

フックをインストール

openclaw hooks install <path-or-spec>

ローカルフォルダ/アーカイブまたはnpmからフックパックをインストールします。

動作:

  • フックパックを~/.openclaw/hooks/<id>にコピーします
  • hooks.internal.entries.*でインストールされたフックを有効にします
  • hooks.internal.installsの下にインストールを記録します

オプション:

  • -l, --link: コピーする代わりにローカルディレクトリをリンクします(hooks.internal.load.extraDirsに追加)

サポートされているアーカイブ: .zip.tgz.tar.gz.tar

例:

# ローカルディレクトリ
openclaw hooks install ./my-hook-pack

# ローカルアーカイブ
openclaw hooks install ./my-hook-pack.zip

# NPMパッケージ
openclaw hooks install @openclaw/my-hook-pack

# コピーせずにローカルディレクトリをリンク
openclaw hooks install -l ./my-hook-pack

フックを更新

openclaw hooks update <id>
openclaw hooks update --all

インストールされたフックパックを更新します(npmインストールのみ)。

オプション:

  • --all: 追跡されているすべてのフックパックを更新します
  • --dry-run: 書き込みなしで変更内容を表示します

バンドルされたフック

session-memory

/newを発行するときにセッションコンテキストをメモリに保存します。

有効化:

openclaw hooks enable session-memory

出力: ~/.openclaw/workspace/memory/YYYY-MM-DD-slug.md

参照: session-memoryドキュメント

command-logger

すべてのコマンドイベントを中央の監査ファイルにログ記録します。

有効化:

openclaw hooks enable command-logger

出力: ~/.openclaw/logs/commands.log

ログを表示:

# 最近のコマンド
tail -n 20 ~/.openclaw/logs/commands.log

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

# アクションでフィルタ
grep '"action":"new"' ~/.openclaw/logs/commands.log | jq .

参照: command-loggerドキュメント

soul-evil

パージウィンドウ中またはランダムなチャンスで、インジェクトされたSOUL.mdコンテンツをSOUL_EVIL.mdに入れ替えます。

有効化:

openclaw hooks enable soul-evil

参照: SOUL Evil Hook

boot-md

gateway起動時(チャネル起動後)にBOOT.mdを実行します。

イベント: gateway:startup

有効化:

openclaw hooks enable boot-md

参照: boot-mdドキュメント