5分钟让AI帮你发公众号(附避坑指南)
大家好,我是彭涛。今天分享的是,跟 AI 说一句话,文章就自动出现在公众号草稿箱里。完整配置流程 + 所有踩过的坑。
一、配置公众号 API(5分钟)
第1步:获取 AppID 和 AppSecret
登录 mp.weixin.qq.com → 设置与开发 → 基本配置
- AppID:页面直接显示,复制即可
- AppSecret:点「重置」生成新的(只显示一次,务必保存)
第2步:配置 IP 白名单
同页面找到 IP 白名单,加入服务器出口 IP。不加会报 40164 错误。
不知道出口 IP?终端执行:
curl ifconfig.me
如果通过代理上网,要加代理出口 IP,不是本机 IP。
第3步:告诉 AI
把 AppID 和 AppSecret 告诉你的 AI 助手,配置完成。
二、AI 发文完整流程
你只需说:「帮我写一篇 xxx 的文章,推到公众号草稿箱。」
AI 自动完成 4 个步骤:
- 获取 access_token — AppID + AppSecret 换临时令牌(2小时有效)
- 上传图片到微信素材库 — 公众号只认 mmbiz.qpic.cn 域名的图片
- 生成文章 HTML — 公众号本质是 HTML 渲染
- 推送到草稿箱 — 调用 draft/add 接口
你的工作:打开草稿箱 → 预览 → 发布。
三、最大的坑:中文乱码
第一次推送「成功」后,打开草稿箱看到的是标题、正文所有中文全变成了 \u4eca\u5929 这种转义码。
原因:Python requests 发 JSON 时默认 ensure_ascii=True,所有中文被转成 \uXXXX。微信公众号 API 不会自动解码——直接当原始文本存进去了。
错误写法(会乱码):
# 中文会变成 \uXXXX
requests.post(url, json=data)
正确写法(解决乱码):
# 手动序列化,保留中文原文
requests.post(
url,
data=json.dumps(data, ensure_ascii=False).encode("utf-8"),
headers={"Content-Type": "application/json"}
)
两个关键参数:
ensure_ascii=False:保留中文原文,不转义.encode("utf-8"):以 UTF-8 字节发送
四、其他踩坑记录
| 坑 | 原因 | 解决 |
|---|---|---|
| 标题太长报 45003 | 微信标题限制约 64 字节(约20个中文字) | 缩短标题 |
| 图片不显示 | 公众号过滤所有非微信域名图片 | 先 uploadimg 到微信素材库 |
| HTML 标签渲染异常 | 公众号对 h2/ul/li/code 渲染不稳定 | 全部用 p + inline style |
| IP 白名单不生效 | 通过代理访问微信 API | 白名单要加代理出口 IP |
五、效果对比
| 以前 | 现在 | |
|---|---|---|
| 写稿 | 1小时 | AI 生成 |
| 排版 | 30分钟 | 自动 HTML |
| 配图 | 20分钟 | 自动上传 |
| 检查 | 10分钟 | 5分钟 |
| 合计 | 2小时 | 10分钟 |
节省 90% 时间。
六、搭建步骤
npm install -g openclaw && openclaw onboard
- 去 aigocode.com 注册拿 API Key
- 连接 Telegram bot
- 告诉 AI 公众号 AppID 和 AppSecret
- 说一句话,文章自动进草稿箱


