仕組み
通知フックは以下のことができます:- 複数のイベントでトリガー: 通知、停止、サブエージェント停止、セッション終了
- 複数のチャンネルに対応: デスクトップ通知、システム音、Slack、メール、webhook
- コンテキストを提供: セッション詳細、タスク完了状況、エラーメッセージを含む
- インテリジェントフィルタリング: 重要なイベントのみを通知
- クロスプラットフォーム対応: macOS、Linux、Windows
前提条件
お使いのプラットフォーム用の通知ツールをインストール:基本的な通知
Droidが待機している時のデスクトップ通知
Droidがあなたの入力を待っている時に通知を受け取ります。.factory/hooks/notify-wait.shを作成:
~/.factory/hooks.jsonに追加(ユーザー全体):
タスク完了時の音声アラート
Droidが終了した時に音を再生します。.factory/hooks/completion-sound.shを作成:
~/.factory/hooks.jsonに追加:
高度な通知
Slack連携
Droidがタスクを完了した時にSlackメッセージを送信します。.factory/hooks/slack-notify.shを作成:
~/.factory/hooks.jsonに追加:
メール通知
重要なイベントのメールアラートを送信します。.factory/hooks/email-notify.shを作成:
アクション付きリッチデスクトップ通知
アクションボタン付きのmacOS通知。.factory/hooks/rich-notify-macos.shを作成:
Webhook連携
カスタムwebhookに通知を送信:.factory/hooks/webhook-notify.shを作成:
実際の使用例
例1: フォーカスモード通知
デスクから離れている時のみ通知:.factory/hooks/smart-notify.shを作成:
例2: チーム通知ダッシュボード
すべてのイベントを共有ダッシュボードに記録:.factory/hooks/team-logger.shを作成:
ベストプラクティス
1
通知スクリプトを高速に保つ
Droidをブロックしないよう短いタイムアウトを使用します:
2
失敗を適切に処理する
通知に失敗しても実行をブロックしないでください:
3
ユーザー設定を尊重する
オプトアウト用の環境変数を確認します:
4
通知をテストする
テストのために手動でフックをトリガーします:
5
適切な通知レベルを使用
イベントごとに適切な緊急度は異なります:
- Notification: 緊急度高(Droidが待機中)
- Stop: 緊急度中(タスク完了)
- SessionEnd: 緊急度低(参考情報のみ)
トラブルシューティング
問題: 通知が表示されない 解決策: 通知の権限を確認:関連項目
- フックリファレンス - 完全なフックAPI文書
- Get started with hooks - 基本的なhooksの紹介
- Session automation - セッション設定の自動化
- Logging and analytics - Droid使用状況の追跡
