Claude Code 手机通知:知道任务跑完的三种方式
2026-07-17
长时间的 Claude Code 任务大部分时间不需要你,但会时不时停下来等:等你批准计划、回答问题、审查 diff。你没注意到,它就一直等着。通知只解决了一半问题——另一半是收到通知之后,你在手机上能做什么。
方案一:hooks + ntfy 自建
Claude Code 提供了在生命周期事件上触发的 hooks。把 Stop hook 指向 ntfy.sh 这类推送服务,agent 一停手机就响:
{
"hooks": {
"Stop": [{
"hooks": [{
"type": "command",
"command": "curl -s -d 'Claude Code finished' ntfy.sh/your-topic"
}]
}]
}
}
优点:免费、透明、哪里都能用。缺点:每台机器都要配置和维护、通知里没上下文、收到之后想操作还是得自己找终端、手动 re-attach。
方案二:官方推送
较新的 Claude Code 版本通过官方 Claude App 提供了推送通知,与 Remote Control 配套。如果你的工作流本来就跑在官方托管的会话里,这是零配置的答案——而且它会持续进化。它的边界在于官方流程本身:只覆盖 Claude App 能看到的会话,交互形态是 Remote Control,而不是你自己服务器上的原生终端。
方案三:ServerCC——通知加终端
ServerCC 把 agent 跑在你自己服务器的 tmux 里,任务完成时推送通知。点开通知就是那个会话的完整终端,可以直接批准计划、输入回答、看 git diff,或者在 Agent View 里把任务交给另一个并行实例。
该选哪个?
- 如果一切都跑在官方托管会话里,用官方推送就行,不用配置。
- 如果你习惯每一环自己搭,hooks + ntfy 便宜且可脚本化。
- 如果 agent 跑在自己服务器上,而且收到通知后还要接着操作,ServerCC 把通知、终端、diff 审查、并行会话放在了一个 App 里。
这些方案还能组合:不少用户留着 ntfy 推 CI 消息,交互闭环交给 ServerCC。配置五分钟——快速开始。