Agent Skills
返回列表
💻

Claude 通知

开发编程 更新于 2026.08.29

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_88546431/claude-notify-user-88546431。

技能介绍

要解决的问题

跑 claude 处理大改动时,模型可能在工具调用链上停留几分钟。人离开屏幕,既不知道它是否卡在等待确认,也不知道重构是否已经跑完。反复重跑只会浪费已经花掉的算力。Claude Notify 的做法是复用 Claude Code 自带的 hooks:在会话的关键节点把状态外发到你常开的通道上,人不必守着终端。

工作原理

技能注册三个事件,分工明确:

  • Notification:需要用户注意时立即触发,标题为 "Claude Code — 等待确认",并播放 Ping 音效。
  • PreToolUse:静默记录本轮工具调用的开始时间与次数,为长任务判断提供时间基线。
  • Stop:生成结束时决定是否补发通知,与 Notification 在 5 秒窗口内互斥去重,避免同一轮操作弹两条。

通知决策按固定顺序执行:先看 5 秒内是否刚发过 Notification;再看是否用 EnableOnce 打开了一次性标记;最后比较工具运行时长是否达到阈值,默认 100 秒,可用 SetThreshold 调整(下限 60 秒)。

通道层是薄封装,不自己造协议:macOS 走 terminal-notifier,缺失时降级 osascript,配合 afplay 播音效,横幅点击可跳回终端;钉钉与企微发 Markdown 消息;飞书发卡片消息并支持可选的 HMAC-SHA256 签名。Webhook token 只写入本机的 ~/.claude/notify/config.json。

运维靠 notify-router.sh:Status 看通道与阈值,Doctor 自检 Skill、hooks、配置与各通道环境,TestMacOS / TestDingTalk / TestFeishu / TestWeCom 逐通道试通,Disable 软关闭全部通道,UninstallHooks 从 settings.json 摘除 hooks。安装脚本会备份旧配置、合并 hooks 而非覆盖,升级时保留已有 webhook URL。

边界与注意点

桌面通知与音频只在 macOS 生效,其他环境自动跳过,只剩 Webhook。通知脚本必须以 exit 0 结束,任何通道故障都不能阻塞主流程,因此存在通知静默失败的可能,上线前用 Doctor 和对应的 TestXxx 验证一次更稳妥。Stop 的防刷屏逻辑意味着短任务结束时不会打扰你,需要即时反馈就得依赖 Notification 事件本身。修改 ~/.claude/settings.json 前确认已有备份,token 不要提交进仓库。运行环境要求 Node.js 18+。

使用场景

  • 让 Claude Code 重构大型代码库时离开工位,需通过飞书卡片消息得知重构完成并返回核对结果。
  • 使用 Claude Code 批量处理数据时,需通过钉钉 Markdown 消息在等待操作确认的第一时间收到提醒。
  • 在 macOS 终端运行耗时较长的脚本生成时,需通过桌面横幅和 Ping 音效在任务达到100秒阈值后收到通知。
  • 配置多台开发机时,需使用 notify-router.sh Doctor 自检环境,并通过 TestFeishu 验证 Webhook 连通性。

适合人员

  • 独立开发者,常在多任务并行时让 Claude Code 处理耗时重构,需要飞书卡片通知以防遗漏长任务结果。
  • 后端工程师,习惯用命令行工具跑批处理脚本,需要在等待确认时通过钉钉消息提醒以防阻塞流程。
  • macOS 重度用户,希望在离开终端去开会时,通过桌面横幅和点击跳转功能快速回到正在运行的 Claude Code 会话。
  • 团队技术负责人,负责统一配置开发机的 Claude Code 环境,需要通过 Doctor 命令排查和测试各通道连通性。