本人产品狗一枚,趁着都在讨论 cursor ,也做个浏览器扩展来玩玩,顺便分享下 cursor 使用心得。本人不能说对技术完全没了解,毕竟经常跟开发大佬打交道略有耳闻一些术语,本次使用了 cursor 来生成了一 rss 订阅浏览器扩展 rssflow ,代码纯 cursor 生成、除了一些配置信息手动修改外,经过两次重构和性能优化,历时一个月 rssflow最终完成了 Edge 和 Chrome 扩展的上架。https://rssflow.oinchain.com/
开发初衷
项目启动其实挺随意。偶然在抖音上刷到用 Cursor 几分钟撸了个浏览器扩展的视频,而我本身是 RSS 订阅的拥趸,但不太喜欢安装对于的订阅 App 或桌面软件,我需要一个随手就用,用完就走的订阅工具。再加上 Google Gemini 有免费的 API ,国内的 Deepseek 和 Siliconflow 性价比也很高,所以就打算手搓一个具备 RSS 订阅和 AI 摘要功能的扩展的想法了:
一款 RSS 浏览器扩展,不需要账号登录、即装即用,把未读文章的消除以一种解压的方式来呈现, 具备 RSS 的阅读器的基本功能,同时具备 AI 摘要功能。
开发过程-万事开头难
把这个粗略的想法,问 chatgpt ,让他分析这个目标在浏览器扩展上技术可行性,让它结合最佳实践给出具体的技术方案,拷贝到 txt 文本上,然后所有的项目都基于这个 txt 文本开始。 让 cursor 先理解这个技术方案,让 cursor 把最简要的文件结构搭建起来,可以使用 composer 模式让他自动创建文件。 要求 cursor 以最简单能跑通流程方式来逐步迭代实现,比如:首先要求其验证 rss-parser.js 解析 rss 在扩展上的技术方案是否可行,要求跑通 RSS 订阅和显示订阅内容为目标,开始不要考虑各种边边角角的问题,只要这个最简单的流程能跑起来即可,万事开头难,只要项目能跑起来,慢慢就把积木搭起来了。整个 cursor 开发的过程接近 1 个月,最主要是 css 代码和某个文件超过 2000 行,导致代码经常抽风,再加上摸索使用 cursor 浪费大量时间。
Cursor 使用心得
折腾完这个项目,简单分享一些个人经验:
-
万事开头难,先从简单的跑通流程开始。
- 不要一开始就要求实现一个很完整的大功能。
- Cursor 可能会抽风,出现大量错误,难以定位和修复,这对于不懂代码的人来说是灾难。
-
只有初步想法,怎么开始。
- 可以问 ChatGPT 、Claude 或 Gemini ,汇总后得出大致的落地技术方案。
- AI 阅读的代码量远超人类,要求它以最佳实践方案考虑设计,它给的会比你预想的多很多。
- 这种场景下如果有款 AI 产品可以实现模型自动互提问题、互相回答、讨论确定最终技术方案,那就更好了。
-
根据项目特点配置 Cursor 的 Rules for AI 。
- 直接描述你的项目和场景需求,让 AI 生成对应的提示词。
- AI 比你更懂如何写 Prompt ,没必要花太多时间研究 Prompt 框架。
- 也可以直接到 cursor.directory 上找适合项目的技术栈的提示词。
-
解决 Cursor 上下文不足和不时抽风问题:
- 无法根治: 只能及早发现,及时治疗(回滚代码)。
- 单文件代码量: Cursor 在单文件 1000 多行代码时处理起来还算游刃有余,超过 2000 行或接近时,抽风概率会很大,最好尽早拆分功能。
- 拆分过细,解决抽风问题? 上下文长度是硬伤,分拆太细,它后面可能会忘记,导致重复实现。
- 善用 Git: 如果一个小问题,改了一堆代码,同时错误没有减少反而增加,大概率在抽风。
- 分支开发: 在做复杂功能前,最好创建一个分支,通过 Git 更细粒度地控制版本,因为这个复杂功能有很大概率会失败,通过 git 来更细的控制版本,让代码变得可控,比如我做多语言适配模型回复语言和播客功能就改了很长时间,把原有代码都改乱了,就差问候 cursor 全家了,这个需要点耐心。
-
防止 Cursor 修改正常代码逻辑:
- 提示词限制: 在提示词中加入限定,如:
每次按指令执行代码建议,不能对与本次指令无关的代码逻辑和功能进行修改 。
- Composer 对话: 对话太长,建议新开窗口。 一直在一个对话窗口的好处是有足够的上下文,不好的地方恰恰是知道太多了,历史对话中包含多个功能的改动,cursor 有时会不知所措。
- 功能迭代: 开始新功能或迭代时,建议新开窗口,先
@codebase ,让 Cursor 熟悉代码,要求重点关注接下来要迭代的功能和代码逻辑,然后再开始提你的迭代需求。
-
避免 Cursor 过度设计:
- AI 的优势是看过太多代码,知道各种最佳实践,但往往引入太多复杂设计,不利于实现和功能迭代。
- 遇到这种情况,回到“万事开头难”的观点,先要求跑通流程,它出的方案先复制下来,等流程跑通了,再让他回过头评估可以做哪些优化,哪些是最要紧的。
-
界面设计:
- 这的确是一个难题,我也在摸索,起初我是画了个简单的原型,上传图片让他来实现。后面我是直接上网找了一些设计稿,让他照着来,其实都不是太理想。
- 后面实在没办法,直接一顿猛夸 cursor ,把所有在设计师方面的赞美词都用上,让他基于当前代码功能大胆放开设计,陆续设计了十几个版本的界面,以量取胜,选了一个可以接收的。
结论
实践完后整体体会是,把 cursor 吹上天也是可以的,虽然 Cursor 还没有到替代程序员的阶段,但是这波趋势会挤压程序员的生存空间,其实不单单是程序员,生产力提高太快的情况下,整个互联网链条上的岗位都会被挤压( cursor 也可以用来写需求、做运营方案,各种你意想不到都可以在 cursor 上来实现)。Cursor 只是工具,具体如何使用取决于你,还是要尽快拥抱变化。它目前非常适合实现简单的逻辑和页面,所见即所得的开发方式的确是个最佳的选择。如果你略懂开发流程和功能迭代思路,即使是零代码基础的人也可以做出一些复杂功能的应用出来,关键看有没有产品意识。其实是利好有产品意识的开发的,或者有些开发常识的零代码基础的个人。
粗略观点,抛砖引玉了。现在 cursor 还可以免费试用,以个人经验来看,想要完全依靠 cursor 来生成中小规模的应用,每个月 250 次是远远不够用的,起码得消耗个六七个账号的额度。大家趁严格限制之前多玩一玩。
|