SuperAPI AI 工具集

wechat-mp-publisher

营销与增长

查看项目

更新于 10-15 08:06

技能介绍

用途

wechat-mp-publisher 用于完成微信公众号文章的智能发布全流程,覆盖从内容转换、排版、封面与摘要处理,到草稿保存或群发的完整环节。它面向需要将 Markdown 或其他内容转化为公众号格式并发布到微信公众号的场景。

主要能力

  • Markdown→微信 HTML 转换:可使用 mdnice.com 转换或脚本内置转换器。
  • UEditor 排版:正文 15px、颜色 #3f3f3f(非纯黑)、行距 1.75 倍、段间距 15px、页边距 15-20px;标题 18-22px;引用 #8c8c8c。
  • 封面图处理:头条 900×500px,次条 200×200px;配图宽 640px 适配手机,每 300-500 字配一图。
  • 摘要:≤120 字,不填则取正文前 54 字。
  • 两种发布模式:草稿模式(默认安全)与群发模式。
  • 两种发布方式:API 发布(需服务号 access_token)与 Playwright 浏览器发布(默认)。

使用方式

发布前确认流程

在点击保存草稿/群发之前,必须执行以下步骤:

  1. 截图确认:所有内容(标题、摘要、正文、封面)填写完毕后,使用 browser(action="screenshot") 截图当前编辑页面。
  2. 发送到群:将截图发到群里(telegram 群: -1003890797239)供 Daniel 确认。
  3. 等待确认:不要自动发布,必须等待用户在群里确认「可以发布」或类似明确指令。
  4. 执行发布:收到确认后,才点击「保存草稿」或「群发」按钮。

未收到确认前禁止点击发布按钮。

方式 A:Browser 自动化(默认)

python scripts/publish.py \
  --title "文章标题" \
  --content /path/to/article.md \
  --cover /path/to/cover.jpg \
  --digest "文章摘要120字以内" \
  --screenshots /tmp/wechat_screenshots

特点:需要微信扫码登录(首次);cookies 自动保存到 ~/.openclaw/skills/wechat-mp-smart-publish/cookies.json;截图目录可选,用于调试。

方式 B:API 发布(需服务号 access_token)

python scripts/api_publish.py \
  --title "文章标题" \
  --content /path/to/article.html \
  --cover /path/to/cover.jpg \
  --digest "摘要"

特点:需要 AppID + AppSecret;封面图需提前上传为永久素材;支持草稿模式和发布模式。

API 端点:

  • 获取 Token:GET /cgi-bin/token
  • 上传素材:POST /cgi-bin/material/add_material
  • 新建草稿:POST /cgi-bin/draft/add
  • 发布:POST /cgi-bin/freepublish/submit

草稿模式与群发模式

所有发布默认 --mode draft,在公众号后台草稿箱确认后再群发。--mode publish 直接群发。订阅号每天仅 1 次群发机会,服务号每月 4 次。

排版 HTML 样式示例

<section style="font-size:15px;color:#3f3f3f;line-height:1.75;letter-spacing:1px;padding:0 15px;">
  <h2 style="font-size:20px;font-weight:bold;color:#1a1a1a;margin:30px 0 15px;">标题</h2>
  <p style="margin-bottom:15px;">正文段落</p>
  <blockquote style="border-left:3px solid #07c160;background:#f7f7f7;padding:10px 15px;color:#666;font-size:14px;">
    引用块
  </blockquote>
  <p style="color:#888;font-size:12px;text-align:center;">图片说明</p>
</section>

文末标准模板

---
👆 点击关注,每周更新
💬 评论区聊聊你的看法
👇 觉得有用?转发给朋友

适用场景

  • 将 Markdown 文章转换为公众号格式并发布。
  • 需要按固定排版规范(字号、颜色、行距)生成公众号文章。
  • 需要自动处理封面图尺寸与摘要。
  • 需要草稿保存或群发两种发布模式。
  • 需要 API 或浏览器自动化两种发布方式。

限制

  • 标题 ≤64 字,建议 13-22 字,少用 emoji。
  • 摘要 ≤120 字。
  • 正文 ≤20,000 字,建议 1500-3000 字。
  • 图片需上传到微信素材库,外链不可用。
  • 排版需使用行内 style,不依赖 class。
  • 群发次数受限:订阅号每天 1 次,服务号每月 4 次。
  • API 模式需服务号 access_token、AppID + AppSecret,封面图需提前上传为永久素材。
  • 发布前必须截图确认并等待用户明确指令,否则禁止发布。

错误处理

  • 登录过期:提示重新扫码,保存新 cookie。
  • 标题超 64 字:截断并警告。
  • 封面尺寸错误:自动调整为 900×500。
  • 图片不显示:检查是否上传到微信素材库(外链不可用)。
  • 排版错乱:使用行内 style,不依赖 class。
  • API 频率限制:等待 60 秒重试,最多 3 次。
  • 敏感词拦截:返回具体敏感词位置,提示修改。
  • 未收到确认就发布:严重错误,必须重新执行完整确认流程。

发布前检查清单

  • 标题 ≤64 字
  • 摘要 ≤120 字
  • 首图 900×500px
  • 排版:15px 字号、#3f3f3f 色、1.75 倍行距
  • 图片已全部上传(外链不可用)
  • 无敏感词/违禁词
  • 手机端预览正常
  • 已截图发送到群里等待确认
  • 已收到 Daniel 明确确认后才能发布

文件结构

wechat-mp-publisher/
├── SKILL.md                    # 本文件
├── scripts/
│   ├── publish.py              # Playwright 浏览器发布(默认)
│   └── api_publish.py          # API 发布(需access_token)
├── references/
│   └── platform-rules.md        # 完整平台规则
└── templates/
    ├── tech-article.html        # 技术文排版模板
    └── general-article.html     # 通用文排版模板