前言¶
运营公众号时,常见流程是:本地用 Markdown 写稿,再复制到后台编辑器里调样式、传图、补封面。图文长文和图片贴图(多图横滑)在接口和字段上也不相同,手工切换容易漏步骤。
下面介绍 SkillHub 上的 公众号-文章&贴图发布(坐标 @user_dfcfbf47/weixin-publisher)。它在 Agent 侧提供一套可执行的发布说明与脚本:把 Markdown 渲染成公众号可用的内容,并调用草稿箱接口写入,而不是在对话里临时拼 HTML。
这是什么¶
公众号-文章&贴图发布 是社区来源(community)的 content-creation 类 Skill,由发布者 user_dfcfbf47 维护,当前 SkillHub 登记版本为 1.0.1。官方入口:
- API 坐标:
https://api.skillhub.cn/user_dfcfbf47/weixin-publisher - 展示页:
https://www.skillhub.cn/skills/user_dfcfbf47/weixin-publisher
简介与页面一致:一键发布 Markdown 到微信公众号草稿箱,支持 图文消息(长文) 与 图片消息(贴图) 两种模式。SkillHub 标签 requires_api_key=true,使用前需配置公众号 AppID / AppSecret(见下文凭证文件)。
核心功能¶
依据 Skill 包内 SKILL.md 与脚本,已核实能力如下。
图文消息(长文)¶
- 入口:
scripts/publish.sh→scripts/publish_article.py。 - 管线:Markdown 解析 → 主题 CSS 内联 → 代码高亮 → 正文图片上传替换 → 调用
draft/add创建草稿;发布后通过draft/count与draft/get做自检。 - 依赖:图文路径以 Python 3.9+ 标准库 为主,不依赖外部排版 CLI。
- 可选能力:多套排版主题与高亮主题、链接转脚注(公众号正文外链易被过滤)、
--render-only仅本地渲染预览、正文内联 SVG 时可用scripts/svg2wechat.py预处理(贴图模式不支持 SVG 文件直传)。
图片消息(贴图)¶
- 入口:
scripts/wechat-image-post.py(需安装 requests)。 - 形态:
article_type=newspic,图片列表走image_info;content为纯文本 caption,不是 HTML。 - 封面:首张图或 frontmatter 中的
cover,脚本会处理缩放(封面需满足体积等限制,详见 Skill 文档错误码表)。
凭证与缓存¶
- 凭证:
WECHAT_APP_ID、WECHAT_APP_SECRET,默认从~/.wechat-credentials.env读取,可用环境变量WECHAT_CRED_FILE指定其他路径;也可sourceSkill 目录下的scripts/setup.sh加载。 - Token 与上传:access_token 缓存在
~/.config/wechat-publisher/token.json;图片上传 md5 去重缓存为~/.config/wechat-publisher/upload-cache.json。
安装与启用¶
1. 安装 SkillHub CLI(若尚未安装)¶
按 SkillHub 安装说明检查或安装 CLI:
command -v skillhub && skillhub --version
未安装时可执行(完整安装示例):
curl -fsSL https://skillhub-1388575217.cos.ap-guangzhou.myqcloud.com/install/install.sh | bash
说明见:https://skillhub.cn/install/skillhub.md。
2. 安装本 Skill¶
安装时必须用 --dir 指向当前 Agent 的 skills 目录,否则默认装到 ./skills/ 可能不会被识别。
skillhub install @user_dfcfbf47/weixin-publisher --dir <你的 skills 目录>
常见路径(来自 SkillHub 安装文档):
- Cursor:
~/.cursor/skills/ - Claude Code:
~/.claude/skills/ - Codex:
~/.codex/skills/或项目下的.agents/skills/
SkillHub 页面也支持把下面提示交给 AI,按同一安装文档完成安装:
请根据 https://skillhub.cn/install/skillhub.md,安装 `@user_dfcfbf47/weixin-publisher`。
安装完成后,在对应 skills 目录下会出现 @user_dfcfbf47/weixin-publisher(内含 SKILL.md 与 scripts/)。启用方式是让 Agent 加载该 Skill,并按 SKILL.md 调用脚本;修改 Skill 文件后通常需要重启或重新加载 Agent 会话。
3. 配置公众号凭证¶
在运行发布脚本的机器上创建凭证文件(路径可自定义,以下为默认):
# ~/.wechat-credentials.env
export WECHAT_APP_ID=your_wechat_app_id
export WECHAT_APP_SECRET=your_wechat_app_secret
发布前加载环境变量,例如:
source ~/.wechat-credentials.env
# 或:source <skill 安装目录>/scripts/setup.sh
还需在微信公众平台将运行脚本的公网 IP 加入白名单,否则接口可能返回 40164。AppID / AppSecret 在公众号后台「设置与开发 → 基本配置」获取(Skill 内 README 有对应说明)。
典型用法¶
以下路径中的 <skill> 请替换为你本机安装目录,例如 Cursor 下常为 ~/.cursor/skills/@user_dfcfbf47/weixin-publisher。
图文长文¶
- 准备带 frontmatter 的 Markdown(
title必填;cover、description、author、theme等可选):
---
title: 文章标题(必填)
cover: ./assets/cover.jpg
description: 文章摘要
author: 作者名
theme: lapis
---
# 正文开始
你的内容,支持 Markdown 语法...
- 发布到草稿箱:
source ~/.wechat-credentials.env
bash <skill>/scripts/publish.sh /path/to/article.md
指定主题与高亮主题(第二个、第三个参数):
bash <skill>/scripts/publish.sh /path/to/article.md lapis solarized-light
仅渲染、不调用微信接口:
python3 <skill>/scripts/publish_article.py /path/to/article.md \
--theme lapis --highlight github \
--render-only preview.html
Skill 包内附带 example.md,可作为最小联调样例:
bash <skill>/scripts/publish.sh <skill>/example.md
图片贴图¶
-
frontmatter 中
title、cover等按 Skill 文档填写;正文为纯文本 caption 加![]()图片引用。 -
安装 requests 后执行(示例与 Skill 文档一致,使用本机 Python 3):
source ~/.wechat-credentials.env
pip install requests
python3 <skill>/scripts/wechat-image-post.py /path/to/post.md
发布成功后,到 微信公众平台 草稿箱核对;不会自动群发,仍需在后台人工确认发送。
适用场景与注意¶
适合谁
- 已在用 Cursor、Claude Code、Codex 等支持 Skills 的环境写稿,希望把「排版 + 传图 + 写草稿」收成固定脚本路径的团队或个人。
- 需要同时覆盖公众号 长文 与 贴图 两种草稿类型,且希望发布后有
draft/get一类自检,减少「接口成功但草稿不对」的静默失败。
限制与常见坑
- 目标仅是草稿箱,不是一键面向粉丝群发;上线前仍需后台审核与发送操作。
- 贴图模式的 caption 为纯文本,不能当 HTML 用;caption 中含 URL 风格内容可能触发
45166等错误(见SKILL.md错误码表)。 - 贴图路径上传 SVG 文件会失败;矢量图若用于长文,应按文档用内联 SVG 或先转位图。
- 图文与贴图对 Python 依赖不同:贴图需要
requests;在隔离 venv 中运行时,注意用已安装依赖的解释器路径。 - 运行环境公网 IP 须在白名单内;凭证错误、token 过期、封面超过大小限制等,Skill 文档中均有对应错误码与处理建议(如删除
~/.config/wechat-publisher/token.json后重试)。
SkillHub 侧统计(抓取时):评分 100000,下载约 1479 次;具体数字以 SkillHub 页面实时显示为准。
结尾¶
公众号-文章&贴图发布 把 Markdown 写稿与微信公众号草稿箱接口之间的步骤固化在 Skill 与脚本里:长文走自研渲染与主题内联,贴图走 newspic 多图结构,并强调发布自检与凭证/IP 白名单等运维细节。若你要在 Agent 工作流里稳定出稿,可从 SkillHub 安装 @user_dfcfbf47/weixin-publisher,按包内 SKILL.md 配置凭证后先试 example.md。
- 官方 API 坐标:https://api.skillhub.cn/user_dfcfbf47/weixin-publisher
- SkillHub 页面:https://www.skillhub.cn/skills/user_dfcfbf47/weixin-publisher