NotifyMe:面向AI代理和服务更新的自托管通知应用
NotifyMe 是一款开源的、自托管的通知应用,旨在为开发者和AI代理提供个人webhook URL,将通知直接推送到手机。它基于Flutter和Firebase构建,支持监控长时间运行的任务,如Claude Code、CI管道等。用户可部署到自己的Firebase项目,确保数据隐私。
NotifyMe 是一款开源的、自托管的通知应用,为开发者和AI代理提供了一种简单直接的通知解决方案。它类似于 Pushover 或 ntfy,但完全由用户自己控制基础设施。每个用户获得一个唯一的webhook URL,通过HTTP POST请求即可将通知推送到绑定的手机设备上。
该应用专为监控长时间运行的任务而设计,例如 Claude Code、Codex CLI、n8n 工作流、GitHub Actions 以及各种CI管道。其工作流非常简单:发送POST请求到webhook → 手机收到推送通知 → 打开应用查看详细信息。整个过程端到端加密,因为整个后端部署在用户自己的Firebase项目中,没有第三方服务器介入。
NotifyMe 由 Flutter 客户端和 Firebase 后端组成。后端使用 Cloud Functions 接收webhook请求,将通知存储在 Firestore 中,并通过 Firebase Cloud Messaging (FCM) 推送。Flutter 应用提供收件箱视图,按日期分组,并有颜色编码的状态(成功、错误、警告、信息),支持搜索和标记已读。通知可以包含一个可选的URL,点击后直接跳转到相关的页面。
项目MVP已经实现了从webhook到手机通知的完整流程。计划中的v2版本将添加通知规则、优先级、Bearer token验证、多项目支持和团队共享功能。NotifyMe 还支持两种webhook负载格式:简单的原生JSON和 Atlassian Statuspage 格式,因此可以直接订阅 Claude 等服务的状态更新,将服务事件作为通知接收。
该项目提供了详细的快速入门指南,帮助用户在几分钟内完成部署。所有代码以MIT许可证开放,鼓励社区贡献。安装步骤包括配置Firebase项目、部署Cloud Functions、配置Flutter应用等。示例文件夹中包含了针对Claude Code、GitHub Actions等工具的即用型发送脚本。
总的来说,NotifyMe 为需要自定义、私密通知机制的开发者和团队提供了一个强大的自托管方案。