☰
HolyClaude任务完成通知设置:Apprise接入Discord/Telegram/Slack的100+渠道教程
2026/10/3 16:55:32 网站建设 项目流程

HolyClaude任务完成通知设置:Apprise接入Discord/Telegram/Slack的100+渠道教程

【免费下载链接】HolyClaudeAI coding workstation: Claude Code + web UI + 8 AI CLIs + headless browser + 50+ tools项目地址: https://gitcode.com/gh_mirrors/ho/HolyClaude

HolyClaude 是一款基于 Docker 的 AI 编程工作站(Claude Code + Web UI + 8 个 AI CLI + 无头浏览器 + 50+ 工具)。它内置Apprise 任务完成通知机制:只需几个环境变量,Claude 跑完长任务或报错时,就能自动推送到 Discord、Telegram、Slack 等 100+ 渠道,让你离开电脑也能掌握进度 🔔

为什么需要 AI 编程任务完成通知?

用 Claude Code、Codex 等 AI CLI 跑一个重构任务,可能几分钟,也可能几十分钟。人一直盯着终端很痛苦——

  • ✅ 任务完成(stop 事件):收到"HolyClaude — Task Complete"
  • ⚠️ 任务失败(error 事件):收到带错误摘要的"HolyClaude — Task Failed"

触发源包括:Claude Code hooks、Codex / Gemini CLI 的 raw hooks,以及 CloudCLI Codex 聊天的完成/失败事件。所有事件走同一套 Apprise 配置,一次配置,处处生效。

💡 未配置时完全静默:没有NOTIFY_*变量、没有标志文件,就零网络调用、零日志刷屏。

三步接入 Discord/Telegram/Slack 通知

第一步:在 Compose 里加 NOTIFY_* 环境变量

以官方 docker-compose.full.yaml 为例,在environment中添加对应渠道(只需选一个或多个):

environment: - NOTIFY_DISCORD=discord://webhook_id/webhook_token - NOTIFY_TELEGRAM=tgram://bot_token/chat_id

常用渠道的 URL 格式速查表:

环境变量渠道URL 格式
NOTIFY_DISCORDDiscord Webhookdiscord://webhook_id/webhook_token
NOTIFY_TELEGRAMTelegram 机器人tgram://bot_token/chat_id
NOTIFY_SLACKSlack Webhookslack://token_a/token_b/token_c
NOTIFY_EMAIL邮件 (SMTP)mailto://user:pass@gmail.com?to=you@gmail.com
NOTIFY_GOTIFYGotifygotify://hostname/token
NOTIFY_PUSHOVERPushoverpover://user_key@app_token
NOTIFY_URLS兜底(任意 Apprise URL)逗号分隔的多个 Apprise URL

想接入其余 100+ 渠道?用NOTIFY_URLS直接填 Apprise 支持的 URL 即可,多个用逗号隔开。

第二步:创建 notify-on 标志文件

通知功能由容器内的标志文件~/.claude/notify-on总控。进入容器创建它:

docker compose exec holyclaude touch /home/claude/.claude/notify-on

第三步:干跑测试,不发真消息

不实际发消息就能验证配置是否正确:

docker compose exec holyclaude /usr/local/bin/notify.py test --dry-run --debug

--debug会逐个打印每个 URL 的解析结果(ok / failed),配置正确即可退出码 0。

关闭通知与版本迁移

临时/永久关闭:删掉标志文件即可,无需改环境变量:

docker compose exec holyclaude rm /home/claude/.claude/notify-on

从 v1.0.0 Pushover 迁移:旧的PUSHOVER_APP_TOKEN+PUSHOVER_USER_KEY两个变量,现在合并为一个:

- NOTIFY_PUSHOVER=pover://user_key@app_token

Telegram 格式注意:必须使用tgram://方案。旧文档里的短格式会被 Apprise 拒绝;虽然旧值(如tg://)会被自动归一化兼容,但新配置请一律用tgram://。

常见问题:Telegram 通知收不到?

这是最高频的问题(详见 docs/troubleshooting.md 的 "Telegram notifications do not arrive" 一节):

  1. 确认用的是NOTIFY_TELEGRAM=tgram://bot_token/chat_id格式
  2. 运行notify.py test --dry-run --debug验证 URL 被接受
  3. 去掉--dry-run跑一次真实测试,仍失败则检查 bot token、chat ID 是否正确,以及容器网络能否出网

相关文件与源码路径

文件说明
scripts/notify.pyApprise 通知主脚本(URL 收集、校验、发送)
scripts/patch-cloudcli-apprise-notifications.mjs为 CloudCLI 注入 Codex 会话完成/失败通知钩子
docs/configuration.md全部NOTIFY_*变量与 URL 格式("Notifications (Apprise)" 章节)
docs/troubleshooting.mdTelegram 收不到通知等故障排查
docker-compose.yaml / docker-compose.full.yaml带注释的NOTIFY_*环境变量示例
tests/test_notify.pynotify.py 的测试用例

总结

HolyClaude 的 Apprise 通知设置可以概括为一句话:加一个NOTIFY_*变量 +touch一个标志文件,长任务跑完或报错时,Discord、Telegram、Slack、邮件……100+ 渠道任选,即配即用,随时可关。

【免费下载链接】HolyClaudeAI coding workstation: Claude Code + web UI + 8 AI CLIs + headless browser + 50+ tools项目地址: https://gitcode.com/gh_mirrors/ho/HolyClaude

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询