需要「必须处理」的提醒,往往被埋在 Telegram 频道、Discord 服务器或邮件里;另一种上锁屏的方式,是专门开发一款原生应用,而它唯一的用途可能就是发那一行通知。一个名为 Kukuroo 的开源方案,试图用单个 Cloudflare Worker 解决这个问题——把推送端点握在自己手里。

一个 Worker 就能跑
Kukuroo 的核心是一个自托管的 Web Push 服务,部署在一个 Cloudflare Worker 中。它只需一个 Worker 加一个 KV 命名空间,没有需要常驻的服务器,也无需续期或凌晨三点重启。
更重要的是「中间没有公司」:密钥留在你自己的 Worker 里,推送内容以加密形式发往设备,任何第三方后台都看不到你的提醒。
iOS 原生渲染,无需上架
从 iOS 18.4 起,系统已原生支持声明式 Web Push(Declarative Web Push)。这意味着用户无需从 App Store 下载应用,也不必每年花 99 美元只为在锁屏显示几个字——只要把页面添加到主屏幕,从图标打开即可。苹果(Apple)的规则要求每台设备完成一次这样的添加操作。
一行命令完成接入
整套配置不到一分钟。一条命令会写入 Worker、生成所有密钥、安装并配置存储、完成部署:
npx kukuroo init my-push
执行后便拥有了一台属于自己的推送服务器。在 iPhone 的 Safari 中打开打印出的地址,选择「添加到主屏幕」,从图标进入即可。
任何能发 HTTP 请求的地方都能触发
触发推送的入口很轻量:正在运行的智能体(agent)跑完或停下来询问时、定时任务(cron)、CI 流程、树莓派(Raspberry Pi)、后端服务,乃至一个 shell 别名——任何能发起 HTTP 调用的程序都能让手机响一声。例如用 curl 带上令牌(token)即可发送:
curl -X POST https://push.example.com/push/send -H "authorization: Bearer $KUKUROO_SEND_TOKEN" -d '{"notification":{"title":"任务 W13 完成","body":"W14 已解锁,可以开始"}}'
免费额度够个人使用
前置条件很克制:仅运行在 Cloudflare Workers 上;声明式 Web Push 目前只在 Safari 落地;需要 iOS 18.4 及以上,且页面在主屏幕、从图标打开;以及一个 Cloudflare 账户。
免费套餐已能支撑个人使用:每次发送覆盖 50 台设备、每日 10 万次请求;若规模增长,每月 5 美元可将单次发送扩展到 1 万台设备、每日 1000 万次请求。
对于想把关键提醒从聊天群和收件箱里捞出来、又不想为它单独养服务器或开发应用的人来说,用 Cloudflare Worker 自建一套推送,是一个轻量且自主可控的选择。
来源:Kukuroo 项目页 / Hacker News







