跳到主要内容
Claw101
返回博客列表
2026-02-17
分享:TwitterTelegram

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 个步骤:

  1. 获取 access_token — AppID + AppSecret 换临时令牌(2小时有效)
  2. 上传图片到微信素材库 — 公众号只认 mmbiz.qpic.cn 域名的图片
  3. 生成文章 HTML — 公众号本质是 HTML 渲染
  4. 推送到草稿箱 — 调用 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
  1. 去 aigocode.com 注册拿 API Key
  2. 连接 Telegram bot
  3. 告诉 AI 公众号 AppID 和 AppSecret
  4. 说一句话,文章自动进草稿箱
分享:TwitterTelegram
WeChat QR

关注公众号「彭少」

持续更新 OpenClaw 玩法、AI 编程技巧和效率工具分享。关注不迷路,第一时间获取最新内容。