
这两天,我把一条链路彻底打通了:
在 OpenClaw 中写文章框架和核心思路 → openclaw大模型润色生成文章 → 自动发布到 Blog → 通过 RSS → 自动同步到微信公众号草稿箱。
不再复制粘贴,不再手工排版,不再盯着图片是否失效。
整条链路,从编辑到分发,完全自动运行。
这篇是完整的操作日记。
一、起点:从 OpenClaw 直接编辑 Blog
核心目标只有一个:
想法是随时出现的,出现后随手写写核心想法扔给openclaw,openclaw读取你的博客了解你的文字风格,将想法生成出完整的博客。
让写作随时谁地完成,自动后台完成发布。
我已经有 Blog(支持 RSS 输出),现在要做的,是把 OpenClaw 变成“写作前端”,Blog 变成“内容源头”,再由程序自动分发。
结构是这样的:
OpenClaw → Blog(生成文章)→ RSS → VPS 脚本 → 微信公众号Blog 只负责两件事:
- 正确生成文章
- 正确输出 RSS
RSS 是桥梁。
二、搭建“云端数据桥梁”:VPS + Python
家里是动态 IP,不稳定,也不适合长期对接微信 API。
于是我租了一台固定公网 IP 的 VPS(成本几十块),专门干三件事:
- 定时读取 Blog RSS
- 处理文章正文
- 调用微信 API 推送草稿
环境准备
在 VPS 上:
- 安装 Python
- 创建虚拟环境
- 安装核心库
核心依赖:
pip install feedparser requests用途分别是:
- feedparser:解析 RSS
- requests:调用微信 API
三、微信 API 鉴权机制(Token 自动管理)
微信接口有两个核心限制:
- access_token 有效期 2 小时
- 调用频率有限制
我的解决方案很简单:
1️⃣ IP 白名单
在微信公众号后台:
将 VPS 公网 IP 加入白名单
否则所有接口调用直接失败。
2️⃣ 自动 Token 刷新机制
写了一个 Token 管理函数:
逻辑:
- 每 90 分钟请求一次新的 access_token
- 本地缓存
- 调用接口时直接读取缓存
伪逻辑结构:
def get_access_token():
if token未过期:
return 本地token
else:
请求微信API获取新token
保存到本地
返回token这样:
- 不会频繁请求
- 不会过期报错
- 完全自动
四、真正的坑:图片“防盗链”问题
这是整条链路里最折磨人的一段。
直接把 RSS 的 HTML 推给微信?
结果:
图片全部失效。
原因很简单:
微信不会直接引用外部图片地址。
必须走官方素材接口。
五、图片中转逻辑:脚本扮演“搬运工”
完整流程如下:
第一步:提取 HTML 中的图片
脚本:
- 读取 RSS 最新文章
- 用正则匹配
标签
- 提取所有图片 URL
第二步:下载图片到内存
不落地磁盘,直接用 requests 下载到内存。
第三步:上传到微信素材库
调用接口:
新增永久素材 API
微信返回一个新的:
wx_fmt 图片链接这是微信自己的 CDN 地址。
第四步:正文替换
将:
原始图片URL全部替换为:
微信返回的新URL到这一步:
正文已经是“微信专用版”。
六、提交到公众号草稿箱
最后一步:
通过 POST 请求调用:
微信草稿接口
提交内容包括:
- 标题
- 作者
- 封面图
- 替换后的 HTML 正文
如果是认证服务号,可以直接调用群发接口。
我的策略是:
先推送到草稿箱,人工审核后再发布。
安全、可控。
七、整条自动化链路的最终形态
现在流程是:
1. 在 OpenClaw 写文章
2. 自动发布到 Blog
3. RSS 自动更新
4. VPS 定时脚本检测到新文章
5. 图片中转处理
6. 自动推送到微信公众号草稿箱全程无人值守。
八、这件事真正的价值
这不是写了个脚本。
而是建立了一条:
当发布内容不再占用你的大量时间的时候,也就没有了发布内容的门槛,更容易的将某时某刻的想法记录下来。