OpenClaw Skill 实现公众号自动排版
每当写完公众号文章,最痛苦的不是写作本身,而是排版。
把飞书文档的内容复制到微信后台,格式全乱了,一篇文章要调半小时。
这个痛,运营过公众号的人都懂。
整体工作流
飞书文档定稿
↓ 转发链接给 AI
OpenClaw(xiaohu-wechat-format)
↓ 读取文件 → 分析结构 → 生成 HTML
微信兼容排版 + 图片上传
↓ 可选
推送到公众号草稿箱
↓
你只需点「发送」
你只需要做两件事:写完文章 + 说一句话。
一、安装技能
在飞书对话框向 AI 发送指令:
帮我安装 xiaohu-wechat-format 公众号排版工具
AI 将自动完成:
- 克隆 GitHub 仓库到本地
- 安装 Python 依赖(markdown、requests)
- 初始化配置文件
你什么都不用管,等几秒就行。
二、配置微信公众号 API
这一步需要你打开微信公众平台开发者后台,操作两件事:
2.1 查 AppID 和 AppSecret
进入「设置与开发 → 基本配置」,复制 AppID 和 AppSecret,发给 AI:
公众号 AppID:xxxx,AppSecret:xxxx
AI 自动写入配置文件。
2.2 添加 IP 白名单
在 AI 对话框输入:
需要配置微信公众号 API IP 白名单,告诉我地址
AI 会直接告诉你你的公网 IP,然后你打开:
微信后台 → 设置 → 基本配置 → IP 白名单 → 添加这个 IP
完成后说「已添加」,AI 确认连接正常。
获取本机公网 IP
⚠️ 家庭宽带 IP 会变,发布报 IP 错误时重新获取并更新白名单即可。
macOS:
curl -s https://httpbin.org/ip | python3 -c "import sys,json; print(json.load(sys.stdin)['origin'])"
# 或者
curl -s https://ifconfig.me
Windows(PowerShell):
(Invoke-WebRequest -Uri "https://ifconfig.me" -UseBasicParsing).Content.Trim()
# 或者
(Invoke-RestMethod -Uri "https://httpbin.org/ip").origin
Linux:
curl -s https://ifconfig.me
# 或者
curl -s https://httpbin.org/ip | python3 -c "import sys,json; print(json.load(sys.stdin)['origin'])"
三、使用方式
安装配置好之后,使用就非常简单了。
一键推送到草稿箱
配置好 AppID/AppSecret 后,直接说:
把这篇文章推送到公众号草稿箱,(可以在这里说使用什么主题)
AI 自动完成:排版文章 → 上传图片到微信 CDN → 创建草稿。
你只需要打开微信后台 内容管理 → 草稿箱,确认内容没问题,点「发送」。
四、推荐主题
| 场景 | 推荐主题 | 风格 |
|---|---|---|
| 技术教程 / 代码类 | github | 开发者风 |
| 知识分享 / 科技产品 | bytedance | 科技现代 |
| 深度长文 / 经验分享 | newspaper、magazine | 纽约时报风 |
| 知识科普 / 日常推送 | sspai | 清新简洁 |
| 文艺随笔 | coffee-house、terracotta、mint-fresh | 暖调文艺 |
五、故障排查
5.1 问题:exec 审批一直弹窗
原因:OpenClaw 3.31+ 版本重构了安全审批机制,需要在 openclaw.json 中显式声明 tools.exec 配置。
解决:编辑 ~/.openclaw/openclaw.json,在 tools 字段下添加:
{
"tools": {
"exec": {
"security": "full",
"ask": "off"
}
}
}
修改后需重启 OpenClaw 服务使配置生效:
openclaw gateway restart
5.2 问题:代码块排版显示乱码
现象:代码块里出现了 class="language-bash"、style="color:#6a9955" 等原始字符。
根因:format.py 的 _basic_syntax_highlight 函数在处理含 nl2br 的代码块时,HTML 标签被正则误匹配——字符串和注释的正则把 <br> 标签内容和 HTML 属性值(如 color:#6a9955)当作文本高亮了,导致 HTML 结构被破坏。
修复:重写 _basic_syntax_highlight 函数,改为逐字符解析——遇到 < 字符时直接跳过整个标签,只对标签之间的纯文本做语法高亮。
涉及修改的文件:scripts/format.py(_basic_syntax_highlight 函数)
5.3 问题:发布报 IP 错误
原因:家庭宽带公网 IP 变了。
解决:重新获取公网 IP,更新微信后台 IP 白名单(见上方「获取本机公网 IP」章节)。
更多推荐


所有评论(0)