乐于分享
好东西不私藏

OpenClaw Skill 实现公众号自动排版

OpenClaw Skill 实现公众号自动排版

OpenClaw Skill 实现公众号自动排版

每当写完公众号文章,最痛苦的不是写作本身,而是排版。

把飞书文档的内容复制到微信后台,格式全乱了,一篇文章要调半小时。

这个痛,运营过公众号的人都懂。

整体工作流

飞书文档定稿    ↓ 转发链接给 AIOpenClaw(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
terracottamint-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」章节)。