微信公众号发布器
将 Markdown 文章发布到微信公众号草稿箱,自动处理图片上传和格式转换。
功能说明
- •读取 Markdown 文件并提取标题
- •自动上传文章中的图片到微信素材库
- •转换为微信公众号支持的 HTML 格式(带样式)
- •发布到草稿箱,返回草稿 media_id
- •自动使用文章第一张图片作为封面(可指定其他图片)
使用方法
基本用法
发布文章到草稿箱:
bash
node .claude/skills/wechat-publisher/scripts/publish-draft.js <markdown文件路径>
带封面图片发布:
bash
node .claude/skills/wechat-publisher/scripts/publish-draft.js <markdown文件路径> <封面图片路径>
使用示例
bash
# 发布文章 node .claude/skills/wechat-publisher/scripts/publish-draft.js pages/blog/my-article.md # 带封面图片发布 node .claude/skills/wechat-publisher/scripts/publish-draft.js pages/blog/my-article.md ./cover.png
文章格式要求
标题提取
标题按以下优先级提取:
- •Markdown 一级标题
# 标题 - •Frontmatter 中的
title字段 - •默认为"未命名文章"
图片处理
- •本地图片: 自动上传到微信素材库
- •远程图片: 先下载到本地,再上传到微信
- •支持格式: jpg, jpeg, png, gif
样式主题
- •主题色: 蓝色 (#2979ff)
- •标题: 蓝色加粗
- •代码块: 深色背景 + macOS 风格圆点
- •引用块: 浅蓝色背景 + 蓝色边框
配置说明
配置文件位置: .claude/skills/wechat-publisher/config.json
json
{
"appId": "你的AppID",
"appSecret": "你的AppSecret"
}
获取 AppID 和 AppSecret
- •登录 微信公众平台
- •进入 开发 -> 基本配置
- •获取 AppID 和 AppSecret
IP 白名单
需要将服务器 IP 添加到微信公众号的 IP 白名单:
- •进入 开发 -> 基本配置
- •找到"IP白名单"
- •添加当前服务器的公网 IP
查看当前 IP:
bash
curl ifconfig.me
输出说明
发布成功后返回:
- •
media_id: 草稿的唯一标识,可用于后续编辑或发布
故障排查
常见错误
- •
errcode: 40001 - access_token 无效
- •检查 AppID 和 AppSecret 是否正确
- •
errcode: 40164 - IP 不在白名单
- •将当前 IP 添加到微信公众号 IP 白名单
- •
errcode: 45009 - 接口调用超过限制
- •等待一段时间后重试
- •
errcode: 48001 - 没有该接口权限
- •确认公众号类型(需要认证的服务号或订阅号)
注意事项
- •公众号类型: 需要认证的订阅号或服务号才能使用草稿接口
- •图片大小: 单张图片不超过 10MB
- •文章长度: 正文最多 2 万字
- •草稿保存: 草稿会保存 30 天,请及时发布