一套免费、离线、可复用的公众号模块化排版工具:你用 Markdown 写文章、选定一套主题,
一键生成排好版的网页,点「一键复制」后粘贴到公众号后台即可。
不付费、不联网、不依赖任何第三方服务,采用「共享内核 + 可插拔主题」结构:
内核只一份,主题可无限增加;同一篇稿子换个主题就换一种排版。
普通用户(不想装 Python):直接下载单文件
-
下载
dist/公众号排版工坊.html(约 80 KB),双击用浏览器打开即可。 -
内核、多套主题、示例全部内联,零依赖、断网可用,无需安装任何软件。
想要源码 / 自定义主题:
-
准备好文章,用普通 Markdown 写(按《docs/AI排版手册.md》加模块标记)。
-
把
.md拖到渲染.bat图标上(Windows,默认「蓝白杂志」主题),自动弹出网页。 -
点网页顶部「一键复制排版结果」→ 公众号后台新建图文 → 正文区 Ctrl+V。
也可以直接双击
离线网页版.bat打开纯网页版(无需 Python / 服务器),在左侧编辑、右侧预览。
用 AI Agent 排版:把 Skill 装进 AI,之后直接发文章给它
- 复制下一节《把两个 Skill 装进 AI Agent》里的一段话发给 AI,它会自动安装并验证; 装好后只要说「帮我把这篇文章排成公众号」即可。
仓库自带两个 AI Skill(wx-layout 排版器、wx-theme-extractor 主题提取器)。 无需手动找目录、复制文件:把下面这段话连同仓库路径发给你的 AI Agent,它会自动完成安装与验证。
前提:AI Agent 能访问你下载 / 克隆的 wx-layout 仓库;本机已装 Python 3.8+(用于安装验证与日常排版)。
第一步:复制以下内容,把 <仓库路径> 替换为实际路径后发给 AI
请帮我把「公众号排版工坊(wx-layout)」配套的两个 AI Skill 安装到你的技能目录,并验证。
仓库路径(含 README 的目录):<仓库路径,例如 E:\fengdu\wx-layout>
(若你在本对话中已经能访问这个仓库,直接使用即可。)
要求:
1. 识别你所在平台的用户技能目录(Agent Skills 目录);若你不确定路径,先告诉我准确位置,不要随意放置。
2. 把仓库 skills/ 下的 wx-layout/ 和 wx-theme-extractor/ 两个目录完整复制过去,保持 SKILL.md
文件名与 references/、scripts/ 子目录结构不变,不要只复制 SKILL.md。
3. 这两个 skill 运行时依赖完整的 wx-layout 项目仓库(wx_core.py、render.py、themes/)。请任选其一配置项目根:
- 永久设置环境变量 WX_LAYOUT_ROOT 指向仓库路径;或
- 之后调用 scripts/theme_contract.py 与 render.py 时一律加 --root <仓库路径>。
4. 安装后运行验证:
python "<技能目录>/wx-layout/scripts/theme_contract.py" 蓝白杂志 --root <仓库路径>
能打印主题令牌与 roles 即成功;失败则把报错原文告诉我并修复。
5. 最后告诉我:安装路径、两个 skill 的触发方式(如「帮我把这篇文章排成公众号」),
以及日常排版时我该如何把文章发给你。
第二步:AI 回复安装成功后,直接把写好的文章发给它(或拖入 .md 文件),说明想用的主题即可。
也可以手动安装:把两个 skill 目录复制到对应平台的技能目录,结构保持不变:
| 平台 | 技能目录 |
|---|---|
| 豆包办公(Doubao Work) | C:\Users\<用户名>\AppData\Local\DoubaoWork\User Data\<Profile>\.doubaowork\agent_mode\workspace\.user_skills\ |
| Claude Code | ~/.claude/skills/(Windows:C:\Users\<用户名>\.claude\skills\) |
| Cursor | ~/.cursor/skills/(全局)或项目内 .cursor/skills/ |
| 其他兼容 Agent Skills 的平台 | 该平台约定的 skills 目录,保持 SKILL.md 结构不变 |
不安装也能用:直接把
skills/wx-layout/SKILL.md连同你写好的文章发给 AI,它会照流程执行。 完整说明见skills/README.md,让任意 AI 排版的通用规则见《docs/AI调用指南.md》。
-
免费离线:只用 Python 标准库,无需
pip install、无需联网;单文件版连 Python 都不需要。 -
模块化排版:刊头、章节标题、正文、截图、引用、小标题、视频卡片、结尾、作者名片等按模块拼。
-
多主题:主题放在
themes/,加一套 = 新增一个文件,不改内核、不影响老主题。 -
内容与样式分离:同一份稿子在不同主题下自动呈现不同形态(纵向 / 横向、含图 / 不含图等)。
-
微信内部格式输出:生成的是微信认可的 leaf 内部格式,配合一键复制,粘贴干净、不错位。
-
配套两个 AI Skill:
skills/内置 wx-layout(把你写好的成稿只做排版、不代写) 与 wx-theme-extractor(从任意公众号文章复刻新主题);可安装到 Agent,也可让任意 AI 直接照《docs/AI 调用指南.md》执行。
| 方式 | 是否需要 Python | 入口 | 适用 |
|---|---|---|---|
| 单文件 | 否 | dist/公众号排版工坊.html,双击 |
普通用户、分享给他人 |
| 命令行渲染 | 是 | python render.py 文章.md --open,或拖 渲染.bat |
写作者、批量使用 |
| 本地工作台 | 是 | 双击 工作台.bat(serve.py) |
可视化三栏、实时预览 |
| 纯网页版 | 否 | 双击 离线网页版.bat(web/index.html) |
不想装 Python、想用网页 |
wx-layout/
├─ README.md 项目说明(本文件)
├─ LICENSE MIT 开源协议
│
├─ 渲染 / 工作台 / 离线网页版.bat Windows 双击/拖拽入口(普通用户用这三个)
├─ 打包单文件.bat 重新打包分发用单文件(进阶)
├─ render.py 命令行入口(渲染单篇)
├─ serve.py 本地工作台(三栏可视化)
├─ wx_core.py 共享内核:解析 + 微信适配 + 复制(一般不用改)
│
├─ themes/ 主题:每套一个 .py(蓝白杂志 / 暖橙横向 / 暖棕手记 / 翠绿科技)
├─ web/ 纯网页版:内核 core.js + 主题 js + 示例(双击 bat 打开)
├─ examples/ 各主题示例源稿(.md)与渲染预览(.html)
├─ skills/ 两个 AI Skill(wx-layout 排版器 / wx-theme-extractor 主题提取器)
│
├─ docs/ 全部文档
│ ├─ AI排版手册.md 模块语法手册(写稿/排版先看它)
│ ├─ AI调用指南.md 让任意 AI 帮你排版的可复制规则
│ ├─ 主题Demo生成规范.md 新增主题时如何生成示例(维护者向)
│ └─ 项目架构蓝图.html 架构设计与技术决策(维护者向)
│
├─ tools/ 主题提取、保真对比、打包、双端校验脚本(维护者向)
└─ dist/ 打包好的单文件分发产物(公众号排版工坊.html)
普通用户只用得到根目录的三个 bat 或
dist/单文件;写作者用render.py与docs/AI排版手册.md;要扩展主题 / 安装 AI Skill 才会进入tools/、skills/、docs/。
-
单文件 / 纯网页版:无需 Python,任意现代浏览器即可(Edge、Chrome、360、QQ、Safari、手机浏览器)。
-
命令行 / 工作台:Python 3.8+,仅使用标准库,无需联网、无需安装第三方包。
# 用默认主题渲染并打开
python render.py "文章.md" --open
# 指定主题(主题名 = themes 下文件名,不带 .py)
python render.py "文章.md" --theme 翠绿科技 --open
# 指定输出位置
python render.py "文章.md" -o "out.html"
# 列出当前所有主题
python render.py --list-themes
| 参数 | 作用 |
|---|---|
--theme 主题名 |
选择主题,不填用默认(蓝白杂志) |
--open |
渲染后自动在浏览器打开 |
-o 路径 |
指定输出 HTML 路径 |
--list-themes |
列出所有可用主题 |
仓库自带两个 AI Skill,自动安装的方法见上方《把两个 Skill 装进 AI Agent》,
完整说明见 skills/README.md:
- wx-layout(排版器,高频):把你已写好的文章(文件或全文)交给它,它读取主题真实
契约,保留你的原文、只加模块标记,再调
render.py渲染并引导一键复制。只排版、不代写。 - wx-theme-extractor(主题提取器,偶尔):给它一篇公众号文章的保存页(.mhtml/.html),
它用
tools/脚本抽 DOM 与样式,归纳出一套新主题(Python + JS 双端),生成示例并通过 保真 / 双端校验后入库。
不安装 Skill 也能用任意 AI 排版:你先写好文章,AI 只负责排版(保留内容、只加模块标记), 程序负责精确渲染:
-
把《docs/AI 调用指南.md》里的「通用排版规则」连同你已写好的文章发给任意 AI(ChatGPT / Claude /
Gemini / Kimi / DeepSeek / 文心 / 通义 / 豆包等)。
-
AI 输出排版后的 Markdown,你把它粘进单文件 / 工作台,选主题、看预览。
-
一键复制 → 粘贴公众号后台。
最稳的做法是把「主题示例」发给 AI 当范本,让它照示例的版式排版、不改动你的内容; 没给公众号名称时,AI 会写「【请改成你的公众号名称】」占位并提醒你替换。
-
模块语法见《docs/AI排版手册.md》:刊头
issue、章节part、小标题sub、截图shot、引用
quote、视频卡片video、结尾end、作者名片author等。 -
同一模块在不同主题下形态可以不同:例如「卡片」在某主题里是封面图 + 标题 + 摘要 + 按钮(纵向),
在另一主题里仅标题 + 摘要(横向、无图无按钮)。
-
作者写「语义 + 全量字段」,主题按需取用;字段缺失时自动降级,不会报错留白。
-
在
themes/新增一个.py(可复制现有主题改),定义THEME令牌与各render_<role>。 -
在
web/themes/增加对应的 JS 主题(与 Python 保持一致)。 -
用
examples/下的示例验证;运行python tools/web_parity.py(并node tools/web_parity.js)确保 Python 与 JS 两端渲染一致。
-
从现有公众号文章提取主题的规范见《docs / 主题 Demo 生成规范.md》。
约束:样式只来自真实 HTML / 主题代码,不臆造;新增主题不改内核、不改老主题。
-
双击
打包单文件.bat(或python tools/build_web_single.py),会重新生成dist/公众号排版工坊.html,把这一个文件发给他人即可,对方双击即用。 -
可进一步部署到免费静态托管(GitHub Pages / Cloudflare Pages 等)得到在线网址。
Q:双击 渲染.bat 一闪而过?
A:需要把 .md 拖到 bat 图标上,而不是直接双击;不想装 Python 就用单文件版。
Q:提示「找不到 python」?
A:Python 未加入 PATH,安装时勾选 Add Python to PATH,或改用 py render.py 文章.md。
Q:粘贴后图片不显示?
A:外链图片可能被拦截;先在公众号后台上传、复制 mmbiz.qpic.cn 地址最稳妥;图片不支持本地路径。
Q:提示「文字背景尽量不要使用渐变」?
A:这是编者按 / 作者卡片的底色、与主题一致,不影响阅读,点「继续插入」即可。
Q:视频怎么处理?
A:视频需先上传到公众号素材库、是播放框,无法用网页样式生成;用 :::video 渲染成视频卡片,
发布时把光标放进上方视频位、点工具栏「视频」插入,下方文字不丢失。
Q:模块能重复用吗?
A:part / sub / shot / quote / video 可多次使用;issue / author / end 每篇各一次。
-
共享内核 + 可插拔主题、微信内部格式与一键复制
-
多套主题(蓝白杂志 / 暖橙横向 / 暖棕手记 / 翠绿科技)
-
纯网页版、本地工作台、单文件打包
-
任意 AI 可调用的通用规则
-
两个 AI Skill 随仓库提供(
skills/wx-layout只排版不代写、skills/wx-theme-extractor复刻新主题) -
免费静态托管的在线版本
-
更多主题与移动端 / 深色模式等体验打磨
本项目基于 MIT 协议开源,见根目录 LICENSE,可自由使用、修改与分发。