📦 wechat-md-publish
v0.3.0将 Markdown 文章发布到微信公众号。支持 AI 生成封面图片、HTML 卡片渲染、创建草稿、可选自动发布。当用户说'发公众号'、'发布文章到微信'、'公众号发布'时使用此技能。
运行时依赖
安装命令
点击复制技能文档
微信公众号文章发布
将 Markdown 文章发布到微信公众号,支持 AI 生成封面图片。
首次配置
- 获取公众号 应用ID 和 应用Secret
在 微信公众平台 → 开发 → 基本配置 中获取。
- 设置 IP 白名单
在基本配置页面,将你的出口 IP 加入白名单。查看出口 IP:
curl -s https://ip信息.io/ip
- 创建配置文件
- 安装依赖
如需使用 HTML 卡片渲染功能,额外安装:
pip 安装 playwright playwright 安装 chromium
工作流程
当用户要求发布文章时,按以下步骤执行:
步骤 1:AI 总结摘要
阅读文章内容,用 AI 总结一段摘要,不超过 120 字节(中文约 40 字)。
步骤 2:判断封面来源
如果用户已提供封面图片 → 直接使用,跳到步骤 4。
如果用户未提供封面图片 → 进入步骤 3 用 AI 生成。
步骤 3:用 ImageGen 生成封面图片(仅当用户未提供封面时)
根据文章标题和内容,调用 ImageGen 工具生成封面。提示词参考:
微信公众号封面图,风格简约专业,比例 16:9,主题:{文章标题关键词},不要出现文字
更多提示词模板见下方"AI 封面生成提示词建议"。
步骤 4:(可选)生成 HTML 卡片
如果文章需要插入排版精美的信息卡片(对比图、步骤说明、工具栈展示等),由 AI 生成 HTML 模板,脚本自动渲染为图片插入文章。
微信公众号对 HTML/CSS 支持有限,有些排版效果无法用内联样式实现。HTML 卡片通过 Playwright 将 HTML 渲染为图片,绕过这个限制。
常见卡片类型和 HTML 模板:
对比卡片:
保存为 .html 文件后通过 --html-card 参数传入。可同时传入多个卡片文件。
步骤 5:运行发布脚本 # 仅创建草稿 python scripts/wx_publish.py --title "文章标题" --content article.md --digest "AI总结的摘要" --thumb-image <封面图片路径>
# 带 HTML 卡片 python scripts/wx_publish.py --title "文章标题" --content article.md --digest "AI总结的摘要" --thumb-image <封面图片路径> --html-card card.html
# 多个 HTML 卡片 python scripts/wx_publish.py --title "文章标题" --content article.md --digest "AI总结的摘要" --thumb-image <封面图片路径> --html-card card1.html card2.html
# 创建草稿并自动发布 python scripts/wx_publish.py --title "文章标题" --content article.md --digest "AI总结的摘要" --thumb-image <封面图片路径> --publish
如果用户提供了封面素材 ID 而非图片文件:
python scripts/wx_publish.py --title "文章标题" --content article.md --thumb-media-id <素材ID>
完整参数说明 参数 必填 说明 --title 是 文章标题 --content 是 Markdown 文件路径 --thumb-image 否 封面图片本地路径(AI 生成或用户提供的封面都用此参数) --thumb-media-id 否 已上传的封面素材 ID --html-card 否 HTML 卡片文件路径(可多个),渲染为图片插入文章 --card-width 否 HTML 卡片渲染宽度(默认 750px) --author 否 作者名 --digest 是 文章摘要(由 AI 总结,不超过 120 字节/约 40 字) --上传-thumb 否 仅上传封面图片,输出 thumb_media_id --publish 否 创建草稿后自动发布
封面优先级:--thumb-media-id > --thumb-image。均未指定时会提示提供。
AI 封面生成提示词建议
根据文章类型选择合适的提示词:
文章类型 提示词模板 技术教程 微信公众号封面,科技感,深蓝配色,简洁图标,无文字 财经分析 微信公众号封面,金融主题,数据图表元素,蓝金配色,无文字 生活分享 微信公众号封面,清新风格,柔和配色,简约图形,无文字 量化交易 微信公众号封面,K线图表元素,深色背景,科技金融感,无文字 常见问题 问题 解决方案 获取 访问_令牌 失败 检查 应用ID/应用Secret 是否正确,IP 白名单是否已设置 上传封面失败 封面图片需小于 10MB,支持 bmp/png/jpeg/jpg/gif 格式 草稿创建失败 确认公众号已认证,具有草稿接口权限 markdown 模块未找到 运行 pip 安装 markdown 注意事项 本工具仅适用于已认证的微信公众号(订阅号/服务号均可) 访问_令牌 有效期 2 小时,脚本自动缓存和刷新 文章中的本地图片会自动上传到微信并替换 URL 建议先创建草稿确认效果,再加 --publish 自动发布 用户已提供封面图片时,不要再用 ImageGen 生成