为什么做 CC Notify
用 AI CLI 写代码有个很现实的问题:任务经常在后台跑几分钟到几十分钟,你很难一直盯着终端。
真正麻烦的不是“慢”,而是“无感知”:
- 任务已经完成,但你还在等
- 过程里报错了,但你没有第一时间看到
- 工具在等你授权或输入,但你错过了时机
CC Notify 的目标很直接:让 AI CLI 的关键事件主动来找你,而不是你反复回终端检查。
CC Notify 是什么
CC Notify 是一个 AI CLI 通知管理器,当前主要面向:
- Claude Code
- Codex
- Gemini CLI
它提供桌面应用(Tauri)和独立 CLI,两种形态共享同一套配置与数据模型。你可以在本地可视化管理渠道、事件、规则和历史,也可以在无界面的环境里继续使用通知能力。
核心能力
1) 多渠道通知
支持把同一类事件发到不同渠道,包括系统原生通知、Slack、Discord、Telegram、Microsoft Teams、Webhook、声音、语音、Dock 角标等。
重点不是“渠道多”,而是按你工作流做分发:
- 高优先级异常推 IM
- 普通完成走系统通知
- 夜间场景用声音或语音提醒
2) 事件路由
内置事件类型覆盖了常见 AI CLI 交互节点(完成、空闲等待、权限请求、错误等),并支持事件到渠道的路由配置与启停控制。
这样做的价值是:你不需要为每个工具单独配置提醒逻辑,可以在一处集中管理“什么事件发到哪里”。
3) 自定义规则
除了内置事件,CC Notify 还支持规则触发:
- 关键词匹配
- 正则匹配
- 文件变更触发
- 自定义事件
这让通知从“被动转发”升级为“按你的项目语义主动触发”。
典型使用场景
场景 A:长任务完成提醒
你在后台跑大规模改动或生成任务,不必盯终端,完成后由系统或 IM 渠道提醒你回来处理结果。
场景 B:错误与异常优先触达
把错误事件单独路由到更高优先级渠道,避免“完成通知”淹没“故障通知”。
场景 C:权限请求不再错过
当工具需要授权或人工确认时,第一时间收到提醒,减少任务阻塞时间。
如何开始使用(高层流程)
- 安装并启动 CC Notify
- 配置你要用的通知渠道(至少保留一个主渠道)
- 选择需要监听的事件类型并建立路由
- 在设置中为 Claude Code / Codex / Gemini CLI 安装 hooks
- 用测试通知与真实任务各跑一次,确认触达链路稳定
这个流程的关键不在“功能全开”,而在先打通一条最短闭环:一个事件 -> 一个渠道 -> 可验证触达。
技术实现概览
项目采用分层结构:
- 前端:React + TypeScript,负责配置与管理界面
- 后端:Tauri + Rust,负责命令、数据访问、渠道发送与系统集成
- CLI:独立
cc-notify程序,可脱离桌面应用运行 - 存储:SQLite(本地单一事实源)
这套设计的核心是“一份配置,多端复用”:桌面端负责可视化与管理体验,CLI 负责无界面和自动化场景。
后续计划与反馈
接下来会继续沿着三条线迭代:
- 扩展更多渠道与模板能力
- 强化规则系统与事件表达力
- 提升稳定性和跨平台一致性
如果你正在用 AI CLI 工具并且有“通知错过”的痛点,欢迎到仓库提 Issue 或 PR:
- GitHub: caterpi11ar/cc-notify
你可以直接描述你的使用场景(工具、事件、希望触达渠道),我会优先补齐这类真实需求。