我用 Cursor 写了个公众号排版自动化脚本,踩了2个“血坑”后,我悟出了 AI 编程的真相

昨晚凌晨 2 点,望着电脑屏幕上因为复制粘贴而彻底错乱的微信公众号排版,我终于怒了。

作为一名科技博主,我的日常工作流是这样的:在本地用 Markdown 行云流水地写完文章,然后打开某个第三方网页编辑器,把内容粘贴进去,套用模板,再复制生成的富文本,最后小心翼翼地粘贴到微信公众号后台。

如果一切顺利还好,但现实往往是:图片间距突然变大、代码块的高亮全军覆没、甚至有些加粗格式莫名其妙地消失了。于是,我又得在微信那个极其难用的编辑器里,像个修理工一样一点点微调。

天下苦“公众号排版”久矣!

在这个 AI 都能帮人写商业企划书的时代,我为什么还要把生命浪费在这种毫无技术含量的“体力活”上?我决定,把这个烂摊子交给最近大火的 AI 编程神器 Cursor,让它帮我写一个自动化排版脚本。

事实证明,用 Cursor 解决真实工作流痛点并不难,但掌握实操中的避坑指南,才是你从“看个热闹”变成“AI 自动化高手”的真正分水岭。

---

一、小白爽文时刻:用大白话让 Cursor 写出初代脚本

很多人对 AI 编程有畏难情绪,觉得“我连 Python 环境都不会配,怎么写代码?”

其实,现在的 AI 早就进化到了“听得懂人话”的阶段。你不需要知道什么是 DOM 树,也不需要懂 正则表达式,你只需要像给实习生下达任务一样,把需求描述清楚。

打开 Cursor,我直接在对话框里输入了第一轮 Prompt(提示词):

“你好,我是一个不懂代码的自媒体作者。
我现在有一个文件夹,里面全是我写好的 Markdown 格式的文章。
我需要你帮我写一个 Python 脚本,实现以下功能:
1. 读取这个文件夹里的所有 .md 文件。
2. 把它们转换成 HTML 文件。
3. 在转换的时候,帮我加上一套好看的 CSS 样式(要求:字体用系统默认无衬线字体,行高 1.6,代码块要有暗色背景和圆角)。
4. 把转换好的 HTML 文件保存在一个叫 'output' 的新文件夹里。”

按下回车键,奇迹发生了。

Cursor 像一个极其熟练的程序员,唰唰唰地开始生成代码。它不仅给出了完整的 Python 脚本,甚至还在代码下面贴心地附上了运行说明:

你需要先在终端运行 pip install markdown 来安装依赖库,然后运行 python convert.py 即可。

我半信半疑地照做了。终端里闪过几行绿色的提示符,打开 output 文件夹,里面整整齐齐地躺着转换好的 HTML 文件。双击用浏览器打开,排版极其优雅,代码块、引用、标题层级分明。

那一刻的“爽感”,简直无法用语言形容。 我仿佛看到自己以后每次发文,都能省下至少半个小时的排版时间。

然而,我高兴得太早了。当我想把这份胜利的果实搬到微信公众号时,现实狠狠地给了我一巴掌。

---

二、进阶的代价:实操中踩到的 2 个“血坑”

在这个看似完美的开局之后,我迎来了长达两个小时的“折磨”。如果你也想用 AI 帮你写自动化工具,请务必仔细阅读这一部分,它能帮你省下无数个抓狂的深夜。

坑一:微信公众号的“内联 CSS 傲娇症”

我满心欢喜地打开生成的 HTML 文件,全选(Ctrl+A),复制(Ctrl+C),然后粘贴(Ctrl+V)到微信公众号后台。

结果?格式全乱了。

优雅的行高不见了,代码块的暗色背景变成了白底黑字,所有的元素挤在一起,就像一个刚被扒光了衣服的纯文本。

为什么浏览器里看起来好好的,一到微信就不行?

经过一番查阅,我发现了微信公众号编辑器的一个“潜规则”:它极其傲娇,只认“内联样式(Inline CSS)”,并且会无情地剥离掉所有的

这是一个标题

微信后台一看:

{html_content}

"""

3. 核心魔法:使用 premailer 将全局 CSS 强制转换为内联 CSS!

inline_html = transform(full_html)

... 后续的保存文件逻辑 ...

再次运行脚本,复制生成的 HTML 到微信后台。这一次,完美的排版毫无保留地呈现在了编辑器里。第一个大坑,填平了!

坑二:Cursor 的“上下文遗忘与代码覆盖”

就在我以为大功告成,准备微调一下字体颜色时,第二个坑出现了。

我跟 Cursor 说:“把 H2 标题的颜色改成深蓝色,并且在标题前面加一个小方块的装饰。”

Cursor 很快给出了修改后的代码。我点击了 Apply(应用),然后运行。

报错了。

仔细一看代码我差点吐血:Cursor 在修改 CSS 样式的同时,居然把我之前千辛万苦调试好的“批量读取文件夹”的逻辑给删了! 它把脚本退化成了只读取单个写死的文件名。

这就是目前所有 AI 辅助编程工具的通病:在进行局部微调时,如果上下文过长,AI 很容易“顾此失彼”,甚至用残缺的代码覆盖掉你原本正常的逻辑。

破局方案:锁定核心代码与切换顶级模型

为了解决这个问题,我总结了两条极其重要的经验:

1. 善用 Cursor 的 @Files 功能:在提问时,不要只写需求,一定要用 @ 符号选中你当前在写的 .py 文件,并在 Prompt 中加上一句“紧箍咒”:

> “请仅修改 CSS 样式部分的变量,绝对不要修改或删减现有的文件读取和保存逻辑。保持原有代码结构不变。”

2. 遇到复杂逻辑,果断切换顶级大模型:在解决这个坑的时候我发现,如果用默认的普通模型,它在处理长篇幅代码和复杂 CSS 逻辑时很容易“降智”。写这种带复杂逻辑的脚本,强烈建议在 Cursor 里把 API 切换到顶级代码模型,比如 Claude Sonnet 4.6

很多朋友私信问我,如果没有海外信用卡,怎么稳定调用 Claude Sonnet 4.6 这种顶级模型?这里顺便给大家安利一个我一直在用的 API 聚合平台:[api.884819.xyz](https://api.884819.xyz)

作为开发者和 AI 重度用户,我极力推荐它,原因很简单:

* 注册极简:用户名+密码即可注册,完全不需要邮箱验证,省去了收不到验证码的烦恼。

* 白嫖福利:注册即送 5 元体验额度。

* 全模型支持:你可以用它在 Cursor 里直接调用 Claude Sonnet 4.6、Gemini 3.1 Pro 等旗舰模型。同时,平台内置的国产大模型(如 Deepseek V3/R1、通义千问 Qwen3 等)完全免费

* 计费良心:没有月租、没有订阅,纯按量付费。平台还内置了 AI 对话功能,注册后直接能在网页端用。

* ⚠️ 重点新规福利即日起新注册用户系统自动送 50 万 token,想要更多可以通过工单联系客服申请,再手动赠送 200 万 token。(拿来写脚本、跑测试简直不要太爽)。

把 Cursor 的底层模型换成 Claude Sonnet 4.6 后,那种“改了东墙塌了西墙”的弱智错误再也没有出现过。

---

三、终极工作流:把 AI 变成你的专属研发团队

经过两个小时的磨合,我的自动化排版脚本终于大功告成。

现在,我只需要打开终端,输入 python wechat_format.py

不到 1 秒钟,文件夹里的 10 篇 Markdown 文章瞬间变成了带着精美内联 CSS、完美适配微信公众号的 HTML 文件。

看着屏幕上刷刷滚动的成功提示,我突然对 AI 编程有了更深的理解。

很多人以为,AI 编程就是“我一句话,它给我一个完美的软件”。

这是一种不切实际的幻想。

真实的 AI 编程,更像是你是一个拥有清晰业务逻辑的产品经理,而 AI 是一个不知疲倦、精通所有语法的初级/中级程序员。

* AI 负责写代码的体力活:它懂 premailer 的 API 怎么调,懂正则怎么写,懂文件流怎么处理。

* 你负责理清边界和纠错:你需要知道微信公众号的排版限制(内联 CSS),你需要发现它代码覆盖的错误,你需要引导它朝着正确的方向迭代。

只要你掌握了这种“人机协作”的心法,懂不懂代码,已经不再是阻碍你创造工具的鸿沟。

---

终极悬念:这,还不是结束

现在,虽然脚本已经能完美跑通了,每天帮我省下大量时间。但是,每次排版都要打开黑乎乎的程序员终端,敲打命令行,多少还是有点不优雅,也不方便分享给身边不懂技术的新媒体同行。

如果,能把它变成一个像微信一样双击就能打开、带有漂亮界面的桌面软件就好了。

你猜怎么着?

下一篇,我将挑战继续用 Cursor,把这个命令行脚本,直接打包成一个带精美拖拽界面的 Mac/Windows 桌面软件! 并且,全程依然不写一行前端代码。

想看纯小白如何用 AI 在 10 分钟内开发并打包一款独立 Desktop App 吗?点个关注,我们下期见!

---

本文由8848AI原创,转载请注明出处。关注8848AI,带你从零开始学AI。

#AI教程 #Cursor #Claude #人工智能 #8848AI #AI学习 #Prompt技巧 #效率工具