敲一下 Knockbox
一行 curl,手机就响。
敲一下(Knockbox)是一款 iPhone 与 iPad 应用:把一次 HTTP 请求变成手机上的一条推送通知。会发请求的东西都能找到你——部署脚本、定时任务、监控检查、CI 流水线,或者刚跑完一件长活的 AI agent。它连的是你自己掌握的服务器,服务端开源,推送密钥也存在那儿。
截图
它能做什么
- 设备
- iPhone · iPad
- 平台
- iOS 17 及以上
- 分类
- 开发者工具
- 价格
- 免费
- 语言
- 简体中文 · 繁體中文 · English · 日本語 · 한국어 · Español · Português
敲一下是为那些「跑完了要说一声」的事做的:部署完成、定时任务出错、磁盘快满、CI 挂了、agent 跑完一件长活。它们共同的形态是一次 HTTP 请求,而不是一个要装客户端、注册账号的平台。服务端开源,跑在 VPS、NAS 或家里的树莓派上;推送密钥也存在它那儿,一条通知从你的机器出发,经 Apple 到手机,中间不经过任何人。不想自己跑,也可以直接用我们运行的公共实例 knockbox.miramiao.com,在 app 第一屏一点就接入。
- 一行请求就够。
curl -d "构建完成" https://你的服务器/api/v1/send/TOKEN—— 会发 HTTP 请求的东西都能推到手机上,也支持 GET 和表单。 - 消息可以回复。 发送方在发送时带上选项、或者允许文本回复,你点进消息就能回。回复由你的服务器回调给发送方,它据此继续往下走 —— 从「窗帘 30 秒后打开」这样的家庭自动化,到需要你点头才继续的 AI agent。
- 服务器是你自己的。 服务端开源,跑在 VPS、NAS 或家里的树莓派上。推送密钥也存在它那儿,通知从你的机器经 Apple 直达手机,中间不经过任何人。不想自己跑,可以用我们运行的公共实例。
- 正文没有长度上限。 正文是通知落地时才去取的,不挤在推送里。Markdown 的标题、列表、链接和带高亮的代码都在。
- 图片就在通知里。 随消息一起留存,不用点进某个网页去看。
- 一件事一个频道。 一个频道一把 token,吵闹的监控和私人提醒各走各的;token 泄露了在频道设置里轮换,历史消息不受影响。
- 静音是服务端的事。 静音状态存在服务端,根本不发——不是发到手机再压下去。
- 打扰级别自己定。 安静、普通,或者必须穿透专注模式时用的时效性。
- 多一台设备只要扫一下。 在已经连上的设备上扫码配对 iPhone 或 iPad,两台收同样的消息,已读状态也同步。
定价
免费¥0
免费。没有广告、没有埋点、不需要在我们这里注册账号,没有内购也没有订阅。服务端开源,自己跑。
常见问题
必须自己搭服务器吗?
不必须,但那是它本来的用法:服务端开源,VPS、NAS 或家里的树莓派都能跑,一条 docker 命令就起来了,app 第一屏就有部署说明的入口。不想自己搭,也可以用我们运行的公共实例 knockbox.miramiao.com,同样在第一屏一点就接入,不用注册也不用密码。
服务端的代码在哪?
github.com/aichy126/knockbox,MIT 许可。有预编译的二进制和 Docker 镜像,一条 docker run 就能起;第一次启动会自动建好管理员账号,用户名和密码打印在日志里。
推送密钥在谁手里?
自建时在你手里。服务端持有它自己的 Apple 推送密钥,通知从你的机器出发,经 Apple 到手机。
要收费吗?
App 免费,没有内购、没有订阅、没有广告。服务端开源。
正文能有多长?
没有长度上限要绕。正文是通知落地时才去取的,不挤在推送里,所以长文和代码都发得动。
回复是怎么回到发送方的?
发送方在发送时给一个回调地址。你回复后,服务端把回复 POST 到那个地址,并带上用频道 token 签的签名。发送方可以设回复时限,过期后消息显示「已过时限」,服务端不再接受 —— 不会让你以为回复已经送到。回复在 app 里进行,不在通知上。
能连几台设备?
在已经连上的设备上扫码,可以再配对 iPhone 或 iPad。两台收同样的消息,已读状态也同步。
删除是真的删吗?
是。删单条或清空一个频道,本机和服务端都删。
其他作品
微信内无法打开 App Store
点右上角的三个点,选择「在浏览器中打开」。