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 秒)再发送通知。您还可以设置持续时间阈值,以便仅在任务运行时间超过指定时长时才接收提醒。
- 多渠道交付 – 一条通知可以通过以下任意组合推送:
- 桌面通知(Windows、macOS、Linux)
- 声音或文本转语音 (TTS)
- 智能手表/手环(通过相同渠道)
- 飞书、钉钉、企业微信等的 Webhook
- Telegram 机器人
- 电子邮件 (SMTP)
- 可选 AI 摘要 – 如果启用,工具会调用 LLM(可配置 URL/密钥/模型)生成已完成任务的简短摘要。如果摘要请求超时,则使用原始任务描述。
主要功能(README 中列出)
| 功能 | 含义 |
|---|---|
| 智能去抖动 | 自动调整通知前的等待时间(使用工具调用时 60 秒,否则 15 秒)。 |
| 源控制 | 开启/关闭每个 AI 源并设置其各自的持续时间阈值。 |
| 多渠道推送 | 同时通过多种方法发送同一条提醒。 |
| 持续时间阈值 | 跳过短任务的通知以避免垃圾信息。 |
| 钩子 + 监控集成 | 优先为 Claude、Gemini、ZCode、OpenCode 使用原生钩子;Codex 则回退到日志监控。 |
| AI 摘要(可选) | 生成已完成任务的简短自然语言回顾。 |
| 桌面应用程序 | 基于 Tauri 的 GUI,支持语言切换、托盘图标、自动启动、隐藏 Dock 等。 |
| 配置分离 | 敏感数据(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 驱动命令并希望获得可靠“任务完成”提示的人来说,它非常有用。
相关
- 项目
- 项目
- 项目
- 项目