用途
wechat-publisher 是一个基于 wenyan-cli 封装的 OpenClaw skill,目标是把用 Markdown 写的文章一键发布到微信公众号草稿箱,随后可在公众号后台完成审核与正式发布。
主要能力
按照资料描述,它具备以下功能:
- Markdown 自动转换为微信公众号格式
- 自动上传图片到微信图床
- 一键推送到草稿箱
- 多主题支持(含代码高亮、Mac 风格代码块)
- 支持本地和网络图片
使用方式
1. 安装 wenyan-cli
wenyan-cli 需要全局安装:
npm install -g @wenyan-md/cli
验证安装:
wenyan --help
资料注明:publish.sh 脚本会自动检测并安装 wenyan-cli(如果未安装)。
2. 配置 API 凭证
需设置环境变量:
export WECHAT_APP_ID=your_wechat_app_id
export WECHAT_APP_SECRET=your_wechat_app_secret
资料提示要确保 IP 已添加到微信公众号后台白名单,配置方法见 https://yuzhi.tech/docs/wenyan/upload 。
3. 准备 Markdown 文件
文件顶部必须包含完整的 frontmatter(资料称 wenyan 强制要求):
---
title: 文章标题(必填!)
cover: https://example.com/cover.jpg # 封面图(必填!)
---
# 正文开始
你的内容...
资料特别指出:title 和 cover 都是必填字段,缺少任何一个都会报错“未能找到文章封面”;虽然文档说“正文有图可省略 cover”,但实测必须提供 cover。封面图可使用相对路径、绝对路径或网络图片,所有图片(本地/网络)都会自动上传到微信图床。
4. 发布文章
方式 1:使用 publish.sh 脚本
cd /Users/leebot/.openclaw/workspace/wechat-publisher
./scripts/publish.sh /path/to/article.md
方式 2:直接使用 wenyan-cli
wenyan publish -f article.md -t lapis -h solarized-light
方式 3:在 OpenClaw 中使用:“帮我发布这篇文章到微信公众号” + 附带 Markdown 文件路径。
主题与代码高亮
内置主题:default、lapis(青金石,推荐)、phycat(物理猫),更多主题见 https://github.com/caol64/wenyan-core/tree/main/src/assets/themes 。
代码高亮主题:atom-one-dark / atom-one-light、dracula、github-dark / github、monokai、solarized-dark / solarized-light(推荐)、xcode。
使用示例:
# 使用 lapis 主题 + solarized-light 代码高亮
wenyan publish -f article.md -t lapis -h solarized-light
# 使用 phycat 主题 + GitHub 代码高亮
wenyan publish -f article.md -t phycat -h github
# 关闭 Mac 风格代码块
wenyan publish -f article.md -t lapis --no-mac-style
# 关闭链接转脚注
wenyan publish -f article.md -t lapis --no-footnote
自定义主题:
# 临时使用自定义主题
wenyan publish -f article.md -c /path/to/custom-theme.css
# 从本地文件安装
wenyan theme --add --name my-theme --path /path/to/theme.css
# 从网络安装
wenyan theme --add --name my-theme --path https://example.com/theme.css
# 使用已安装的主题
wenyan publish -f article.md -t my-theme
# 删除主题
wenyan theme --rm my-theme
# 列出所有主题
wenyan theme -l
工作流程
- 准备内容——用 Markdown 写作
- 运行脚本——一键发布到草稿箱
- 审核发布——到公众号后台审核并发布
图片与代码块
图片支持本地路径、绝对路径、网络图片,格式如 ,所有图片会自动上传到微信图床。代码块示例:
def hello():
print("Hello, WeChat!")
会自动添加代码高亮和 Mac 风格装饰。
适用场景
适合用 Markdown 写作、需要把文章批量或快速投放至微信公众号草稿箱的用户,尤其是技术文章(含代码高亮、多图)的发布流程。
限制与故障排查
资料列出以下常见问题及解决方式:
- 上传失败:IP 不在白名单。错误信息“ip not in whitelist”。解决方法:用 curl ifconfig.me 获取公网 IP,登录公众号后台 https://mp.weixin.qq.com/ ,开发 → 基本配置 → IP 白名单 → 添加你的 IP。
- wenyan-cli 未安装。错误信息“wenyan: command not found”。解决方法:npm install -g @wenyan-md/cli。
- 环境变量未设置。错误信息“WECHAT_APP_ID is required”。解决方法:export WECHAT_APP_ID / WECHAT_APP_SECRET,或在 ~/.zshrc / ~/.bashrc 中永久添加。
- Frontmatter 缺失。错误信息“title is required in frontmatter”。解决方法:在 Markdown 文件顶部添加 frontmatter 中的 title。
参考资料与许可证
- wenyan-cli GitHub: https://github.com/caol64/wenyan-cli
- wenyan 官网: https://wenyan.yuzhi.tech
- 微信公众号 API 文档: https://developers.weixin.qq.com/doc/offiaccount/
- IP 白名单配置: https://yuzhi.tech/docs/wenyan/upload
License:Apache License 2.0(继承自 wenyan-cli)。
更新日志:2026-02-05 - v1.0.0,初始版本,基于 wenyan-cli 封装,支持一键发布到草稿箱、多主题支持、自动图片上传。