开源免费的微信消息推送服务、10万次额度+2MB镜像,开发者福音

微信消息推送

作为一名开发者,你一定遇到过这样的场景:

  • • 服务器半夜报警,需要第一时间通知
  • • 自动化脚本跑完任务,想知道结果
  • • 个人博客有新评论,想及时收到提醒
  • • NAS、路由器、树莓派这些设备需要状态监控

最直接的方案当然是——发微信。但问题来了:怎么发?

企业微信认证太麻烦,第三方服务收费不菲,自己写又要搞懂微信的整套 API、Token 刷新、模板消息规则……光是看文档就能劝退不少人。

最近发现一个开源项目 go-wxpush,用 Go 语言写的,完美解决了这个问题:极简部署、完全免费、每天10万次额度,而且 Docker 镜像才 2MB。

img

 

今天就带你拆解这个工具,5 分钟上手。

核心特性

先上结论,这个工具的几个杀手锏:

特性 说明 对开发者的价值
完全免费 基于微信测试公众号 个人和小团队零成本
部署极简 Docker 镜像仅 2MB 秒启动,资源占用极低
超高额度 每天 10 万次推送 个人项目根本用不完
原生体验 微信原生弹窗+声音提醒 和普通消息无差别
多用户支持 可配置多个接收人 团队协作友好
自带详情页 消息点击可查看详情 适合展示完整日志

三步搞定微信测试账号

正式部署前,需要先搞定微信这边的配置。别担心,5 分钟就能搞定。

第一步:申请测试公众号

打开这个链接:https://mp.weixin.qq.com/debug/cgi-bin/sandbox

扫码登录后会看到一个测试号管理界面,这里有两个关键信息:

    
    
    
  - appID:类似 `wx1234567890abcdef` 的字符串
- appsecret:一串加密字符串

img

 

第二步:获取你的 UserID

在测试号页面下方有个"用户列表"区域,用你的微信扫描页面上的二维码,扫码后你的微信号就会出现在列表中,格式通常类似 oXXXXXX-xxxx

这个 UserID 就是消息接收者的唯一标识。

img

 

第三步:创建消息模板

在测试号页面的"新增测试模板"处,创建一个模板。关键点来了

模板内容必须按这个格式填写:

    
    
    
  内容: {{content.DATA}}

注意!不要只填 {{content.DATA}},前面必须加个"内容:"或者其他文字,否则推送会不显示内容!

创建成功后会得到一个 template_id,记下来,后面要用。

img

 

img

 

这样你就获得了

appid

secret

userid

template_id

把值复制出来备用。

部署方式

准备好上述参数后,就可以部署服务了。项目提供了三种方式:

方式一:Docker 一键部署(推荐)

这是最推荐的方式,镜像只有 2MB,秒启动。

    
    
    
  # 重新部署请先拉一遍最新的镜像
docker pull hezhizheng/go-wxpush:v4

# 参数格式与终端启动保持一致, 替换成实际值即可

docker run -it -d -p 5566:5566 --init --name go-wxpush4 hezhizheng/go-wxpush:v4 \
-port "5566" \
-title "测试标题5566" \
-content "测试内容5566" \
-appid "xxx" \
-secret "xxx" \
-userid "xxx-k08" \
-template_id "xxx-Ks_PwGm--GSzllU" \
-tz "Asia/Shanghai"

星哥实测:

    
    
    
  [root@xxxx ~]# curl http://127.0.0.1:5566/wxsend?title=服务器通知&content=服务已于北京时间%2026:00%20重启
[1] 15196
[root@xxxx ~]# {"errcode":0,"errmsg":"ok"}

效果:

img

 

方式二:直接下载编译好的文件(最简单)

项目在 Releases 页面提供了编译好的可执行文件,支持 Windows、macOS、Linux 多平台。

下载后直接运行:

    
    
    
  ./go-wxpush_windows_amd64.exe -port "5566" \
  -title "测试标题" \
  -content "测试内容" \
  -appid "你的appID" \
  -secret "你的appsecret" \
  -userid "你的UserID" \
  -template_id "你的template_id" \
  -base_url "https://push.hzz.cool"

方式三:自行编译(完全控制)

如果你需要自定义或者想学习源码,可以直接编译:

    
    
    
  # 安装 gox 工具
go install github.com/mitchellh/gox@latest

# 生成各平台可执行文件
gox -osarch="windows/amd64" -ldflags "-s -w"
gox -osarch="linux/amd64" -ldflags "-s -w"
gox -osarch="darwin/amd64" -ldflags "-s -w"

API 使用:GET 和 POST 都支持

服务启动后,默认监听 5566 端口,推送接口非常简单。

GET 请求(适合快速测试)

    
    
    
  http://127.0.0.1:5566/wxsend?title=服务器通知&content=服务已于北京时间%2022:00%20重启

参数说明:

参数 必填 说明
title 消息标题
content 消息内容
appid 微信测试号 appID
secret 微信测试号 appsecret
userid 接收者 UserID
template_id 消息模板 ID
base_url 消息详情页跳转地址
tz 时区(默认东八区)

POST 请求(适合 Webhook 集成)

更适合自动化场景,比如 GitHub Actions、CI/CD、服务器监控等。

    
    
    
  curl --location --request POST 'http://127.0.0.1:5566/wxsend' \
--header 'Content-Type: application/json' \
--data-raw '{
  "title": "Webhook 通知",
  "content": "自动化任务已完成。",
  "appid": "你的appID",
  "secret": "你的appsecret",
  "userid": "你的UserID",
  "template_id": "你的template_id"
}'

响应结果

成功时返回:

    
    
    
  {
  "errcode": 0,
  "errmsg": "ok"
}

失败时会返回对应的错误码和错误信息。

实战场景

理论说完了,来点实际应用场景:

场景一:服务器监控报警

写个简单的监控脚本,CPU 超过 80% 时触发推送:

    
    
    
  #!/bin/bash
CPU_USAGE=$(top -bn1 | grep "Cpu(s)" | sed "s/.*, *\([0-9.]*\)%* id.*/\1/" | awk '{print 100 - $1}')

if (( $(echo "$CPU_USAGE > 80" | bc -l) )); then
  curl "http://127.0.0.1:5566/wxsend?title=⚠️服务器报警&content=CPU使用率:${CPU_USAGE}%"
fi

场景二:CI/CD 通知

在 GitHub Actions 中添加推送步骤,构建完成自动通知:

    
    
    
  - name: 发送微信通知
  run: |
    curl -X POST http://your-server:5566/wxsend \
      -H "Content-Type: application/json" \
      -d '{
        "title": "✅ 构建成功",
        "content": "项目 ${{ github.repository }} 分支 ${{ github.ref }} 构建完成"
      }'

场景三:自动化脚本结果

每天定时跑的数据分析脚本,跑完推送结果:

    
    
    
  import requests

def send_notification(title, content):
    url = "http://127.0.0.1:5566/wxsend"
    params = {
        "title": title,
        "content": content
    }
    requests.get(url, params=params)

send_notification("📊 数据分析完成", "今日新增用户: 123, 活跃用户: 456")

友情提醒

  1. 1. 测试号限制:使用的是微信测试公众号,扫描人数限制在 100 人,但个人和小团队完全够用
  2. 2. 模板格式:再次强调,模板内容一定要加前缀,比如"内容: {{content.DATA}}"
  3. 3. 不要滥用公共服务:虽然作者提供了免费服务,但建议自行部署,避免给别人带来压力
  4. 4. 时区问题:默认使用东八区,如果需要其他时区,可以通过 tz 参数设置

总结

写文不易,如果你都看到了这里,请点个赞和在看,分享给更多的朋友;也别忘了关注星哥玩云!这里有满满的干货分享,还有轻松有趣的技术交流~点个赞、分享给身边的小伙伴,一起成长,一起玩转技术世界吧! 😊

go-wxpush 这个项目虽然小,但解决了开发者的真实痛点:简单、免费、可靠

如果你正在为微信消息推送发愁,不妨试试这个方案。5 分钟就能搭建起来,从此告别监控盲区。

项目地址:https://github.com/hezhizheng/go-wxpush

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐