作为一个公众号博主,我每天都在经历这种“发布比写作还累”的魔幻现实——
文章写完了,心情愉悦,觉得今天效率真高。然后打开公众号后台,噩梦开始了:
把Markdown内容复制进编辑器 → 排版全乱
代码块样式没了 → 手动一个个调
图片一张张上传 → 封面图还要单独处理
预览一看,图片顺序不对 → 再来一遍
30分钟过去了,我还在跟编辑器搏斗。
直到我遇见了OpenClaw的wechat-publisher技能。
一、wechat-publisher是什么?一句话说清楚
它是一个能让AI自动把你的Markdown文章推送到微信公众号草稿箱的技能。
你只需要做三件事:
写一篇Markdown文章(你本来就在做)
告诉OpenClaw:“帮我发布这篇文章”
登录公众号后台,审核确认,点击发布
中间所有繁琐的排版、传图、调样式,AI全包了。
二、这玩意儿能帮我省多少时间?
我拿自己的一篇常规文章做了对比测试:
手动发布流程(约30-45分钟)
复制内容到编辑器:2分钟
调整标题格式:3分钟
调代码块样式:5分钟
上传正文图片(8张):10分钟
上传封面图:2分钟
预览检查:3分钟
发现图片错位重新上传:5分钟
最终发布:1分钟
OpenClaw自动化流程(约2-3分钟)
运行发布命令:10秒
AI自动处理:约2分钟
登录草稿箱审核:1分钟
效率提升:10-15倍
这不是夸张。因为微信公众号有个最坑人的设定——不支持外链图片。你在Markdown里引用的所有图片链接,微信都不认。你只能一张张下载下来,再一张张上传到微信的素材库,最后一张张替换到文章里。
而wechat-publisher自动帮你搞定这一切。
三、手把手:从0到1配置wechat-publisher
废话不多说,直接上实操。
第一步:安装必要工具
首先确保你的电脑上安装了Node.js(v18或更高),然后执行:
# 安装wenyan-cli(核心发布引擎)npminstall-g @wenyan-md/cli# 验证安装wenyan --help
wenyan-cli是一个专门把Markdown转成微信公众号格式的工具,wechat-publisher技能就是基于它实现的。
第二步:安装wechat-publisher技能
# 通过clawhub安装npx clawhub@latest install wechat-publisher# 或者安装更强大的多账号版本npx playbooks add skill openclaw/skills --skill wechat-multi-publisher
安装过程中可能会有安全提醒,这是正常现象,技能本身是安全的。
第三步:获取微信公众号API凭证
登录微信公众平台(mp.weixin.qq.com)
进入“设置与开发”→“基本配置”
找到AppID(直接复制)
点击“重置”生成AppSecret(立即保存!关闭后不再显示)
设置IP白名单:把你的服务器公网IP加进去
⚠️ 重要提示:如果你在本地电脑运行,需要先查询自己的公网IP。访问ip.sb或ip.cn就能看到。家庭宽带IP可能会变化,建议用云服务器运行。
第四步:配置环境变量
在终端配置文件(~/.zshrc或~/.bashrc)中添加:
export WECHAT_APP_ID="你的AppID"export WECHAT_APP_SECRET="你的AppSecret"
然后刷新配置:
source ~/.zshrc # 或 source ~/.bashrc第五步:准备Markdown文件
你的文章需要包含frontmatter(文件头部元数据):
---title: 你的文章标题(必填!)cover: ./assets/cover.jpg(必填!)---# 正文从这里开始
⚠️ 踩坑提醒:
title和cover都是必填字段!缺少封面图会报错“未能找到文章封面”。封面图可以是本地路径、绝对路径或网络图片URL。
第六步:执行发布
# 单篇文章发布wenyan publish -f 你的文章.md -t lapis -h solarized-light
参数说明:
-f:指定Markdown文件-t:主题(lapis/phycat/default)-h:代码高亮风格(solarized-light/github/monokai)
发布成功后,你会看到类似这样的输出:
发布成功,Media ID: JLKhOTRTm5H06wwFNvMieH9FBxxaos3KbWyLBkg-aN6xlk3u8oPibAfXjbeOJbhm登录mp.weixin.qq.com,进入“草稿箱”,你的文章已经在里面了!四、进阶玩法:让技能更强大
玩法一:添加隐藏样式标签
wechat-publisher支持一种很酷的“隐藏标签”语法——在Markdown里插入HTML注释,渲染时自动转换成特殊样式:
<!-- 导读 -->这里是蓝色边框的导读内容
支持的样式标签:<!-- 导读 -->:蓝色左边框导读框<!-- 总结 -->:蓝色总结区块<!-- 提示 -->:提示词代码卡片等等,共6种样式
更妙的是,这些标签在飞书、GitHub等普通Markdown渲染器里完全不可见,不影响日常阅读。
玩法二:一次推送多篇文章
# 主文章 + 最多7篇子文章,合为一条群发node scripts/publish.mjs main.md sub1.md sub2.md sub3.md
这个功能对做系列内容、专题合辑特别有用。
玩法三:创建自动化发布脚本
把下面这段代码保存为publish.sh:
#!/bin/bash# 加载环境变量source ~/.zshrc# 检查必要工具if ! command -v wenyan &> /dev/null; thenecho "wenyan-cli未安装,正在安装..."npm install -g @wenyan-md/clifi# 检查环境变量if [ -z "$WECHAT_APP_ID" ] || [ -z "$WECHAT_APP_SECRET" ]; thenecho "错误:未设置微信公众号API凭证"exit 1fi# 发布文章ARTICLE_FILE="$1"if [ -z "$ARTICLE_FILE" ]; thenecho "用法:./publish.sh <markdown文件路径>"exit 1fiecho "开始发布文章:$ARTICLE_FILE"wenyan publish -f "$ARTICLE_FILE" -t lapis -h solarized-lightif [ $? -eq 0 ]; thenecho "✅ 发布成功!文章已添加到微信公众号草稿箱"echo "📱 登录 https://mp.weixin.qq.com 查看并发布"elseecho "❌ 发布失败,请检查错误信息"fi
然后给脚本执行权限,以后发文章就是一句话的事:
chmod +x publish.sh./publish.sh 我的新文章.md
五、踩坑指南:新手最容易掉的三个坑
坑1:IP白名单没配置
错误信息:ip not in whitelist
解决方法:登录公众平台→基本配置→IP白名单→添加你的公网IP。
坑2:缺少title或cover
错误信息:title is required in frontmatter 或 “未能找到文章封面”
解决方法:检查Markdown文件头部,确保frontmatter包含title和cover两个字段,即使文档说“正文有图可省略”,实际测试必须提供。
坑3:图片上传失败
原因:微信不支持外链图片,所有图片必须先上传到微信CDN。
解决方法:wechat-publisher会自动处理本地图片的上传。确保你的图片放在文章目录里,用相对路径引用。脚本会自动扫描目录、上传图片、替换链接。
六、更高阶:让AI帮你写文章+发布
既然都到这一步了,不如再往前走一步——让AI把写文章也包了。
在OpenClaw里,你可以这样操作:
给AI一个指令:“写一篇关于OpenClaw的科普文章,面向技术小白,1500字左右”
AI生成Markdown:自动输出带好格式的文章
调用wechat-publisher:直接把生成的文章发布到草稿箱
整个过程,你只需要说一句话,AI帮你搞定从0到草稿箱的全流程。
我实测过一次,23:00给AI下指令,23:10它告诉我“文章已存入草稿箱”。第二天早上我打开公众号后台,看到文章就在那里,确认内容没问题,点击发布。
七、写在最后:为什么不直接发布,要走草稿箱?
这是一个很重要的设计理念:AI负责苦活累活,人类负责最终决策。
wechat-publisher默认只把文章推送到草稿箱,而不是直接发布。原因很简单——发布后无法撤回。保留草稿箱这一步,你可以:
检查文章内容是否有误
确认图片显示是否正常
微调个别措辞
选择最佳发布时间
AI帮你省去了90%的机械劳动,但最后的决策权,永远在你自己手里。
这才是“人机协作”的正确姿势
夜雨聆风