剪藏#Mason的小窝#剪藏

PushGo:开源免费的全能消息推送新选择

2026 年 8 月 31 日1 分钟
分享Twitter / XTelegram微博
PushGo:开源免费的全能消息推送新选择 封面

在服务器运维、智能家居和自动化场景中,稳定可靠的消息推送至关重要。提到轻量级推送工具,很多人会想到Bark或Server酱,但它们各有局限——Bark仅支持苹果生态,Server酱依赖微信生态。今天介绍的PushGo,是一个开源免费、支持全平台、数据结构更丰富的全新选择。

Notion image

一、PushGo 是什么?

PushGo 是一款专为开发者、运维工程师、自托管爱好者和智能家居用户设计的开源推送通知工具。它的核心目标是解决“重要事件需要及时知晓”的问题——无论是服务器宕机告警、脚本执行结果,还是智能家居设备触发,都能通过PushGo快速推送到你的设备上。

它最大的特点在于数据结构更丰富。传统的推送工具只支持“发一条消息”,而PushGo围绕三种模型组织信息,让零散的通知变得结构化、可追溯:

模型 说明 典型场景 消息 基础的一次性通知,支持Markdown格式 脚本执行完成、简单提醒 事件 拥有完整生命周期的数据流,可创建、更新、关闭 服务器故障处理进程、部署任务状态跟踪 对象 融合属性、事件流和通知的复合模型 代表一个服务器、设备或业务系统,聚合其所有变化记录

二、核心功能与特色

1. 全平台支持,一个都不少

PushGo原生支持 iOS、macOS、watchOS 和 Android 四大平台。这意味着无论你用什么手机或电脑,都能收到统一推送。苹果设备利用APNs(Apple Push Notification service)推送,几乎不消耗额外电量;Android平台则在FCM基础上提供了私有协议通道,在FCM不可用时也能工作。

2. 隐私与安全,双重保障

  • 端到端加密(E2EE):参考Bark的实现逻辑,保障内容传输安全。

  • 支持自建网关:PushGo的服务端(PushGo Gateway)完全开源,你可以部署在自己的服务器上,实现数据完全自控。公共网关虽然免费,但自建更适合对隐私有更高要求的场景。

3. 更大的消息容量与可靠性

  • 单条消息最大支持32KB,远超市面同类工具,足以承载详细的日志或报警信息。

  • 内建 pull 和 ack 机制,更好地保证消息触达的可靠性。

4. 面向未来的AI集成

PushGo已经实现了 MCP(模型上下文协议) 支持,完整实现了OAuth2和DCR,可以搭配各类AI Agent使用,让AI助手也能直接调用推送能力。

三、在哪里下载与安装?

PushGo完全开源免费,下载和部署方式灵活:

客户端下载

  • Apple 平台:在 App Store 搜索“PushGo”即可下载(要求 iOS 17.0 / macOS 14.0 或更高版本)。

  • Android 平台:可通过GitHub仓库或官方渠道获取APK安装包。

服务端自建(可选): 如需自建网关,可参考GitHub上的 pushgo-gateway 仓库。基本命令示例:

JAVASCRIPT
# 使用SQLite数据库启动网关(示例)
pushgo-gateway --db-url sqlite:///pushgo.db --http-addr 0.0.0.0:6666

更详细的配置(如PostgreSQL、MCP开关、Token认证等),可查阅官方文档或GitHub仓库说明。

Notion image

Notion image

四、适用场景

场景分类 具体用途 💻 服务器与运维 CPU/内存/磁盘告警、服务宕机通知、证书过期提醒、SSH异常登录告警 📱 应用与开发 CI/CD构建状态、脚本执行结果、爬虫数据抓取完成通知 🏠 智能家居 门锁状态、漏水/烟雾报警、温度异常、扫地机器人完成清扫 🏢 业务系统 异常订单、数据同步错误、系统权限变更通知

五、代码示例:三分钟上手

PushGo的API设计直观,以下是一个简单的Python示例,演示如何通过HTTP请求发送通知(具体接口地址和Token请替换为你自己的):

JAVASCRIPT
import requests
import json

# 替换为你的网关地址和通道/Token信息
gateway_url = "https://api.pushgo.dev/v1/messages"  # 公共网关示例
token = "your_access_token_here"

# 构建一条简单消息
payload = {
    "title""服务器告警",
    "body""CPU使用率已超过90%,请立即检查!",
    # 可选:指定对象、事件ID进行关联
    # "object_id": "web-server-01",
    # "event_id": "cpu-high-20260829"
}

headers = {
    "Authorization": f"Bearer {token}",
    "Content-Type""application/json"
}

response = requests.post(gateway_url, json=payload, headers=headers)

if response.status_code == 200:
    print("推送发送成功!")
else:
    print(f"发送失败:{response.text}")

六、总结

PushGo是一款 “站在巨人肩膀上,又走得更远” 的开源推送工具。它既有Bark式的轻量和免费,又补足了全平台支持数据结构化的短板。无论是个人开发者、运维工程师,还是智能家居爱好者,都能从中受益。

原文地址: https://mp.weixin.qq.com/s?__biz=MzAwNDE5NTkwNA==&mid=2247483760&idx=1&sn=f1e8d7c8731439606555231fdd657571&chksm=9a58cb4d288165cbeb83c3848f47ef621c60958cb85044f03f8b2d3902f0b7dac60ae07ea525&mpshare=1&scene=1&srcid=0831R92buwMPIKNdmQRBp1CY&sharer_shareinfo=276bbba92816d29ecadfed10b7354509&sharer_shareinfo_first=276bbba92816d29ecadfed10b7354509#rd

相关文章