コンテンツにスキップ

openclaw hooks で自動化を加速させる方法

開発環境の自動化を進める中で、特定のイベントが発生した際に決まった処理を自動実行したいと考えたことはありませんか?OpenClawのフック機能を使えば、コマンド実行やGatewayの起動といったタイミングで、柔軟な自動化処理を簡単に組み込むことができます。

ここでは、OpenClawのフック管理機能について詳しく解説します。

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

Section titled “すべてのフックを一覧表示する”

現在利用可能なフックを確認したい場合は、以下のコマンドを使用します。ワークスペースや管理ディレクトリ、バンドルされているディレクトリから検出されたすべてのフックが表示されます。

Terminal window
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 or /reset command is issued

詳細表示の例:

Terminal window
openclaw hooks list --verbose

JSON出力の例:

Terminal window
openclaw hooks list --json

特定のフックについて、どのような要件が必要か、どのイベントで動作するかを確認したい場合に便利です。

Terminal window
openclaw hooks info <name>

引数:

  • <name>: フック名またはフックキー(例: session-memory)

オプション:

  • --json: 結果を JSON 形式で出力します。

実行例:

Terminal window
openclaw hooks info session-memory

出力:

💾 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

現在の設定で、いくつのフックが準備完了状態で、いくつが未設定かを確認できます。

Terminal window
openclaw hooks check

オプション:

  • --json: 結果を JSON 形式で出力します。

出力例:

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

特定のフックを有効化するには、以下のコマンドを実行します。これにより、設定ファイル(デフォルトでは ~/.openclaw/openclaw.json)が更新されます。

Terminal window
openclaw hooks enable <name>

注意: ワークスペースのフックは、ここで有効化するまでデフォルトで無効になっています。プラグインによって管理されているフックは、プラグイン自体を有効/無効にする必要があります。

引数:

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

実行例:

Terminal window
openclaw hooks enable session-memory

出力:

✓ Enabled hook: 💾 session-memory

有効化後の手順: Gatewayを再起動してフックを再読み込みしてください(macOSのメニューバーアプリを再起動するか、開発環境のGatewayプロセスを再起動します)。

不要になったフックは、以下のコマンドで設定を更新して無効化できます。

Terminal window
openclaw hooks disable <name>

引数:

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

実行例:

Terminal window
openclaw hooks disable command-logger

出力:

⏸ Disabled hook: 📝 command-logger

無効化後の手順: Gatewayを再起動してフックを再読み込みしてください。

  • openclaw hooks list --json、info --json、check --json は、構造化された JSON を標準出力に書き出します。
  • プラグイン管理下のフックは、このコマンドでは有効/無効を切り替えられません。対象のプラグインの設定を変更してください。

フックパックをインストールする

Section titled “フックパックをインストールする”

フックパックは、統合されたプラグインインストーラーを通じてインストールします。

Terminal window
openclaw plugins install <package> # ClawHub first, then npm
openclaw plugins install <package> --pin # pin version
openclaw plugins install <path> # local path

openclaw hooks install コマンドも互換性のために残されていますが、非推奨の警告が表示され、自動的に openclaw plugins install へ転送されます。npm の仕様はレジストリのみを対象としており、安全のため依存関係のインストールは --ignore-scripts 付きで実行されます。

オプション:

  • -l, --link: コピーではなくローカルディレクトリをリンクします。
  • --pin: npm インストール時にバージョンを固定します。

実行例:

Terminal window
# 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

追跡されている npm ベースのフックパックを更新します。

Terminal window
openclaw plugins update <id>
openclaw plugins update --all

openclaw hooks update も互換性のために残されていますが、非推奨の警告が表示されます。

オプション:

  • --all: 追跡されているすべてのフックパックを更新します。
  • --dry-run: 実際には変更せず、変更内容を表示します。

/new または /reset コマンドが発行された際に、セッションコンテキストをメモリに保存します。

有効化:

Terminal window
openclaw hooks enable session-memory

エージェントの起動時に、追加のブートストラップファイル(例: モノレポ内の AGENTS.md や TOOLS.md)を注入します。

有効化:

Terminal window
openclaw hooks enable bootstrap-extra-files

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

有効化:

Terminal window
openclaw hooks enable command-logger

ログの確認:

Terminal window
# 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 .

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

有効化:

Terminal window
openclaw hooks enable boot-md

設定やトラブルシューティングについては、AI Setup Assistant をご利用ください。

OpenClaw

OpenClaw Expert

まだ解決しませんか?

このページで解決しない場合は、OpenClaw Expertに直接質問してください。