在大龙虾(OpenClaw)中配置自动发布微信公众号文章:完整实战

这篇文章专门讲一件事:

如何在大龙虾(OpenClaw)里,把“写公众号文章 + 配图 + 推送草稿”做成自动流程。

目标不是“能跑一次”,而是“每天稳定跑”。

一、先准备 4 个关键参数

在开始前,你需要这几个变量:

  • WECHAT_APPID:公众号 AppID
  • WECHAT_SECRET:公众号 AppSecret
  • REPLICATE_API_KEY:用于 AI 生成配图
  • WECHAT_AUTHOR:文章作者(可选)

建议全部放到 .env 文件,不要写死在代码里。

二、在项目里配置环境变量

wechat-ai-publisher 为例:

1
2
cd /path/to/wechat-ai-publisher
cp .env.example .env

然后编辑 .env

1
2
3
4
WECHAT_APPID=你的appid
WECHAT_SECRET=你的secret
REPLICATE_API_KEY=你的replicate_key
WECHAT_AUTHOR=Jerry

三、加载配置并验证 token

1
2
3
4
5
set -a
source .env
set +a
source ./scripts.sh
get_wechat_token

如果返回的是有效 access_token,说明公众号接口认证已通。

四、真实踩坑:errcode 40164(IP 不在白名单)

这次实测发布时,流程卡在获取 token:

  • 错误码:40164
  • 典型报错:invalid ip ... not in whitelist
  • 本质原因:公众号后台启用了 IP 白名单,而当前自动化执行出口 IP 没有加入白名单。

下面这张图是公众号后台里白名单入口的位置(安全中心 → IP 白名单):

公众号安全中心-IP白名单入口

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

发布报错-errcode40164

怎么修复

  1. 在公众号后台把当前执行环境的出口 IP 加入白名单;
  2. 等待配置生效后,重新执行 get_wechat_token
  3. token 获取成功后再执行 publish_article

建议把“白名单校验”加到你的发布前检查清单里,避免定时任务夜间静默失败。

五、执行发布链路(建议先发草稿)

典型流程:

  1. 采集热点
  2. 生成文章 HTML
  3. 生成封面图
  4. 上传素材
  5. 创建草稿
  6. 需要时再提交发布

示例:

1
2
content_html=$(cat ./content.html)
publish_article "今天的 AI 热点解读" "$content_html" "未来科技风封面" "AI 热点日报"

六、在 OpenClaw 里做定时自动发布

你可以用 cron 每天触发一次:

1
2
3
4
5
6
openclaw cron add \
--name "wechat-ai-daily" \
--cron "0 9 * * *" \
--tz "Asia/Shanghai" \
--session isolated \
--message "发布AI热点;不要提问,直接执行"

查看任务:

1
openclaw cron list

删除任务:

1
openclaw cron delete --name "wechat-ai-daily"

七、上线前的 5 个检查点

  1. get_wechat_token 返回正常 token(不是 null
  2. 公众号接口权限已开通(草稿/发布相关接口)
  3. 服务器出口 IP(如有白名单要求)已配置
  4. .env 已加入 .gitignore,避免密钥泄露
  5. 发布失败时有兜底策略(比如默认封面)

八、我踩过的坑(你可以直接避开)

  • 本地能生成文章,不代表微信接口权限就够
  • commit 成功,不代表文章已经对外发布
  • 自动化流程最怕“半自动”:建议把验收写成固定清单

结语

大龙虾真正的价值,不是“帮你写一篇”,而是把“写作—配图—发布”做成可复用流水线。

把配置和验收标准一次性做对,你会发现公众号更新这件事会轻很多。

 wechat
欢迎关注『程序员在读书』
坚持原创技术分享,您的支持将鼓励我继续创作!