用途:将 HTML 文章自动发布到微信公众号草稿箱,支持封面图上传及标题、作者、摘要等元数据管理。
主要能力:access_token 自动缓存(7200 秒)、封面图上传管理、HTML 内容适配微信的优化、标题与作者及摘要的超长截断、错误处理与重试、中文错误提示、交互与命令行两种模式。可自动查找 *_formatted.html 与 cover.png,并可识别内容图片。
使用方式: python publisher.py --title "文章标题" --content article.html 完整参数: python publisher.py --title "标题" --content article.html --author "作者名" --cover cover.png --digest "文章摘要" 默认作者为 YanG,默认封面为 cover.png,另有交互模式 python publisher.py --interactive。首次使用需获取公众号凭证,访问 https://mp.weixin.qq.com 进入设置→基本配置复制 AppID 与 AppSecret;配置文件位于 ~/.wechat-publisher/config.json,格式:{ "appid": "wx1234567890abcdef", "appsecret": "your_secret_here" } 发布流程为查找 HTML 文件、提取标题、检查封面图、调用发布脚本、验证结果并获取 media_id。标题可从 HTML 注释 <!-- Title: xxx --> 或文件名提取。
适用场景:与 wechat-tech-writer(生成文章与封面)、wechat-article-formatter(格式化 HTML)等协同形成完整工作流。发布后草稿保存在微信后台,需登录草稿箱预览、编辑并确认后再发布,封面图在预览时显示。
限制与常见问题:报错 invalid ip not in whitelist 时需在公众号后台添加服务器 IP 到白名单;报错 AppSecret error 时检查配置文件并确认 AppID 以 wx 开头(18 字符);标题和作者超限时工具会自动截断(标题 32 字节、作者 20 字节),如需调整可修改 publisher.py。缺失封面图时会警告但继续发布。其他定价或平台细节暂未提供。