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 listでplugin:<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
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 .
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ドキュメント