Install
openclaw skills install @golikegod/wechat-article-publisher将 Markdown 或网页链接自动发布到微信公众号草稿并支持模板
openclaw skills install @golikegod/wechat-article-publisher⚠️ DEPRECATED — 自 2026-07-05 起本技能已并入
yuanzi-wechat-suite请改用 mega-package 一键装:
bash clawhub install yuanzi-wechat-suite本技能的
publish_wechat.py已迁入yuanzi-wechat-suite/scripts/publisher/,并接入yuanzi.py publish总调度命令。一装即用,工作流不中断。
从 Markdown 或 HTML 文件发布图文到微信公众号,支持本地图片自动上传、封面尺寸自动处理、内容图片 CDN 替换、网络重试机制。
.token_cache.json--dry-run 仅渲染预览,不调用微信 API# 安装依赖
python scripts/publish_wechat.py --install
# 干运行(只预览,不发布)
python scripts/publish_wechat.py article.md --dry-run
# 发布草稿
python scripts/publish_wechat.py article.html
# 指定封面图
python scripts/publish_wechat.py article.md --cover-image cover.png
---
title: 文章标题
author: 作者名
---
正文内容,支持 Markdown 语法。

直接传入 HTML 文件路径,脚本自动提取 <body> 内容,并处理其中的 <img src="">。
| 参数 | 要求 |
|---|---|
| 宽高比 | 2.35:1(如 900×383、940×400) |
| 最小宽度 | 900px |
| 格式 | PNG/JPEG/JPG |
| 错误码 | 53401 = 尺寸不合规 |
自动处理:若传入的封面图比例不符,脚本会自动裁切至 900×383 存为 cover_2_35_1.png,再上传。
手动处理(PIL 示例):
from PIL import Image
img = Image.open("cover.png")
resized = img.resize((900, 383), Image.LANCZOS)
resized.save("cover_2_35_1.png", "PNG")
| 接口 | 限制 |
|---|---|
access_token | 有效期 7200s,不失效时重复使用缓存 |
| 临时素材上传 | media/upload,返回 url(CDN 地址) |
| 永久素材上传 | material/add_material,返回 media_id + url |
| 草稿创建 | 需 thumb_media_id(永久素材),否则 40007 |
| 封面图尺寸 | 2.35:1,不足则 53401 |
| 封面图大小 | 限制 2MB,超出会提示 |
| 错误码 | 含义 | 解决方案 |
|---|---|---|
| 40001 | access_token 无效 | 重新获取 token(强制刷新) |
| 40007 | thumb_media_id 无效 | 用永久素材接口上传封面,获取 media_id |
| 41005 | media data missing | 检查图片文件是否存在、路径是否正确 |
| 53401 | 封面图尺寸不合规 | resize 为 900×383 |
| 48001 | 没有发布权限 | 在微信后台手动发布,或确认账号类型 |
[Markdown/HTML]
↓
[提取标题/作者/正文]
↓
[识别本地图片 src]
↓
[每张图:上传至微信 CDN] ← 重试 3 次,120s 超时
↓
[替换 src 为 CDN URL]
↓
[封面图:resize → 900×383 → 永久素材上传]
↓
[草稿创建 API → draft_media_id]
↓
[微信后台手动发布 或 API freepublish/submit]
| 参数 | 说明 |
|---|---|
input | Markdown 或 HTML 文件路径 |
--config | 配置文件路径,默认 config.json |
--cover-image | 本地封面图路径(优先使用) |
--template | 排版模板,standard 或 viral |
--author | 覆盖作者名 |
--source-url | 原文链接 |
--timeout | HTTP 超时秒数(默认 30s,上传时自动升级 120s) |
--dry-run | 仅渲染不调用 API |
--publish | 草稿创建后立即提交发布 |
--status | 查询发布状态 |
--install | 安装 Python 依赖 |
{
"wechat": {
"app_id": "你的AppID",
"app_secret": "你的AppSecret",
"author": "默认作者名"
}
}
发布前逐项确认:
--dry-run 渲染正常,无报错media_id成功时输出 JSON:
{
"success": true,
"title": "文章标题",
"draft_media_id": "W_q164cVIGUec8YcY5YyW...",
"preview_html": "/path/to/preview.html"
}
失败时输出:
{
"success": false,
"error": "错误描述",
"type": "WeChatPublishError"
}
🦞 v2.0.0 - 基于两篇图文发布实战经验优化(2026-05-30)
🦞 yuanzi-wechat-series · 第 4/4 站「发布桨」
安装方式: clawhub install yuanzi-wechat-publisher
本技能属于「元子公众号图文系列」4 件套之一:
yuanzi-article-masteryuanzi-article-extractoryuanzi-image-generatoryuanzi-wechat-publisher(本技能)注: 本技能另有 wechat-article-publisher 同名发布(受 AMBIGUOUS_SKILL_SLUG 限制未合并),使用建议以 yuanzi- 前缀版为准。
推荐工作流:读稿 → 写作 → 配图 → 发布。
v2.1.0 元子系列升级:归 zhenglong2015 v1.0.0,叠加 keyring 凭据 + HTML 输入 + 本地图片 CDN 上传 + 2.35:1 封面强制 + 3 次重试 + token 缓存。
🦞 元子公众号图文系列 v2.1.0 · 2026-07-04 · yuanzi- 前缀版