乐于分享
好东西不私藏

我用AI开发了一个微信公众号全自动排版发布工具

我用AI开发了一个微信公众号全自动排版发布工具

写完公众号文章,排版发布又得花掉差不少的时间。上网搜索也没有找到完美符合我需求的工具——要不收费,要不功能阉割,排版效果也不合我审美。忍不了了,干脆自己动手。

1. 缘起:写作之外的事,比写作更烦

我平时习惯用 Markdown 写文章,简洁高效,专注内容本身。但每次写完要发公众号,麻烦事才开始:

把 Markdown 粘贴到公众号后台——格式全乱,标题层级没了,代码块变成一坨,列表缩进消失。我放弃手动调整格式,而是转头去网上找排版工具,结果发现大部分要么付费,要么免费版功能阉割。更恼人的是,就算排版解决了,还有一堆繁琐又重复的操作得自己花不必要的时间去处理——上传封面、填写标题摘要……写作花了不少时间,排版发布又要花几乎同样的时间。

我就想:既然我的需求很清晰,只是需要一个简单的排版工具,既然现在 AI 这么强,为什么不能自己做一个?

2. 第一站:飞书妙搭上的排版工具

最先尝试的是飞书的 AI 开发平台——妙搭。一开始我直接把想法告诉 它,让它帮我搭一个排版工具。但需求不是一次就能想清楚的,我在开发和试用过程中不断发现新的需求、探索怎么做得更好,来来回回迭代了很多轮。

最终做出来的工具可用性很高——在页面上粘贴 Markdown 内容,一键生成公众号格式的漂亮排版,还支持一键复制。

但用了下发现,这只是「半自动化」。排版虽然解决了,从排版好的内容到草稿箱之间还有一堆繁琐事:手动粘贴、上传封面、填标题摘要、处理图片。工作流还是断的。

排版搞定了,但「排版之后」的事才是瓶颈。

3. 方案设计:全流程自动化有可能吗?

带着这个问题,我让 Claude Code 帮我调研微信公众号是否有提供自动化发布的 API。

结论是:不能自动发布,但可以自动创建草稿。微信的 draft/add 接口支持直接创建图文草稿,上传素材、设置标题封面,全部可以程序化完成。不会直接群发,只进草稿箱,最后人工点发布就行。

于是目标清晰了:

写作 → 排版 → 自动创建草稿(标题/封面/正文同步)→ 后台点发布

有两条路径可以实现:

• 方案 A:Claude Code 工作流 — 脚本调用微信 API,写完文章一条指令推草稿
• 方案 B:妙搭扩展 — 在现有排版工具上加发布能力

我选了方案 A。Claude Code 更灵活,并且所有的开发都是在本地进行,方便又高效。

4. 排版工具独立化:从平台剥离

要实现全流程自动化,首先得把排版工具从飞书妙搭上剥离下来,变成一个本地能跑的独立项目。

原项目跑在飞书平台上,85% 是平台模板代码和 AI 插件,核心排版功能其实只有 4 个文件。

要做的事很明确:

• 剥离平台依赖 — 去掉飞书的平台绑定
• 去掉 AI 功能 — 只保留核心排版能力
• 支持两种调用方式 — 一种是打开网页直接编辑预览,适合手动排版;另一种是命令行调用,适合AI agent 自动化执行
• 创建标准项目结构 — 不继承飞书配置

这个过程中最有意思的,是复制功能的修复。

复制到微信:三轮迭代的死磕

排版工具的核心体验之一是「一键复制」。看似简单,实际坑很深——微信编辑器对 HTML 的处理非常特殊。

• 第一轮:用新 API 直接写入剪贴板,解决了加粗换行的问题,但微信会剥离样式标签,导致大部分元素丢样式
• 第二轮:换回传统复制方式,样式保留了,但序列化时会在加粗前后插入空白,微信把空白解释为换行——加粗换行的问题又回来了
• 第三轮(最终方案):既然微信会剥离样式标签,那就不依赖它——把所有样式直接内联到元素上,同时用 <section> 替代微信渲染异常的 <li>。三轮迭代,从「能复制」到「复制后格式完美」

这三轮迭代里,所有的排查和修复都是 Claude Code 自己做的,我只是告诉它复制到微信后是什么效果、哪里有问题,它自己去找原因和改代码。

5. 发布工具开发:打通最后一公里

前面调研时已经确认了,微信提供了 draft/add 接口,可以直接创建草稿——不能自动群发,但上传素材、设置标题封面这些都可以程序化完成,只进草稿箱,最后人工点发布就行。排版工具独立化搞定之后,接下来就是把这条路真正跑通。

第一步,我得去公众号后台申请 AppID 和 AppSecret,这是调用接口的凭证。因为项目后续要开源,密钥肯定不能写进代码里,我用环境变量来管理,确保安全性。

凭证搞定之后,剩下的就是告诉 AI 我要什么:调用微信接口上传图片、上传封面、创建草稿。AI 写代码、调接口、处理各种边界情况,遇到问题我跟它说怎么调整,几轮下来就跑通了。

最后的效果就是,从 Markdown 文件到公众号草稿箱的整个过程都可以通过一句指令自动化完成,几十秒搞定之前要花几十分钟才能完成的事情。

6. 迭代优化:从能用变好用

基础功能跑通后,又做了一轮优化:

• 用户偏好和历史记录 — 每次上传自动记录 media_id、标题、时间,方便后续修改草稿。偏好设置(主题、是否显示标题)自动保存,下次使用不用重新选
• 修改草稿 — 微信没有编辑草稿的 API,只能「删除旧草稿 + 创建新草稿」。虽然不优雅,但能工作
• 智能图片插入 — 文章没配图时,自动扫描当前目录的图片文件,询问用户是否插入。支持两种方式:写入 Markdown(先确认再发布)或直接插入草稿(不修改原文)
• 主题数据统一 — 最初网页版和命令行版各维护一份主题配置,改样式要改两个地方。后来统一收归到一份配置里,一处修改,两端同步生效
• 上传草稿去标题 — 微信公众号的标题是单独设置的,正文里不应再出现标题和分割线。在发布脚本中,排版前自动去掉正文开头的标题行和分割线,网页排版工具不受影响

7. 开源准备:项目重组与脱敏

决定开源后,做了一系列整理工作:

• 目录重组 — 将排版工具和发布工具的核心代码复制到干净的项目目录,排除依赖包、构建产物和历史记录等敏感文件。测试目录精简为一篇样例文章加一张封面图
• 脱敏检查 — 逐一扫描所有文件:AppID/AppSecret 无泄露、无个人真实姓名(只出现笔名「尧栗栗」和 GitHub ID)、无本地绝对路径残留
• AI 引导文档 — 编写了引导文档,详细描述了 AI Agent 引导用户完成首次使用的 9 步流程和后续简化版 5 步流程。用户克隆项目后,只需把一句提示词发给 AI,就能自动走完全程
• README 完善 — 加入了 AI 启动提示词,用户可以直接复制发给 Claude Code、Codex 等 AI Agent,零门槛上手

最终提交到 GitHub:

https://github.com/Samantha-Yao/WeChat-Article-Publisher

GitHub 的配置和代码提交也都是让 AI 自动化完成的,我只是在需要授权的时候在浏览器登录了一下。

8. 效果与反思

效率对比

环节
手动流程
自动化流程
排版
> 25 分钟
10秒
发布
> 5 分钟
10秒

非写作环节从大半个小时压缩到一分钟以内,那些繁琐的机械劳动基本不用自己做了。

几点体会

• AI 辅助开发真的改变了什么 — AI 承担了我不擅长也不想花时间的部分:查 API 文档、写样板代码、调 CSS 兼容性。我来思考和决策,AI 来执行和试错
• 开发过程中的坑比想象中深 — 很多问题文档里不会告诉你,只能一个一个踩坑、一个一个解决。比如微信编辑器会悄悄剥离样式标签,列表渲染会出异常,加粗前后莫名多出空白——这些全靠实际踩坑才能发现。一轮轮迭代纠错,其实就是在不断摸清各种边界和特殊情况
• 开源不只是发代码 — 让别人能用你的项目,需要文档、样例、引导流程。AGENT-GUIDE 和 AI 启动提示词的编写,也很重要
• 整个开发过程,就是我一个人 +  AI — 没有团队、没有 code review、没有项目管理工具。从需求到开源,全链路一个人搞定。这在 AI 出现之前,几乎不可能

如果你也想搭建类似的工作流,或者对这个项目感兴趣,欢迎到 GitHub 仓库看看:

https://github.com/Samantha-Yao/WeChat-Article-Publisher


感谢你看到这里。

我是尧栗栗,前鹅厂开发,现国企产品经理,兴趣广泛、有点 E 很 F 很 J 但极 N 的 INTP。这里没什么垂直定位,就是分享真实的感受、经历、以及杂七杂八的干货。

欢迎关注,一起探索吧 (。・∀・)ノ゙

相关学习资料