作为内容创作者,你是否也厌倦了写作、排版、发布这一系列繁琐且耗时的操作?最近,我深入体验了利用 OpenClaw 的 wechat-publisher 技能,配合 wenyan-cli 工具,实现了从 Markdown 文章到微信公众号的自动化发布全流程,效率提升显著。下面就将这个解放生产力的完整方案分享给你,如果你也苦于手动发布,不妨试试这个开源实战方案。
安装与配置
1. 核心工具:wenyan-cli
这是实现自动化发布的命令行工具,基于 Node.js 开发。
# 安装 wenyan-cli(微信公众号发布工具)
npm install -g @wenyan-md/cli
# 验证安装
wenyan --help
2. OpenClaw 技能:wechat publisher
通过 clawhub 安装微信公众号发布技能:
clawhub install wechat-publisher
3. 配置微信公众号 API 凭证
在 ~/.zshrc 或 ~/.bashrc 中添加环境变量:
export WECHAT_APP_ID="你的微信公众号App ID"
export WECHAT_APP_SECRET="你的微信公众号App Secret"
⚠️ 重要提醒:必须将你的服务器公网IP添加到微信公众号后台的IP白名单中!
文章格式要求
必需的前置元数据(frontmatter)
根据实测,wenyan-cli 对格式要求严格,必须包含特定的元数据块。
---
title: 文章标题(必填!)
cover: 封面图URL或路径(必填!)
---
# 正文内容...
关键发现:
title 和 cover 两者都是必填字段,缺一不可。
- 缺少封面图会报错:“未能找到文章封面”。
- 即使有些文档说明“正文有图可省略cover”,实际测试也必须提供。
- 文章中的所有图片都会在上传时自动被处理并上传到微信图床。
封面图推荐格式
封面图支持多种路径格式,推荐使用相对路径便于项目管理和分享。
# 相对路径(推荐,便于分享)
cover: ./assets/default-cover.jpg
# 绝对路径
cover: /Users/username/photos/cover.jpg
# 网络图片
cover: https://images.unsplash.com/photo-xxx
发布实战案例
案例:我的上一篇“回归公告”文章发布过程
1. 原始内容文件:wechat-return-announcement.md
# 微信公众号回归公告内容
## 标题
我回来了!这次带着OpenClaw,让更新不再难产
...
2. 转换后的标准格式:wechat-return-announcement-formatted.md
在文件顶部添加了必要的元数据。
---
title: 我回来了!这次带着OpenClaw,让更新不再难产
cover: https://images.unsplash.com/photo-1677442136019-21780ecad995?w=1200&q=80
---
# 我回来了!这次带着OpenClaw,让更新不再难产
好久不见,一直关注GitHub精选的朋友们!👋
...
3. 发布命令:
使用指定的主题和代码高亮风格进行发布。
wenyan publish -f wechat-return-announcement-formatted.md -t lapis -h solarized-light
4. 发布结果:
命令执行成功后,会返回一个 Media ID,这意味着文章已经成功上传至微信公众号后台的草稿箱。
发布成功,Media ID: JLKhOTRTm5H06wwFNvMieH9FBxxaos3KbWyLBkg-aN6xlk3u8oPibAfXjbeOJbhm
成功! 文章已自动上传到微信公众号草稿箱,登录后台即可预览和发布。
主题与样式配置
内置主题选择
wenyan-cli 提供了多种内置主题和代码高亮方案,可以根据喜好选择。
# 青金石主题 + solarized-light代码高亮(推荐)
wenyan publish -f article.md -t lapis -h solarized-light
# 物理猫主题 + GitHub代码高亮
wenyan publish -f article.md -t phycat -h github
# 默认主题 + monokai代码高亮
wenyan publish -f article.md -t default -h monokai
自定义设置
你还可以通过命令行参数关闭一些默认的样式功能。
# 关闭Mac风格代码块
wenyan publish -f article.md -t lapis --no-mac-style
# 关闭链接转脚注
wenyan publish -f article.md -t lapis --no-footnote
故障排除
常见问题与解决方案
在实际使用中,你可能会遇到以下问题,这里提供了清晰的解决步骤。
-
错误:ip not in whitelist
原因:服务器IP未加入公众号白名单。
解决:
# 获取公网IP
curl ifconfig.me
# 将获取到的IP添加到微信公众号后台【开发 → 基本配置 → IP白名单】中
-
错误:wenyan: command not found
原因:wenyan-cli 未全局安装或安装失败。
解决:重新执行安装命令 npm install -g @wenyan-md/cli。
-
错误:WECHAT_APP_ID is required
原因:环境变量未正确设置或未生效。
解决:
# 检查环境变量是否已加载
echo $WECHAT_APP_ID
echo $WECHAT_APP_SECRET
# 如果为空,请确认已执行 `source ~/.bashrc` (或 `source ~/.zshrc`) 并重启终端
-
错误:title is required in frontmatter
原因:Markdown文件头部的元数据格式不正确或缺少必填项。
解决:确保文件顶部有且格式正确的 frontmatter 块。
---
title: 你的文章标题
cover: ./assets/cover.jpg
---
效率对比
为了更直观地感受自动化带来的改变,我们来对比一下传统流程与自动化流程。
传统发布流程(约30-45分钟)
这是一个典型的、依赖人工操作的繁琐过程:
- 在编辑器中完成写作。
- 手动调整格式以适应公众号编辑器。
- 处理图片(压缩、上传到图床、替换链接)。
- 登录微信公众号后台。
- 将内容复制粘贴到编辑器。
- 再次进行排版微调(字体、间距、颜色)。
- 上传并设置封面图。
- 保存并发送到手机预览。
- 确认无误后点击发布。
OpenClaw自动化流程(约2-3分钟)
利用本文介绍的工具链,流程被极大简化:
- 在习惯的编辑器中用 Markdown 写作。
- 按格式要求添加
title 和 cover 元数据。
- 在终端运行一行发布命令。
- 自动完成!文章已在公众号草稿箱等待发布。
效率提升:保守估计,效率提升 10-15倍!这为独立开发者和内容创作者节省了大量宝贵时间。
完整工作流示例
自动化脚本 publish_wechat.sh
将上述步骤封装成一个 Shell 脚本,可以实现一键发布,进一步提升效率。这对于需要运维/DevOps/SRE思维的内容工作流来说,是标准化的好习惯。
#!/bin/bash
# 加载环境变量
source ~/.zshrc
# 检查必要工具
if ! command -v wenyan &> /dev/null; then
echo "wenyan-cli未安装,正在安装..."
npm install -g @wenyan-md/cli
fi
# 检查环境变量
if [ -z "$WECHAT_APP_ID" ] || [ -z "$WECHAT_APP_SECRET" ]; then
echo "错误:未设置微信公众号API凭证"
exit 1
fi
# 发布文章
ARTICLE_FILE="$1"
if [ -z "$ARTICLE_FILE" ]; then
echo "用法:./publish_wechat.sh <markdown文件路径>"
exit 1
fi
if [ ! -f "$ARTICLE_FILE" ]; then
echo "错误:文件不存在:$ARTICLE_FILE"
exit 1
fi
echo "开始发布文章:$ARTICLE_FILE"
wenyan publish -f "$ARTICLE_FILE" -t lapis -h solarized-light
if [ $? -eq 0 ]; then
echo "✅ 发布成功!文章已添加到微信公众号草稿箱"
echo "📱 登录 https://mp.weixin.qq.com 查看并发布"
else
echo "❌ 发布失败,请检查错误信息"
fi
使用方式:./publish_wechat.sh your-article.md
OpenClaw 集成调用
如果你在使用 OpenClaw,整个过程可以更加“对话式”和自动化。
用户:帮我发布这篇文章到微信公众号
文件:wechat-return-announcement-formatted.md
OpenClaw 自动执行:
1. ✅ 检查 wenyan-cli 安装状态
2. ✅ 验证环境变量配置
3. ✅ 检查 Markdown 格式
4. ✅ 执行发布命令
5. 📋 返回发布结果 Media ID
实际效果与收益
通过集成 wechat-publisher 技能和 wenyan-cli 工具,我切实获得了以下收益:
✅ 时间节省:单篇文章发布从 30 分钟缩短到 2-3 分钟,真正实现了“写完即发布”。
✅ 格式统一:依赖工具进行标准化排版,消除了手动调整导致的不一致问题。
✅ 降低错误:自动化流程减少了复制粘贴遗漏、图片漏传等人为疏忽。
✅ 批量处理:结合脚本,可以轻松实现多篇文章的连续、排队发布。
✅ 内容归档:所有文章源文件都是纯 Markdown 格式,完美适配 Git 等版本管理系统,便于追溯和复用。
未来展望
这个自动化流程还有巨大的优化和扩展空间:
- 更智能的选题推荐 - 结合 GitHub Trending API 或 RSS 订阅,自动分析并推荐热门技术话题。
- 自动化的配图生成 - 集成 DALL-E、Midjourney 等 AI 图像工具,根据文章内容自动生成风格统一的配图。
- 多渠道同步发布 - 扩展功能,将同一篇 Markdown 文章同时发布到今日头条、知乎专栏、博客园等平台。
- 数据驱动的内容优化 - 打通微信后台数据接口,分析阅读量、分享数等指标,反向指导内容选题和写作策略。
总结
对于需要持续进行技术内容输出的创作者而言,OpenClaw 的 wechat-publisher 技能结合 wenyan-cli 这套方案,从根本上解决了微信公众号发布的效率瓶颈。整个过程从 Markdown 写作到自动上传至草稿箱,清晰、高效且可靠。
核心价值:
- 🚀 极简操作:一行命令(或一句话指令)替代所有手动操作。
- 🎨 专业排版:内置多种主题,输出效果专业美观,无需担心微信编辑器的兼容性问题。
- 🛡️ 安全可靠:基于微信官方 API,数据流转安全,无需第三方中转。
- 📁 代码友好:纯文本 Markdown 源文件,完美契合开发者的版本管理(Git)习惯。
这不仅仅是一个技术工具,更是对创作者生产力的实质性解放。如果你也受困于内容发布的重复劳动,强烈建议尝试一下这个方案。开始使用前,建议阅读 wenyan-cli官方文档 和 OpenClaw wechat-publisher技能 页面以获取最新信息。欢迎在云栈社区交流你的使用心得和遇到的问题。