Skip to content

wanghuan9/cc-notify

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CC Notify

Claude Code 快速通知工具 —— 当 AI 完成回复时,自动推送桌面通知。

本项目基于 liujintai/claude-code-notify 改造,移除了对 Claude Haiku API 的依赖,实现了纯本地的极速响应模式。

macOS Python 3 Swift

✨ 特性

  • 极速响应:<0.1 秒通知(毫秒级)
  • 🎨 自定义图标:Claude 专属图标
  • 🚀 零依赖:无需网络调用,100% 可靠
  • 💡 即装即用:无需配置,开箱即用
  • 🧠 智能通知:与 ECC 项目保持一致的文案逻辑
    • 从 Stop hook 的 last_assistant_message 读取内容
    • 提取第一个非空行作为通知消息
    • 自动截断超过 100 字符的内容

📸 效果预览

当 Claude Code 完成任务后,你会收到智能通知:

img_1.png

img.png

通知示例

通知文案会根据 Claude 的实际回复内容生成:

  • 短消息:直接显示完整内容
  • 长消息:截断到 100 字符并添加 "..."
  • 多行消息:只显示第一行
  • 兼容 ECC:与 everything-claude-code 项目使用相同的通知逻辑

💻 系统要求

  • macOS(支持 Apple Silicon 和 Intel)
  • Python 3.8+
  • Swift 编译器(Xcode Command Line Tools)
  • Claude Code CLI

🚀 安装

方式一:一键安装(推荐)

curl -fsSL https://raw.githubusercontent.com/wanghuan9/cc-notify/main/install.sh | bash

方式二:克隆仓库安装

git clone https://github.com/wanghuan9/cc-notify.git
cd cc-notify
bash install.sh

📦 安装后

  1. 新开一个 Claude Code 会话即可生效
  2. 如未收到测试通知,请到 系统设置 → 通知 → ClaudeNotify 中开启通知权限

⚙️ 工作原理

Claude Code 回复结束
       ↓
  Stop Hook 触发
       ↓
  notify.py 执行(接收 stdin JSON)
       ↓
  读取 last_assistant_message
       ↓
  提取第一行并截断到 100 字符
       ↓
  ClaudeNotify.app 推送通知
       ↓
  立即显示(<0.1 秒)
  1. Claude Code 的 Stop Hook 在每次回复结束时触发 notify.py
  2. notify.py 从 stdin 读取 JSON 数据,获取 last_assistant_message
  3. 如果没有该字段,fallback 到从 ~/.claude/history.jsonl 读取
  4. 提取第一个非空行,截断到 100 字符
  5. 通过自制的 ClaudeNotify.app 推送带 Claude 专属图标的 macOS 通知
  6. 兼容 ECC 项目:与 everything-claude-code 使用相同的 extractSummary 逻辑

📁 文件结构

~/.claude/cc-notify/
├── notify.py               # 通知脚本
├── cc.jpg                  # 图标源文件
└── ClaudeNotify.app/       # Swift 通知工具
    └── Contents/
        ├── Info.plist
        ├── MacOS/ClaudeNotify
        └── Resources/AppIcon.icns

🔄 重新安装

如需重新安装或更新:

cd ~/.claude/cc-notify
bash install.sh

🎨 自定义图标

替换 src/cc.jpg 后重新运行安装脚本:

cd claude-code-notify
# 替换 src/cc.jpg 为你的图标
bash install.sh

❌ 卸载

# 方式一:使用卸载脚本
curl -fsSL https://raw.githubusercontent.com/wanghuan9/cc-notify/main/uninstall.sh | bash

# 方式二:手动卸载
rm -rf ~/.claude/cc-notify
# 然后手动编辑 ~/.claude/settings.json 删除 hooks 配置

❓ 常见问题

Q: 安装后没有收到通知?

A: 到 系统设置 → 通知 → ClaudeNotify 中确认通知权限已开启。

Q: 支持 Linux 吗?

A: notify.py 理论上支持 Linux(通过 notify-send),但安装脚本目前仅支持 macOS。

Q: 与 everything-claude-code 的区别?

A: 本项目专注于通知功能,使用相同的文案逻辑,但:

  • 更轻量(无需完整的 ECC 插件系统)
  • 更快速(<0.1 秒响应)
  • 自定义图标(Claude 专属图标)
  • 纯本地实现(无需网络调用)

详细的兼容性说明请参考 ECC_COMPATIBILITY.md

Q: 通知文案为什么只显示第一行?

A: 这与 ECC 项目保持一致的设计:

  • 提取第一个非空行作为通知内容
  • 截断到 100 字符限制
  • 保持通知简洁明了

📜 许可证

MIT License

About

Claude Code 快速通知工具 —— 当 AI 完成回复时,自动推送桌面通知, 极速响应:<0.1 秒通知(毫秒级)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors