这篇文章专门讲一件事:
如何在大龙虾(OpenClaw)里,把“写公众号文章 + 配图 + 推送草稿”做成自动流程。
目标不是“能跑一次”,而是“每天稳定跑”。
一、先准备 4 个关键参数
在开始前,你需要这几个变量:
WECHAT_APPID:公众号 AppIDWECHAT_SECRET:公众号 AppSecretREPLICATE_API_KEY:用于 AI 生成配图WECHAT_AUTHOR:文章作者(可选)
建议全部放到 .env 文件,不要写死在代码里。
二、在项目里配置环境变量
以 wechat-ai-publisher 为例:
1 | cd /path/to/wechat-ai-publisher |
然后编辑 .env:
1 | WECHAT_APPID=你的appid |
三、加载配置并验证 token
1 | set -a |
如果返回的是有效 access_token,说明公众号接口认证已通。
四、真实踩坑:errcode 40164(IP 不在白名单)
这次实测发布时,流程卡在获取 token:
- 错误码:
40164 - 典型报错:
invalid ip ... not in whitelist - 本质原因:公众号后台启用了 IP 白名单,而当前自动化执行出口 IP 没有加入白名单。
下面这张图是公众号后台里白名单入口的位置(安全中心 → IP 白名单):

而在执行侧,你会看到类似这样的报错提示:

怎么修复
- 在公众号后台把当前执行环境的出口 IP 加入白名单;
- 等待配置生效后,重新执行
get_wechat_token; - token 获取成功后再执行
publish_article。
建议把“白名单校验”加到你的发布前检查清单里,避免定时任务夜间静默失败。
五、执行发布链路(建议先发草稿)
典型流程:
- 采集热点
- 生成文章 HTML
- 生成封面图
- 上传素材
- 创建草稿
- 需要时再提交发布
示例:
1 | content_html=$(cat ./content.html) |
六、在 OpenClaw 里做定时自动发布
你可以用 cron 每天触发一次:
1 | openclaw cron add \ |
查看任务:
1 | openclaw cron list |
删除任务:
1 | openclaw cron delete --name "wechat-ai-daily" |
七、上线前的 5 个检查点
get_wechat_token返回正常 token(不是null)- 公众号接口权限已开通(草稿/发布相关接口)
- 服务器出口 IP(如有白名单要求)已配置
.env已加入.gitignore,避免密钥泄露- 发布失败时有兜底策略(比如默认封面)
八、我踩过的坑(你可以直接避开)
- 本地能生成文章,不代表微信接口权限就够
- commit 成功,不代表文章已经对外发布
- 自动化流程最怕“半自动”:建议把验收写成固定清单
结语
大龙虾真正的价值,不是“帮你写一篇”,而是把“写作—配图—发布”做成可复用流水线。
把配置和验收标准一次性做对,你会发现公众号更新这件事会轻很多。