
MAKER'S NOTE
给开源插件加 AI 功能比我想象的要复杂得多
复杂不在代码。复杂在定位。
我给自己的开源插件加 AI 功能这件事,比我想象的要复杂得多。
复杂不在代码。代码层面,调个 OpenAI、Claude、DeepSeek 的 API,把用户输入塞进 Prompt,拿到输出解析成 HTML 插进编辑器——这种活,一个前端工程师花一两天就能写完。
复杂在定位。
AI 在你的工具里,到底扮演什么角色?
我见过三种不同的处理方式,每一种都有问题。
三种定位
每一种都有问题

第一种 · AI 是用户的"替身"
输入主题,AI 直接生成完整文章。用户从作者变成了审稿人。
本质不是写作工具,是 AI 内容工厂
第二种 · AI 是用户的"对手"
AI 写一版,用户写一版,最后让用户选哪个好。
把 AI 和用户对立起来,好像写作是一场竞赛
第三种 · AI 是用户的"导师"
用户写一段,AI 给出修改建议,但不直接改原文。
适合学习场景,但效率低下
这三种我都试过。
替身模式
用户增长最快,但留存最低
新鲜劲过了,AI 生成内容同质化严重,平台打压低创,账号做不起来
对手模式
用户最少——没人愿意花钱买个 AI 对手
导师模式
最慢,三个月才积累几千用户
但留下来的全是真在学习写作的人,黏性极高
第四种定位
AI 是工具的"功能"不是工具的"用户"
工具是 WeChatHTMLPlug,用户是公众号作者。AI 是什么?AI 是这个工具里新增的一个按钮,和"插入组件"、"切换配色"、"运行 AI 检测"一样,是一个具体的功能。
AI 不参与"作者"的决策,不替作者写,不和作者竞争。

它只做一件事:
把已有的内容变得更得体
这个定位听起来简单,实际做起来要回答很多问题:
边界
所有"不能"背后的逻辑
AI 能不能改写用户的内容?
不能。改写就是参与决策。
AI 能不能补全用户没写完的内容?
不能。补全就是替用户写。
AI 能不能给用户写一个开头?
原则上不能。
除非用户明确说"我没想好怎么开头,给我三个备选"——这是建议,不是替代。
所有这些"不能",背后的逻辑都是同一个:AI 是功能,不是用户。
产品设计
这个定位决定了一整套设计
为什么"智能转换"是默认模式,而不是"AI 生成"?
因为转换是辅助,生成是替代。大部分人来这个插件,是为了"我手头的稿子能发出去",不是为了"我没稿子,让 AI 帮我写"。
为什么"样式模板"是用户选,而不是 AI 选?
因为风格是用户的判断,AI 不能替用户决定"我今天想走清新风还是科技风"。
为什么 AI 输出必须支持用户编辑?
因为 AI 的输出是"建议",用户的修改是"决定"。两者不能合并。
为什么 AI 生成模式藏得深一点?
因为这个功能用户想用自然会找,但默认入口是转换——这是一个"产品态度"。
最戏剧性的一幕
"AI 润色"——完全没必要
我原本设计了一个功能叫"AI 润色"——让 AI 把用户写得不好的句子改写得更通顺。功能上线测试时我才发现,这功能完全没必要。
为什么?因为用户自己改得更好。
AI 润色出来的句子,看着流畅,但失去了用户自己的语气。用户改过的句子,可能不够"通顺",但有他自己的味道。公众号是个性化的东西——每个账号都有自己的表达习惯,这个习惯 AI 学不来。
把"AI 润色"砍掉之后,整个产品反而清爽了。
顿悟
做工具最容易犯的错不是做得太少是做得太多
每个 AI 功能看起来都很酷,加上去用户可能用得上。但用户用上之后,真正需要的可能不是"多一个功能",而是"少一个干扰"。
WeChatHTMLPlug 这个插件三个月了,核心功能从来就那几样:写 HTML、插组件、查素材、检测 AI、提取模板。每加一个新功能,我都得问自己:
这是不是"在帮用户"还是"在让用户更依赖我"?
判断标准
加还是不加?
加 AI 转换
是在帮用户 ✓
加 AI 生成
灰色地带——做不做都行,但要做就明确告诉用户"这是 AI 写的"
加 AI 润色
是在让用户更依赖我 ✗ 砍掉
工具的好用,某种程度上是克制出来的。

AI 时代的工具设计,最大的诱惑是"让 AI 多做一点"。但真正好用的工具,是让 AI 严格待在"功能"的位置上,不越界,不替用户做主。
这不是技术问题,是产品哲学。
技术可以迭代,模型可以升级
但一个工具的定位一旦乱了再好的技术也救不回来
— END —
夜雨聆风