ZekerTop/ai-cli-complete-notify
面向 Claude Code / Codex / OpenCode / Gemini / ZCode 的多通道AI CLI 任务完成提醒,支持耗时阈值、桌面端与命令行、通用 Webhook(飞书/钉钉/企微)、Telegram、邮件、桌面/声音提示,配备自动监听日志,AI摘要等功能
AI CLI Complete Notify – 機能概要
目的 – このプログラムは、AI アシスタントのコマンドラインツール(Claude Code、Codex、OpenCode、Gemini CLI、ZCode など)の出力を監視し、長時間実行されるタスクが完了したときに通知を送信します。AI が実行されている間は他の作業を続け、完了時に好みのチャネルで通知を受け取ることができます。
仕組み
- 監視 – アプリは、CLI が書き出すログファイルを監視(静止期間をポーリング)するか、AI CLI 自体がターン終了時に出力するフック/プラグインをインストールできます。フックはより高速で信頼性の高い信号を提供し、監視は汎用的なフォールバックとして機能します。
- デバウンス / しきい値 – タスク終了後、ツールは短い「静止」期間(AI がツールを使用した場合はデフォルトで 60 秒、それ以外は 15 秒)待機してから通知を送信します。また、期間しきい値を設定して、指定した時間以上実行されたタスクのみ通知を受け取るようにすることも可能です。
- マルチチャネル配信 – 1 つの通知を以下の任意の組み合わせでプッシュできます:
- デスクトップ通知(Windows、macOS、Linux)
- サウンドまたはテキスト読み上げ (TTS)
- スマートウォッチ/バンド(同じチャネル経由)
- Feishu、DingTalk、WeCom などの Webhook
- Telegram ボット
- 電子メール (SMTP)
- オプションの AI 要約 – 有効にすると、ツールは LLM(設定可能な URL/キー/モデル)を呼び出し、完了したタスクの短い要約を生成します。要約リクエストがタイムアウトした場合は、元のタスクの説明が代わりに使用されます。
主な機能(README に記載)
| 機能 | 内容 |
|---|---|
| スマートデバウンス | 通知前の待機時間を自動調整(ツール呼び出し時は 60 秒、それ以外は 15 秒)。 |
| ソース制御 | 各 AI ソースのオン/オフ切り替えと、個別の期間しきい値設定。 |
| マルチチャネルプッシュ | 複数の方法で同時に同じアラートを送信。 |
| 期間しきい値 | 短いタスクの通知をスキップしてスパムを防止。 |
| フック + 監視統合 | Claude、Gemini、ZCode、OpenCode はネイティブフックを優先し、Codex はログ監視にフォールバック。 |
| AI 要約(オプション) | 完了したターンの簡潔な自然言語による要約を生成。 |
| デスクトップアプリケーション | 言語切り替え、トレイアイコン、自動起動、Dock からの非表示などを備えた Tauri ベースの GUI。 |
| 設定の分離 | 機密データ(API キー、SMTP パスワード)は個別の .env ファイルに保存され、UI 生成の settings.json に含まれないようにします。 |
はじめに
- ダウンロード – Windows(ポータブル zip)、macOS(DMG/app)用のビルド済みバイナリ、および Linux/WSL 用のソースが提供されています。
- 設定 – .env.example を .env にコピーし、Webhook URL、Telegram ボットトークン、SMTP 認証情報、および(オプションで)LLM API の詳細を入力します。
- 実行 –
- GUI – アプリをダブルクリックします(Windows では ai-cli-complete-notify.exe を実行)。初回起動時に .env.example が存在しない場合はデフォルトが作成されます。
- CLI – バンドルされている ai-reminder(または ai-reminder.exe)を使用してコマンドライン制御を行います。例:ai-reminder watch --sources all でバックグラウンド監視を開始、または ai-reminder run --source codex -- codex <args…> で単一コマンドをラップします。
- フックのインストール(推奨) – ai-reminder hooks install --target claude(または gemini、opencode、zcode、herdr)を実行して、適切なフック/プラグインを AI CLI の設定ディレクトリに配置します。これにより、ほぼ即時の通知が可能になります。
- テスト – GUI の「テスト機能」または ai-reminder notify --source claude --task "Demo" を使用して、各チャネルが機能することを確認します。
一般的なワークフロー
- バックグラウンド監視 – tmux や screen セッションで ai-reminder watch … を開始します。ツールは静かにログを監視し、Claude や Gemini のターンが完了してしきい値を超えると、デスクトップ通知、サウンド、または Telegram メッセージが届きます。
- 単発コマンド – AI CLI 呼び出しの前に ai-reminder run --source codex -- を付けると、タイマーが自動的に開始され、コマンド終了時に通知が送信されます。
- 手動タイマー – 長いタスクを開始する前に ai-reminder start … を使用し、終了後に ai-reminder stop … を使用します(CLI 以外のツールに便利です)。
プラットフォームの詳細
- macOS – バンドルされた Node.js ランタイムを含む署名済み DMG として配布。Node/Rust の個別インストールは不要。Apple Silicon および Intel ビルドをサポート。
- Windows – ポータブル zip には GUI (ai-cli-complete-notify.exe) と CLI サイドカー (ai-reminder.exe) が含まれています。WSL から実行する場合、デスクトップ通知とサウンドは PowerShell を介して処理されます。
- Linux / WSL – ソースから実行 (npm install && node ai-reminder.js …)。Node ≥ 14 および Tauri ビルド用の Rust/Cargo が必要です。
拡張性
- サードパーティ Herdr 統合 – herdr-ai-notify プラグインをインストールでき、Herdr 管理下の AI セッションで通知をトリガーできます。
- カスタム Webhook URL – JSON ペイロードを受け入れる任意の HTTP エンドポイントを追加可能。UI でチャネルに名前を付けてテストできます。
想定ユーザー
- コード生成、データ分析、または長時間実行されるプロンプトのために Claude、Gemini、Codex などを使用し、モデルの完了時に通知を受け取りたい開発者。
- 数分から数時間かかる LLM 駆動のパイプラインを実験している研究者。
- AI が動作している間はターミナルウィンドウを隠しておきたいが、状況は把握しておきたい人。
TL;DR – AI CLI Complete Notify は、AI アシスタント CLI を監視し、オプションでネイティブフックをインストールし、デスクトップ、サウンド、電子メール、Telegram、またはカスタム Webhook を通じて完了アラートをプッシュするクロスプラットフォームのヘルパーです。長時間実行される AI コマンドを実行し、信頼性の高い「タスク完了」通知を必要とするすべての人に役立ちます。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト