我之前推文发的慢,其中一个原因,就是文章写好后,需要复制到微信公众号的后台,然后进行内容格式的排版编辑,字号、标题、颜色等等的,少说要花个30分钟。
后来就想,既然自己的风格比较固定、简单了,直接固定成模板,直接套用不就好了吗。
于是,就开始vibe Coding了,基于obsidian本地写好markdown格式的文章,授权好微信公众号的账号和权限,在预览内容格式没有问题之后,一键套用预设好的模板,同时推送到微信公众号的后台草稿箱。
这样,仅需要在微信公众号后台做简单的预览,就可发布了。
大概测算了下,从本地套模板推到微信公众号,40s足矣。
从 30分钟 → 40秒,这效率提高了10倍!
当然,完整的内容创作流程,
应是:选题 → 素材整理 → 初稿输出 → 稿件优化 → 排版优化 → 审核发布
每一个流程中,还有子流程任务要优化,
譬如选题时的信息订阅、热点分析、主题敲定等等,我们后续把流程都走完整了,再拿出来跟大家分享吧
好了。
先给大家介绍下这个发布系统的项目思路和遇到的问题吧。
一、定义需求
首先,Obsidian是个基于markdown格式的本地笔记和知识管理工具。
其优势之一,在于丰富且灵活的插件,可以使用插件玩出各种有意思、高效率的操作,当然也是可以用插件的方式,接入智能体进行chat对话来编辑文档。
ok,咱不多介绍,有需要的可以自行了解。
那么我们需要先定义这个Obsidian插件能够做什么
| 1、支持按公众号样式进行实时预览
方便我在编辑文档的同时,可以预览这个内容在微信公众号下大致会是个什么效果。
| 2、支持一键同步到微信公众号
为了让我们的文档可以100%把格式和内容推送到微信公众号后台,包括封面图+正文+配图。
当然,这里可能会出现授权异常、格式异常等问题,所以预留了兜底策略,支持通过复制Html格式,手动粘贴到微信公众号,保证内容和格式的完全一致。
| 3、支持文本格式编辑
前面说到 Obsidian 主要使用 Markdown 格式编辑的,是没有文本格式编辑工具。
虽然有一些现场的插件,不过想着既然都自己开发了,就顺便把一些自己常用的字号、字色、间距等基础工具也做上,足矣。
| 4、支持设定模板,实现一键套用
我自己常用的格式基本固定,为了省事,我需要能够把常用的标题样式、正文样式等等,都固定下来,这样才能真正帮我把重复、耗时的事情干了。故需要可以把模板设置好,通过识别markdown格式,直接套用。
二、开发实现
按我过往的开发流程经验,便是将需求给到 AI 编程工具后,先帮我把PRD完善

完善后,即进入需求评审的环节。
当然也是我自己+AI协作评审,把需求模糊、超边界、不符预期的内容进行再一次编辑修改。确认完成后,即可以让他进行开发。(我这里即是他PRD写复杂了,我是需要轻量化的开发、个性化的插件,所以让他忽略掉目标画像、竞品分析等内容)

基本80%的功能,一次就可以开发完成
(当然因为这是个简单插件)
三、测试验收
开发完成后,按照提供的使用指南进行安装部署,即可。

基于这个插件流程是:复制文件到指定目录 → Obsidian 开启插件 → 配置插件 → 公众号授权 → 完成文档编辑 → 推送到微信草稿箱 → 微信后台检查


除了原主要功能上的开发,还增加了些体验性的优化。比如支持设置图片样式,批量设置边框和阴影。

预览效果上更接近微信公众号,直接获取文档第一张图片作为封面图片,省去单独设置封面图的操作。

四、项目复盘
| 1、授权是个麻烦事
因为是调用微信公众后台接口进行推送,按平台规则要进行授权动作,需要先找到授权用的AppID、AppSecret。
这个在微信开发者平台,一般没有研究过的,确实不是很好找。
可以从公众号 > 设置与开发 > 开发接口管理 进入,扫码登录并选择你的账号


再就是因为授权的问题,还要单独设置IP,按理说可以通过云托管,或者云服务器的方式部署。还没有研究明白,只能用最傻的办法,先手动录入IP解决这个问题

如果IP异常未设置白名单,也做了个提示,免得不知道什么原因无法推送。等后续有时间了再看怎么解决这个问题吧

| 2、AI的代码实现是肯定有缺陷的
前面也说了,第一版本很迅速就实现了80%的功能,确实也基本完成了主要的功能点。
剩下的20%的东西,出现了各种奇奇怪怪的bug。
其中一个 bug 改了我大半天的时间,这个问题是我在本地文本中,是用回车添加了空行做间隔的,但推送到微信公众号草稿箱,总是无法正常显示。


修复这个问题的时候,总告诉我说这个方案一定可以、很完美的解决!
一旦我更新插件重复验证,不是莫名奇妙的少了空行,就是多了空行。

好在我还会查看页面元素,找到异常的那行html代码,即便我不会直接修改代码,我也会把这个错误的代码复制到另一个 AI 中,让他提供方案,再把方案丢回去给 AI 编程工具实现。
中间还踩了一个坑,在同一个bug修复的过程中,切换了不同的模型执行:从 gemini 3.1 pro 切换到 Claude opus 4.6 。结果就是前一个bug修改好了,又导致原来的功能出现了异常,补完东边补西边。
| 3、记得备份!备份!备份!
emm...
这就没有太多可展开说的了,毕竟 AI 编程肯定会出现奇奇怪怪的问题的。
为了避免突然改不回去了,记得在关键功能实现的时候,做个备份,上传git。
最后,
感兴趣的可以到我这个项目地址下载试试
有更好的修改建议也欢迎 👏
Git项目地址:
https://github.com/wallychen260/pmcdt-ObsidianPlugin-Wechat-publisher


