几个月来,我一直在为多个 AI 编程工具付费,把它们都试了一遍,其中包括 Cursor Pro。与此同时,我电脑里的 32GB Nvidia RTX 显卡 基本上一直闲置着,只是偶尔通过 LM Studio 加载本地模型。每次达到 token 限制时,我总说以后会找时间接入本地模型,但真要在 Cursor 上搞,就没那么简单了。

后来,我确实做到了,但用的是另一个工具。不过在走到那一步之前,我收集了一堆开源 AI 编程工具,把各种方案的成本都算了一遍,看看转向本地是否值得。我试用了 OpenCode、Pi、Zed 和 Crush,最终取消了订阅(不再订阅任何服务),改变了我的配置,并采用了一种更符合我自己编程习惯的新工作方式。

大多数被热议的 Cursor 替代品其实并不是真正的 Cursor 替代品

大多数被热议的 Cursor 替代品其实并不是真正的 Cursor 替代品

虽然有些确实是编辑器,但大多数是终端 Agent,而这都不是 Cursor 的错

虽然有些确实是编辑器,但大多数是终端 Agent,而这都不是 Cursor 的错

在聊我最终选了哪些之前,我应该先澄清几件事,因为正是这些误解,导致你在别处看到的大多数建议都不靠谱。Cursor 最初是 VS Code 的一个分支,因此是一个图形化编辑器。大多数被拿来当作替代品的开源工具并不是编辑器;它们是终端 Agent。在我广泛使用过的工具中,Zed 是最接近可以直接替换 Cursor 的,而 Pi、OpenCode 和 Crush 都运行在你的 shell 中,与你的编辑器并列。如果你需要图形化编辑器,就看看 Zed。如果你不需要图形化编辑器,那就看你对终端 Agent 的偏好了。

现在,如果我需要图形化编辑器,我会使用 Zed。我一直很欣赏 Atom 团队,这是一个出色的编辑器,采用 GPU 渲染并用 Rust 编写,因此比基于 Electron 的工具快得多。它的价格也只有 Cursor Pro 的一半,如果你已经有本地或云端 LLM 的 API 密钥,或者已经有像 Claude Code 这样的编排工具,那么它就是免费的。此外,个人(免费)计划每月有 2,000 次编辑预测被采纳的额度,如果你不是重度编程用户,这已经很多了。

这三个终端 Agent 更多是按个性而非功能来区分的。OpenCode 是最成熟的,拥有最大的社区,并提供可选的每月 10 美元订阅服务,如果你不使用自己的 API 密钥,该订阅会捆绑 DeepSeek、GLM、Kimi 和其他中国开放权重模型。Crush 本质上就是 OpenCode,但多了 Charm 的精致打磨和会话中途切换模型的能力(这是我最喜欢的功能)。Pi 走的是极简路线,只有四个内置工具和仅 300 词的系统提示,因此你可以构建自己需要的系统。

三者都支持 MCP 和 BYOK。但对比表中很少提到一件事:该工具是否能把常规任务发送给本地模型,并在任务需要时切换到前沿模型。Cursor 做不到,因为 Tab 和 Apply-from-Chat 运行在 Cursor 自己的模型上,你无法更改这一点。Zed 可以,但你必须进行设置。而这三个终端 Agent 天生就是干这个的。

我最终选了 Crush,而它并不是最显然的那个选项

我最终选了 Crush,而它并不是最显然的那个选项

它有着 Charm 式的精致打磨,但本地 LLM 这块的情况让我最终拍板

它有着 Charm 式的精致打磨,但本地 LLM 这块的情况让我最终拍板

我手头有好几块高显存的 RTX GPU,而且 LM Studio 已经安装在我的 Windows 机器上,用于其他实验。如果我能把日常编码任务路由到本地端点,就能把成本压到只剩电费。大多数工具要么做不到,要么做得很将就。Crush 默认就能做到,而且它的实现方式正是我自己会选的那种。

我把 LM Studio 的详细信息放进提供商配置文件,Crush 就会自动列出它能检测到的所有模型。不用手动把每个模型写进工具里,不用给每个模型单独写 YAML 配置,下载新模型时也无需编辑任何内容。我现在大多数任务都使用 Qwen 3.6 27B,它就直接出现在 /model 菜单里,和 Crush 能用的所有云提供商放在一起。

但最牛的功能是,我可以在对话中途切换到不同的模型,而不会丢失上下文。大部分事情用本地模型搞定,然后当本地模型卡住时,或者需要认真规划的时候,切换到 Opus 或 Sonnet(或者趁还能用的时候切到 Fable)。拿到想要的那个答案之后,再切回本地模型,节省 API 调用成本。

锦上添花的是 TUI 做得特别好。Charm 做简洁好用的 TUI 品味真的没话说,Crush 也不例外。我看 diff 和提示不用眯着眼盯着单色界面,眼睛舒服多了。哦,它还有 MCP 通道,所以我在 Claude Code 里配好的那些 MCP 服务器直接就接进来了,完全不用我动手,管理起我的 homelab 来也很轻松。

离开 Cursor 是有代价的

离开 Cursor 是有代价的

我最想念的就是 Tab 补全,而且甩开第二名一大截

我最想念的就是 Tab 补全,而且甩开第二名一大截

说实话,那些换了工具的人总爱把话说得太绝对,我不太认同。当然,每年省下 240 美元的订阅费是好事。但换工具也是有其他代价的,而且要不是我已经有块好显卡,根本换不了。如果你依赖 Cursor 的核心功能,离开它你会很难受,你可能得想想,它帮你省下的时间,跟订阅费比,到底值不值。

对我来说最大的痛点是失去了 Tab 补全。Cursor 的 Tab 补全真的跟魔法一样,它能预测你下一步要改什么,而不只是补全变量名的后半截。Zed 的 Zeta(一个低延迟的开放权重下一次编辑模型)完全不是一个级别的,虽然它其实也够用了。刚开始用 Crush 那几周,我的速度确实慢了不少,因为之前有 Tab 补全,我的编码时间直接少了一半。

Composer 也是我挺想念的一个功能。终端 agent 也能在整个代码库里做多文件的精准修改,但 Cursor 能把事情管得井井有条。没错,我用 agent 编程也能做到,但我得说得更具体,而且还得先让 agent 把 Cursor 自带的那套能力搭出来。

如果我不是在已经付过费的 GPU 上运行本地 LLM,我真的会对 token 成本感到焦虑。API 定价多变且不稳定,而且没有任何保护机制能阻止你花掉一大笔钱。我的大部分工作都是由本地运行的 Qwen 模型完成的,但我偶尔还是得调用前沿模型,而对某些用户来说,Cursor 的固定费用反而更划算。

Cursor 仍然是一个好工具,只是它不再适合我的工作流了

Cursor 仍然是一个好工具,只是它不再适合我的工作流了

我最终选择 Crush 的主要原因并不是 Cursor 是一个糟糕的工具。它并不差,但它的设计思路是旧式 IDE 加装 AI 代理,而且确实需要订阅才能在较长的项目中保持足够的性能。我已经有一块 90% 时间都闲置着的 RTX GPU,LM Studio 里下载了各种类型的模型,一堆 MCP 服务器接入了我的家庭实验室,还有我聊了好几个月的模型调度思路。Crush 能直接融入我现有的全部基础设施。而 Cursor 从来就不打算碰我的技术栈。