--- name: wechat-mp-suite description: 微信公众号运营工具集(wechat-mp):Markdown/HTML 发文到草稿箱、样式美化与封面生成;支持草稿管理、用户管理(黑名单等)、评论管理、数据统计与多公众号同步。 metadata: { "openclaw": { "emoji": "📣", "requires": { "bins": ["python3"], "env": ["WECHAT_MP_APP_ID", "WECHAT_MP_APP_SECRET"] } } } --- ## 微信公众号运营工具集 本技能是一个 **微信公众号(Wechat MP)运营工具集**,用于管理微信公众账号,包含发文、草稿管理、用户管理、评论管理、数据统计等多个脚本,支持**多公众号同步**。 本技能由**极速数据**提供:[`https://www.jisuapi.com`](https://www.jisuapi.com) 信息反馈:请发邮件至 `liupandeng@jisuapi.com` 官方文档:[`https://developers.weixin.qq.com/doc/subscription/api/`](https://developers.weixin.qq.com/doc/subscription/api/) ### 现阶段能力(按模块) - **发文到草稿(publish.py)** - Markdown → HTML(本地转换) - HTML 美化(`css` / `css_path` / `style_url` 抓取 ``,不会自动拉取外链 CSS(轻量实现,避免过度复杂)。 ### 4) 封面图:用户指定优先(可回退 `og:image`) - **优先使用用户提供**:`cover_path` / `cover_base64` / `cover_url` 三选一。 - 若三者都不传,且你提供的 `html_url / html_path` 含 ``,默认会自动把 `og:image` 作为封面(可通过 `auto_cover_from_og_image=0` 关闭)。 - 不再自动生成本地封面图。 - 指定本地封面: ```bash python3 skills/wechat-mp/publish.py draft '{ "title": "标题", "md_path": "article.md", "cover_path": "assets/cover.png" }' ``` - 直接传 base64: ```bash python3 skills/wechat-mp/publish.py draft '{ "title": "标题", "md_path": "article.md", "cover_base64": "", "cover_out": "out/cover.png" }' ``` - 指定封面 URL(会下载后上传永久素材): ```bash python3 skills/wechat-mp/publish.py draft '{ "title": "标题", "md_path": "article.md", "cover_url": "https://example.com/cover.jpg", "cover_out": "out/cover_from_url.jpg" }' ``` ## 请求参数(draft) | 字段名 | 类型 | 必填 | 说明 | |---|---|---|---| | title | string | 是 | 文章标题 | | digest | string | 否 | 摘要 | | author | string | 否 | 作者,不传用 `WECHAT_MP_DEFAULT_AUTHOR` | | content_source_url | string | 否 | 原文链接 | | md_path / md_content | string | 二选一 | Markdown 文件路径/内容 | | html_path / html_content | string | 二选一 | 直接提供 HTML(优先于 Markdown) | | content_selector | string | 否 | 从输入 HTML 中按 CSS selector 精确抽取正文 innerHTML(例如 `div.post_body`)。需要 `pip install beautifulsoup4` | | auto_content_selector | int | 否 | 默认 1:未传 `content_selector` 时自动按站点尝试(网易 `div.post_body`、新浪 `div.article`、今日头条 `article`) | | css | string | 否 | 额外 CSS(合并到 `