乐于分享
好东西不私藏

OpenClaw 测试文章|QClaw * 微信公众号自动发布实战|《法律人学习AI指南》(五)

OpenClaw 测试文章|QClaw * 微信公众号自动发布实战|《法律人学习AI指南》(五)
《OpenClaw 微信公众号自动发布测试文章》
这是一篇由 OpenClaw 自动生成并推送的测试文章,用于验证微信公众号草稿箱功能是否正常工作。
功能验证清单
本文测试以下几个核心功能点:
  • ✅ 本地图片自动上传到微信素材库
  • ✅ 图片链接自动替换为微信可访问链接
  • ✅ 封面图正确上传并关联
  • ✅ 草稿箱文章成功创建
测试图片展示
第一张图:自然风景示意
第二张图:科技感示意
第三张图:暖色调示意
结语
如果这篇文章成功出现在你的微信公众号草稿箱里,说明整个自动化发布链路已打通,后续可以放心使用!
本文由 OpenClaw 自动化任务生成 | 测试时间:2026-03-27


《正文开始》
今天这篇文章,是(《法律人学习AI指南》)的第五篇。我要分享的是:
如何让 AI 自动写好文章,"一键推送"到微信公众号草稿箱,全程无需手动操作。
问题的起点:发布公众号的痛苦
写公众号文章,对法律人来说本来不难。但真正痛苦的,是发布这个动作本身 。
我的文章通常有这几步:
  1. 在本地用 Markdown/HTML 写好文章(含配图)
  2. 登录微信公众号后台
  3. 复制正文,粘贴到编辑器
  4. 最痛苦的环节:逐张上传本地图片到素材库,然后手动替换文章中的图片链接
  5. 上传封面图、填写摘要、设置作者
  6. 保存为草稿,手动检查预览
如果一篇文章有五六张配图,这套流程下来要花 20-30 分钟。而且特别容易出错:图片链接错位、封面图不显示、正文排版乱掉……
我希望:写完文章 → 点一下 → 直接出现在草稿箱。
这个需求不复杂,但目前市面上没有特别好的现成方案。微信官方没有提供本地文章直接推送的接口。于是,我决定自己动手。
工具选型:为什么是 QClaw
QClaw 是我日常使用的 AI 助手平台,它背后是 OpenClaw 架构,支持自定义任务流(Task)。这意味着我可以把"写作+发布公众号"这件事,定义成一个可复用的自动化任务,随时触发,不需要写复杂的脚本。
微信公众号官方其实提供了几个 HTTP 接口:
 `GET /cgi-bin/token` — 获取接口凭证(AccessToken
`POST /cgi-bin/draft/add` — 创建草稿箱文章
核心难点只有一个:如何让这些接口和本地文件无缝衔接。
实战:全流程复盘
下面这段记录,是我今天用 QClaw 完整实现这个功能的过程,没有删减、没有美化,就是真实的开发过程。

第一步:配置微信公众号开发者凭证
这是所有操作的前置条件。需要:
  1. 登录 微信公众平台/微信开发者平台
  2. 进入 设置与开发 → 基本配置
  3. 获取 AppID 和 AppSecret
  4. 重点:将当前设备的 IP 地址加入 IP白名单(如果不会也没有关系,QClaw会告诉你怎么做,可以等报错后再执行

⚠️ 个人订阅号完全可以正常使用这些接口,关键是要加白名单。
第二步:理解核心流程
整个流程如下:
  1. 读取本地 HTML 文章
  2. 扫描文章内所有本地图片
  3. 上传图片到微信素材库,获取 mmbiz 图片链接
  4. 替换文章中的图片链接
  5. 上传封面图,获取 thumbmediaid
  6. 调用微信接口创建草稿箱文章
第三步:遇到问题,逐一排查解决
问题一:IP 白名单拦截
Error: invalid ip *.*.*.*, not in whitelist (40164) 
这个报错很清楚,是 IP 不在白名单里。将本机 IP 添加到公众号后台白名单后,立即通过。
问题二:图片路径解析错误
一开始脚本用的是路径解析问题。后来修正为以文章文件所在目录为基准的相对路径解析,问题解决。
问题三:创建草稿时响应截断
图片替换后的 HTML 较大时,HTTP 响应出现解析错误。修复方法:精确设置请求头:Content-Length。
第四步:完整验证
修复后,完整流程成功跑通:
✅ AccessToken 获取成功 ✅ 3张本地图片上传成功(自动替换链接) ✅ 封面图上传成功 ✅ 草稿创建成功
现在,只需要把写好的 HTML 文件放到指定目录,执行脚本,几秒钟后文章就出现在公众号草稿箱里了。
技术科普:这套方案的核心原理
什么是 AccessToken?
微信 API 的"进门证"。微信服务器需要确认"是谁在调用接口",AccessToken 就是这个身份凭证。有效期 2 小时,每次调用接口前需要刷新。
为什么图片链接必须替换?
微信公众号编辑器只认微信自己的图片链接。本地图片链接或本地相对路径在手机上完全无法显示。必须先把图片上传到微信的素材库,获取微信分配的链接,再替换到文章里。
为什么只创建草稿,不自动发布?
微信有两个接口:
`/draft/add`(创建草稿)— 个人号可用,官方开放
`/freepublish/submit`(自动群发)— 需要认证企业号,个人号无法调用
这套方案只做草稿推送,最终发布还是需要在公众号后台手动点击"群发"。这是合规的做法,不会触发任何封号风险。
图片缓存是什么机制?
每次上传图片,脚本会计算图片内容的 MD5 哈希。如果 3 天内上传过完全相同内容的图片,直接复用之前的链接,不再重复上传。节省接口调用次数,也节省时间。
法律人可以用它做什么?
  • 案例分析文章:从案例库里整理好素材,写成文章,一键推送
  • 法律科普专栏:定期更新,不需要每次都手动排版上传
  • 团队内部分享:将内部培训材料快速转成公众号文章
  • 法律产品介绍:制作精美的图文内容,高效发布
核心价值在于: 把发布这件事自动化后,你只需要专注内容本身。
下一步:还可以怎么扩展?
  • Markdown 直接支持:稍加配置可以支持 .md 文件,无需手动转 HTML
  • AccessToken 本地缓存:减少重复获取接口调用
  • 批量发布:一个目录下多篇文章,循环执行,批量发布
  • 发布后自动通知:发布成功后自动推送微信ClawBot/飞书通知
文末福利:工具包获取
如果你觉得这篇文章有用,想立刻在自己的 QClaw 里用上这个功能,我为你准备了完整工具包(无敏感信息,附详细使用说明):
工具包包含:
  • `wechat-publish.task.js` — 核心脚本(带完整中文注释)
  • `wechat-publish.task.yaml` — OpenClaw 任务配置文件
  • `.env.example` — 配置模板
  • 示例 HTML 文章和配图
  • 详细使用说明文档
获取方式:
关注我的公众号,回复关键词:公众号自动化工具包 即可获取 .zip 文件下载地址。
使用方法:
1.方法一:(推荐方法)创建一个文件夹,下载zip至创建的文件夹,复制文件夹路径,打开QClaw,输入以下内容:“阅读「文件夹路径」这个文件夹内的zip文件,为我实现同样功能。“即可。
2.方法二:解压后按照 `README.md` 说明配置,即可马上使用。