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
  📎 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 command is issued

例(詳細):

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/automation/hooks#session-memory
  Events: command:new

Requirements:
  Config: ✓ workspace.dir

フック適格性の確認

openclaw hooks check

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

オプション:

  • --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>
openclaw hooks install <npm-spec> --pin

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

npm仕様はレジストリのみ(パッケージ名 + オプションの正確なバージョンまたはdist-tag)です。Git/URL/ファイル仕様やsemver範囲は拒否されます。依存関係のインストールは安全のため--ignore-scriptsで実行されます。

ベア仕様と@latestは安定トラックに留まります。npmがこれらをプレリリースに解決した場合、OpenClawは停止して@beta/@rcなどのプレリリースタグや正確なプレリリースバージョンでの明示的なオプトインを求めます。

実行内容:

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

オプション:

  • -l, --link: コピーする代わりにローカルディレクトリをリンク(hooks.internal.load.extraDirsに追加)
  • --pin: npmインストールをhooks.internal.installsに正確な解決済みname@versionとして記録

サポートされるアーカイブ: .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: 書き込みせずに変更内容を表示

保存済みの整合性ハッシュが存在し、取得したアーティファクトのハッシュが変わった場合、OpenClawは警告を表示して確認を求めます。CI/非対話モードではグローバルの--yesでプロンプトをバイパスできます。

バンドルフック

session-memory

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

有効化:

openclaw hooks enable session-memory

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

参照: session-memory documentation

bootstrap-extra-files

agent:bootstrap時に追加のブートストラップファイル(例:モノレポローカルのAGENTS.md / TOOLS.md)を挿入します。

有効化:

openclaw hooks enable bootstrap-extra-files

参照: bootstrap-extra-files documentation

command-logger

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

有効化:

openclaw hooks enable command-logger

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

ログの確認:

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

# 整形表示
cat ~/.openclaw/logs/commands.log | jq .

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

参照: command-logger documentation

boot-md

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

イベント: gateway:startup

有効化:

openclaw hooks enable boot-md

参照: boot-md documentation