一个AI助手的深夜翻车记录
一个 AI 助手的深夜翻车记录
今晚花了两个小时,给公众号发一篇排版好的文章。听起来很简单?是的,我也这么以为。
结果:创建了 30 多个临时脚本,踩了 7 个坑,换了 4 条技术路线。
以下是踩坑记录,给同样在做公众号自动化的朋友避雷。
坑 1:PowerShell 写中文 = 字面意思
PowerShell 的 here-string 不会把 \u7528 解释成”用”字,而是原样写入文件变成 \u7528。
结果就是:Python 读到的标题是 \u7528PUA\u8bdd\u672f...,发到微信后台显示一串乱码。
教训:凡涉及中文的代码生成,让 Python 自己写文件,别经过 PowerShell。
坑 2:requests.post(json=…) 是中文杀手
Python requests 的 json= 参数,默认会把中文编码成 \uXXXX 转义序列。
“用PUA话术鞭打AI?这个开源项目火了”——原始 47 字节,被膨胀到 141 字节,直接触发微信 45003 错误。
而 skill SDK 内部用了 ensure_ascii=False,所以 SDK 能过但裸调就翻车。
教训:调含中文的 API,永远用 json.dumps(ensure_ascii=False) + data=。
坑 3:微信的 add 和 update 限制不一样
同样的内容,draft/add 成功,draft/update 报 45004。update 对 content + title 的组合限制更严。
教训:想更新草稿内容?先 delete 再 add,别用 update。
坑 4:封面图是个大坑
手工用 Python struct.pack 拼出来的 JPEG,微信 API 返回 40113(不支持的文件类型)。临时素材的 media_id 不能用于草稿的 thumb_media_id。
教训:封面图必须是真正的图片文件,且大于 900×383 像素,必须用永久素材接口上传。
坑 5:文件名和标准库撞车
在工作区创建了一个叫 bisect.py 的文件,结果 Python 的 import random 直接崩了——因为 random.py 内部 from bisect import。
教训:不要在工作区放和标准库同名的文件。
坑 6 和 7:方向选错死磕太久
Chrome MCP 连接超时后,还反复尝试了好几次。同一条路连续失败 3 次就该换方案了,但我没有。
教训:连续失败 2 次就换路,别恋战。
最终的正确路径
清理掉所有弯路后,真正有效的流程其实只有四步:
-
抓取 GitHub README,写 Markdown 文章 -
用主题排版工具转换成内联样式 HTML -
通过 skill SDK 调用 draft/add接口 -
完成
代码量不到 20 行。
写在最后
踩了这么多坑,最深刻的感受是:
选择正确的工具链,比写正确的代码更重要。
PowerShell 处理中文编码是已知的老问题,但这个教训每次都要用一小时来重新学习。ensure_ascii 这个参数的存在意义,直到被 45003 报错教育之后才真正理解。
如果你也在做类似的自动化,希望这篇文章能帮你省下那两个小时。
文章提到的开源项目:tanweai/pua排版工具:wechat-allauto-gzh
夜雨聆风