起因是不想再为“每天查一下某某有没有更新”这种轻需求付订阅费。一天跑一次,多数时候什么都不用说;真有事的时候希望它在微信或 Telegram 里来找我,而不是我再去开一个 app 看。
所以做法是让 bot 跑在你自己的 Cloudflare 账号上,免费套餐就够。
技术上几个点:
- 对话、任务、bot 都是 Durable Objects ,SQLite 存储。默认模型是 Workers AI 的 Gemma 4 26B ,不用填任何 key 。
- 免费额度每天 10,000 neurons 。用完不会扣费,是暂停到 UTC 0 点(北京时间早上 8 点)。付费账号才按量计费。
- 底层是 pi-durable ( MIT ,@earendil-works/pi-durable ):每一步先写进存储再展示,进程被打断就从最后一次提交继续;同一个请求重发返回原结果,不会执行两次。工具调用和审批同理。
- 通道 Telegram 或微信,同一时间只能开一个。两边都能收图片和语音:微信的语音直接用协议里服务端识别好的文本,不下载音频也不做 SILK 解码; Telegram 的语音转写一遍。
- 可以接远程 MCP ( Streamable HTTP / SSE ),只读工具直接跑,写工具先问。本地 npx 起的 stdio 不支持。
几个局限先说清楚:
- 只有 macOS 客户端( Apple silicon ),Windows 还没有。
- 微信走 iLink 扫码,不是官方 bot 接口,所以没有按钮,审批要回「批准 t3 ap1 」这种文字指令。
- 备份导出成 zip 但不加密,里面有记忆和对话,请当敏感文件保管。恢复只能同版本,而且是整体覆盖。
- 免费额度用完那段时间它是真的不发消息,不会帮你兜。
想听的是:这种「自己的账号里跑、免费额度兜底」的模式,你们觉得比订阅制舒服,还是反而更麻烦?