微信公众号草稿发布器
自动将 HTML 格式的文章发布到微信公众号草稿箱,支持封面图上传、标题、作者和摘要等元数据管理。
⚡ 快速开始
最简单的用法:
bash
python publisher.py --title "文章标题" --content article.html
完整参数:
bash
python publisher.py \ --title "标题" \ --content article.html \ --author "作者名" \ --cover cover.png \ --digest "文章摘要"
默认值:
- •作者:
YanG - •封面图:
cover.png
📋 执行步骤
发布文章到微信草稿箱的完整流程:
- •
查找 HTML 文件
- •优先查找
*_formatted.html(formatter 输出) - •回退到最新的
.html文件
- •优先查找
- •
提取文章标题
- •从 HTML 注释提取:
<!-- Title: xxx --> - •从文件名提取
- •询问用户
- •从 HTML 注释提取:
- •
检查封面图
- •查找
cover.png - •如缺失则警告但继续发布
- •查找
- •
调用发布脚本
bashpython publisher.py --title "xxx" --content xxx.html --cover xxx.png
- •
验证结果
- •确认草稿创建成功
- •获取草稿 media_id
- •
提示用户
- •提供微信后台链接
- •说明下一步操作
🔧 配置要求
首次使用
工具会在首次运行时引导配置:
- •
获取微信公众号凭证
- •访问 https://mp.weixin.qq.com
- •进入 设置 → 基本配置
- •复制 AppID 和 AppSecret
- •
运行发布器
bashpython publisher.py --title "测试" --content test.html
- •
添加服务器 IP 到白名单(如需要)
配置文件
位置: ~/.wechat-publisher/config.json
格式:
json
{
"appid": "wx1234567890abcdef",
"appsecret": "your_secret_here"
}
✨ 核心功能
- •✅ access_token 自动缓存(有效期 7200 秒)
- •✅ 封面图上传和管理
- •✅ HTML 内容自动优化(适配微信)
- •✅ 字段长度自动截断(标题/作者/摘要)
- •✅ 错误处理和重试机制
- •✅ 中文错误提示和解决方案
- •✅ 交互模式和命令行模式
🛠️ 工作流集成
与其他 skill 协同工作:
完整工作流:
- •
wechat-tech-writer→ 生成文章(xxx_article.md+cover.png) - •
wechat-article-formatter→ 格式化 HTML(xxx_formatted.html) - •
wechat-draft-publisher→ 发布到微信草稿箱(本 skill)
自动检测机制:
- •自动查找
*_formatted.html文件 - •自动查找
cover.png封面图 - •自动识别内容图片
🚨 常见问题
错误:IP 不在白名单
症状: invalid ip not in whitelist
解决:
- •登录微信公众号后台
- •进入 设置 → 基本配置
- •添加服务器 IP 到白名单
错误:AppSecret 错误
症状: AppSecret error
解决:
- •检查配置文件:
~/.wechat-publisher/config.json - •验证 AppID 以 "wx" 开头(18 个字符)
- •确认 AppSecret 正确
错误:标题/作者超出限制
症状: title/author size out of limit
解决:
- •工具会自动截断(标题:32 字节,作者:20 字节)
- •如需调整,修改
publisher.py
📁 文件结构
code
wechat-draft-publisher/ ├── SKILL.md # 本文件 ├── publisher.py # 核心发布脚本 ├── scripts/ # 工具脚本 │ ├── fix-wechat-style.py # HTML 优化器 │ ├── optimize-html.py # HTML 压缩工具 │ ├── publish-workflow.sh # 完整工作流 │ ├── install.sh # 安装助手 │ └── test.sh # 测试脚本 ├── examples/ # 示例文件 │ ├── config.json.example # 配置示例 │ └── example.html # HTML 示例 └── README.md # 详细英文文档
💡 使用示例
示例 1:标准发布
bash
python publisher.py \ --title "VSCode 更名事件" \ --content article.html
示例 2:完整元数据
bash
python publisher.py \ --title "技术文章" \ --content article.html \ --author "YanG" \ --cover images/cover.png \ --digest "这是一篇关于..."
示例 3:交互模式
bash
python publisher.py --interactive
📱 发布后操作
发布成功后:
- •登录微信公众号后台
- •进入"草稿箱"
- •预览效果
- •确认后发布
注意事项:
- •⚠️ 草稿保存在微信后台,不会立即发布
- •⚠️ 可以在草稿箱中编辑后再发布
- •⚠️ 封面图会在预览时显示
🔗 相关文档
- •详细文档: README.md(英文)
- •安装指南: scripts/install.sh
- •HTML 处理: scripts/fix-wechat-style.py