# 【开源自荐】go-wxpush：极简且免费的微信消息推送服务 (基于golang)

**URL:** <https://meta.appinn.net/t/topic/80958>\
**Category:** 发现频道\
**Created:** [2026 年1 月 26 日 19:25 UTC](https://meta.appinn.net/t/topic/80958 "2026-01-26T19:25:10Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![hzz](https://meta-edge.appinn.com/letter_avatar_proxy/v4/letter/h/b5e925/32.png) [@hzz](https://meta.appinn.net/u/hzz)\
**Post date:** [2026 年1 月 26 日 19:25 UTC](https://meta.appinn.net/t/topic/80958/1 "2026-01-26T19:25:10Z")

</div>

github 地址 [GitHub - hezhizheng/go-wxpush: 极简且免费的微信消息推送服务 (基于golang)](https://github.com/hezhizheng/go-wxpush)

## :sparkles: 特性

✅ 完全免费，下载即使用  
✅ 支持 Docker 一键部署（镜像容器大小仅2MB）  
✅ 每天 10 万次额度，个人用不完  
✅ 真正的微信原生弹窗 + 声音提醒  
✅ 支持多用户  
✅ 提供免费服务[https://push.hzz.cool](https://push.hzz.cool)（请勿滥用）  
✅ 跳转稳定，自带消息详情页面 (默认使用[https://push.hzz.cool/detail](https://push.hzz.cool/detail), 可自己部署后使用参数替换)

## :warning: 部署条件 (具体可查看[github](https://github.com/hezhizheng/go-wxpush))

- [微信公众平台接口测试帐号申请](https://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login)

- 获取appid 、appsecret

- 关注测试公众号，获取userid(微信号)，新增测试模板(注意模版内容填写格式 `内容: {{content.DATA}}`) 获取template\_id(模板ID)

- 将以上获取到的参数代入下面使用即可

## :rocket: 部署指南

### [下载编译好的文件启动](https://github.com/hezhizheng/go-wxpush/releases/)

- 启动参数
  - 命令行启动参数(可不加，启动之后直接在url上拼接参数也可) `./go-wxpush_windows_amd64.exe -port "5566" -title "测试标题" -content "测试内容" -appid "xxx" -secret "xxx" -userid "xxx-k08" -template_id "xxx-Ks_PwGm--GSzllU" -base_url "https://push.hzz.cool"`
  - url请求参数(get) `与命令行参数名称一致` `/wxsend?appid=xxx&secret=xxx&userid=xxx-k08&template_id=xxx-Ks_PwGm--GSzllU&base_url=https://push.hzz.cool&content=保持微笑，代码无 bug！`

## 🗭 默认消息详情页

服务启动成功后会自带消息详情页界面(即消息模板跳转的页面)，访问地址 `http://127.0.0.1:5566/detail` ，如有公网地址，可设置base\_url参数为对应的host即可(无需加/detail)。

## :gear: API 使用方法

服务部署成功后，您可以通过构造 URL 发起 `GET` 请求来推送消息。

### 请求地址

```auto
http://127.0.0.1:5566/wxsend

```

### 请求参数

| 参数名 | 类型 | 是否必填 | 描述 |
| --- | --- | --- | --- |
| `port` | String | 否 | 指定启动端口(仅针对命令行) |
| `title` | String | 是 | 消息的标题。 |
| `content` | String | 是 | 消息的具体内容。 |
| `appid` | String | 否 | 临时覆盖默认的微信 AppID。 |
| `secret` | String | 否 | 临时覆盖默认的微信 AppSecret。 |
| `userid` | String | 否 | 临时覆盖默认的接收用户 OpenID。 |
| `template_id` | String | 否 | 临时覆盖默认的模板消息 ID。 |
| `base_url` | String | 否 | 临时覆盖默认的跳转 URL。 |

### 使用示例

**基础推送**

向默认配置的所有用户推送一条消息：

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

```

**临时覆盖用户**

向一个临时指定的用户推送消息：

```auto
http://127.0.0.1:5566/wxsend?title=私人提醒&content=记得带钥匙&userid=temporary_openid_here

```

### Webhook / POST 请求

除了 `GET` 请求，服务也支持 `POST` 方法，更适合用于自动化的 Webhook 集成。

**请求地址**

```auto
http://127.0.0.1:5566/wxsend

```

**请求方法**

```auto
POST

```

**请求头 (Headers)**

```json
{
  "Content-Type": "application/json"
}

```

**请求体 (Body)**

请求体需要是一个 JSON 对象，包含与 `GET` 请求相同的参数。

```json
{
  "title": "Webhook 通知",
  "content": "这是一个通过 POST 请求发送的 Webhook 消息。"
}

```

**使用示例 (cURL)**

```bash
curl --location --request POST 'http://127.0.0.1:5566/wxsend' \
--data-raw '{
    "title": "来自 cURL 的消息",
    "content": "自动化任务已完成。"
  }'

```

### 成功响应

如果消息成功发送给至少一个用户，服务会返回 `"errcode": 0` 状态码。

### 失败响应

如果发生错误（如 token 错误、缺少参数、微信接口调用失败等），服务会返回相应的状态码和错误信息。
