前言¶
公众号后台对富文本的限制很多:不能依赖页面级 <style>、class 和脚本,复制粘贴时样式也容易丢。若你平时用 Markdown 写稿,再手工在后台调字号、列表和引用,往往要反复预览。
下面介绍 SkillHub 社区技能「微信公众号文章排版」(坐标 @user_5dda6a29/wechat-typeset-pro)。它在 Agent 侧约定一套工作流,并用 Python 脚本把 Markdown 渲染为微信兼容的内联样式 HTML,支持多主题预览与可选草稿箱推送。
这是什么¶
一句话定位:微信公众号专业排版技能——Markdown → 精美、微信编辑器可接受的 HTML。
- 出品与托管:社区发布者
user_5dda6a29,来源community,分类content-creation,当前版本 1.0.0。 - 分发地址:SkillHub 技能页,API 坐标页 https://api.skillhub.cn/user_5dda6a29/wechat-typeset-pro。
- 社区数据(页面统计):评分 100000,下载 5409,安装 361;标签含
requires_api_key=true(与可选的微信开放平台凭证相关,见下文)。
技能本体为通用 SKILL.md 格式,并附带 scripts/format.py、scripts/publish.py 与 themes/ 下主题 JSON。
核心功能¶
以下能力均来自技能说明与脚本职责,可按需选用。
排版引擎(format.py)¶
- 将 Markdown 转为纯内联样式 HTML,适配微信编辑器限制。
- 30 套主题(如
terracotta、bytedance、newspaper、github、wechat-native等),默认主题在config.json中为newspaper。 - 主题画廊:用真实文章渲染多个主题,在浏览器中切换并复制到公众号后台。
- 内置增强:CJK 间距、加粗标点修复、列表用 section 模拟、外链转脚注、代码高亮、深色模式属性、多种 callout、图说、对话气泡、图片画廊、时间线、步骤、对比卡片、表格斑马纹等。
- 扩展容器语法:
:::dialogue、:::gallery、:::timeline、:::steps、:::compare、:::quote,以及> [!tip]/> [!important]等块。
推送(publish.py,可选)¶
- 将排版结果或指定 Markdown 推送到公众号草稿箱。
- 需配置
WECHAT_APP_ID、WECHAT_APP_SECRET(优先从环境变量读取,说明文档提到可从~/.openclaw/.env加载)。
Agent 侧工作流¶
技能约定 Agent 在用户提到「排版」「微信排版」「公众号排版」等意图时:
- 确认文章路径与内容;
- 必要时做结构化预处理(只加 Markdown 标记,不改措辞);
- 按内容类型套用容器与 callout,并推荐主题;
- 调用
format.py打开画廊或指定主题; - 用户确认后复制 HTML;若要求推送,再调用
publish.py。
输出目录默认 ~/WorkBuddy/wechat-typeset-pro(与 config.json 中 output_dir 一致)。
安装与启用¶
方式一:让 Agent 按 SkillHub 文档安装¶
在支持 Skill 的客户端中,可将官方页面给出的提示词发给 Agent:
请根据 https://skillhub.cn/install/skillhub.md,安装 `@user_5dda6a29/wechat-typeset-pro`。
方式二:skillhub CLI¶
先按 SkillHub 安装说明 安装 CLI,再安装到当前 Agent 的 skills 目录(未指定 --dir 时默认 ./skills/,可能不会被客户端识别)。
command -v skillhub && skillhub --version
curl -fsSL https://skillhub-1388575217.cos.ap-guangzhou.myqcloud.com/install/install.sh | bash -s -- --cli-only
skillhub install @user_5dda6a29/wechat-typeset-pro --dir <skills 目录>
常用 skills 路径(摘自官方安装文档):
- Cursor:
~/.cursor/skills/ - Claude Code:
~/.claude/skills/ - Codex:
~/.codex/skills/或项目下.agents/skills/
安装完成后,在对话中用自然语言触发排版流程即可;具体是否自动加载技能取决于各客户端的 Skill 机制。
配置¶
技能目录下的 config.json 可设置 output_dir、settings.default_theme、settings.auto_open_browser 等。微信 AppID / AppSecret 建议放在环境变量,而非写入配置文件:
| 变量 | 用途 |
|---|---|
WECHAT_APP_ID |
微信公众号 AppID |
WECHAT_APP_SECRET |
微信公众号 AppSecret |
排版脚本依赖 Python 3,并 import markdown(见 format.py);运行前需保证本机 Python 环境与依赖可用。
典型用法¶
将 {baseDir} 替换为技能安装目录(即 SKILL.md 所在路径)。
打开主题画廊(推荐)¶
用真实文章渲染多主题,在浏览器中选择并复制:
python3 {baseDir}/scripts/format.py \
--input "文章路径.md" \
--gallery \
--recommend newspaper magazine ink
直接指定主题¶
python3 {baseDir}/scripts/format.py \
--input "文章路径.md" \
--theme terracotta
常用 format.py 参数:--output / -o 输出目录,--no-open 不自动打开浏览器,--format 取 wechat / html / plain。
推送到草稿箱(需微信凭证)¶
从排版输出目录推送:
python3 {baseDir}/scripts/publish.py \
--dir "排版输出目录" \
--cover "封面图路径(可选)"
从 Markdown 一键排版并推送:
python3 {baseDir}/scripts/publish.py \
--input "文章.md" \
--theme terracotta
--dry-run 仅排版不推送;--title、--author 可覆盖元信息。
适用场景与注意¶
适合谁
- 用 Markdown 写公众号长文,希望统一版式、少在后台手工调样式;
- 需要在多种视觉主题间对比,再粘贴到微信后台;
- 已具备公众号开发凭证,希望把成稿推到草稿箱再人工发布。
限制与注意
- 成稿是内联 HTML,复杂交互与外部样式表仍不适合公众号;
- 画廊模式说明为用真实文章渲染多个主题供选择,主题总数为 30 套,具体画廊展示数量以脚本实现为准;
requires_api_key=true主要体现在草稿箱推送所需的微信开放平台凭证;仅本地排版与复制可不配置;config.json示例中含vault_root等路径,跨机器使用时需按自己的目录调整;- 技能可被
wechat-content-studio等其它技能的排版流程调用,若你已有内容生产链路,可把它当作排版子步骤。
结尾¶
「微信公众号文章排版」把 Markdown、30 套主题、画廊预览和可选草稿推送收进一个 Skill + 脚本包,适合把「写稿」和「公众号可粘贴的 HTML」拆开处理。安装与坐标见 SkillHub 技能页,API 入口 https://api.skillhub.cn/user_5dda6a29/wechat-typeset-pro。