| name | wx-mp-publisher |
| description | Render and publish Markdown articles to WeChat Official Account (公众号) draft box. Supports local mode (IP whitelisted) and server relay mode via Wenyan Server. Supports multi-account, image-only posts (小绿书), and proxy. |
| metadata | {"openclaw":{"emoji":"📤","requires":{"bins":["node","npx"]}}} |
WeChat MP Publisher
将 Markdown 稿件排版并推送到微信公众号草稿箱。
发布命令
./skills/wx-mp-publisher/scripts/publish-wx-mp.sh <markdown_file> [theme]
主题选择(未指定时按内容匹配):
| 主题 ID | 风格描述 | 适用场景 |
|---|
default | 简洁经典 | 资讯、通知、简讯 |
pie | 现代锐利(仿少数派) | 深度长文、评测、观点(默认) |
lapis | 极简冷蓝 | 技术教程、代码分析 |
purple | 简约紫调 | 品牌、商务、精品内容 |
orangeheart | 暖橙优雅 | 情感、故事、节日 |
maize | 淡雅玉米黄 | 健康生活、美食、户外 |
rainbow | 多彩活泼 | 亲子、宠物、娱乐 |
phycat | 薄荷清爽 | 科普、知识型内容 |
智能选择决策树(用户未指定主题时):
含大量代码/技术术语 → lapis
年轻女性/亲子/萌宠 → rainbow
情感/故事/节日 → orangeheart
健康/美食/户外 → maize
品牌/商务/精品 → purple
科普/知识型 → phycat
深度长文/评测/观点 → pie
其他(资讯/通知) → default
Frontmatter 要求
文章 Markdown 开头必须包含 YAML 块,否则微信 API 会拒绝:
---
title: 文章标题
cover: ./cover.jpg
author: 作者名称
source_url: https://...
need_open_comment: true
only_fans_can_comment: false
---
发布小绿书(图片消息)
纯图片轮播形式,不含正文 HTML。在 frontmatter 中指定 image_list(最多 20 张,首张为封面):
---
title: 文章标题
image_list:
- ./1.jpg
- ./2.jpg
- ./3.jpg
---
可选的说明文字
有 image_list 时自动走图片消息接口,忽略主题参数。
多公众号发布
如需向非默认公众号推送,设置环境变量 WECHAT_TARGET_APP_ID 后执行:
./skills/wx-mp-publisher/scripts/publish-wx-mp.sh article.md
前提:relay server 端已通过 wenyan credential --set 完成该公众号的凭据配置,且对应公众号已将 server IP 加入白名单。
代理配置
如网络环境需要代理访问微信 API,设置环境变量 WENYAN_PROXY 后执行:
./skills/wx-mp-publisher/scripts/publish-wx-mp.sh article.md
支持 HTTP / HTTPS / SOCKS5 / SOCKS4 代理格式。
Agent 行为约束
- 脚本首次运行会自动下载
@wenyan-md/cli,约 10–30 秒,等待完成再报告结果
- 禁止在脚本输出前自行判断是否发布成功
Error Handling
| 错误 | 处理方式 |
|---|
请配置环境变量 | 配置对应环境变量 |
invalid ip | 本机 IP 未白名单,改用 relay(配置 WENYAN_SERVER_URL) |
invalid appid | 检查 WECHAT_APP_ID 或 WECHAT_TARGET_APP_ID |
| 图片上传失败 | 确认 Markdown 中图片路径真实存在 |
缺少 title | 在 Markdown 开头添加 frontmatter title: 字段 |
Notes
- publish 成功后会输出草稿
media_id,可在公众号后台找到对应草稿
- 本 skill 只负责推送草稿,正式发布仍需在公众号后台手动操作
- 支持 Mermaid 图表语法,在 Markdown 中使用 mermaid 代码块即可自动渲染为图片
发布记录(强制)
发布成功后,必须立即调用 published-track 技能记录发布信息:
./skills/published-track/scripts/record.sh \
--platform wx_mp \
--title "标题" \
--content-type article \
--source-folder "<原始文件夹路径>" \
--publish-url "<发布URL>" \
--publish-date "$(date +%Y-%m-%d)"
--source-folder 为原始内容所在的相对路径(如 output_articles/xxx 或 output_videos/xxx)。
--publish-url 为发布后获得的 URL,若发布失败则留空并在 --notes 中注明原因。
执行 ./skills/published-track/scripts/init-db.sh(幂等,重复执行无副作用)。