Cursor 每月 20 美元的订阅费,把不少个人开发者挡在门外。但开源世界里其实早有一款可以平替的 VS Code / JetBrains 插件——Continue。它本身不提供模型,却能同时接 DeepSeek 在线 API、本地 LM Studio 和 Ollama,跑一个 3B 级别的小模型就能完成日常代码补全,把代码完全留在本地。
说白了,Continue 解决的核心问题是:用一份开源配置,把“商业 API + 本地小模型”两条路同时打通。
为什么是 Continue,不是 Cursor
Cursor 的 Tab 补全确实顺滑,@Codebase 的检索也确实更准。但它的成本是固定的 20 美元/月,并且默认把代码送到 Claude 3.5 Sonnet 的服务器。对个人开发者和对代码隐私敏感的团队来说,这两个问题都很难绕开。
Continue 的思路正好相反:插件开源免费,模型由你选。它把模型分成了 4 类角色,由你按场景分别接入:
Chat model:日常对话、写代码解释、生成重构方案; Autocomplete model:Tab 补全,吃速度,要小; Embeddings model:向量索引,VS Code 默认走 Transformers.js 本地跑,无需配置; Reranking model:给 @Codebase 做重排,可选,官方推荐 Voyage AI 的 rerank-1。
这套拆分的意义在于:补全可以跑在本地 3B 模型上,聊天可以走 DeepSeek 这种便宜的在线 API,@Codebase 想更强再单独挂一个重排模型。钱花在刀刃上,速度也不会被大模型拖垮。

第一步:接 DeepSeek,最省钱的在线方案
先解决“有没有”的问题。个人使用 DeepSeek 性价比最高,Chat 和 Autocomplete 都支持,API 价格也很低。
打开 Continue 的 config.json,写入 Chat 模型:
{ "models": [ { "title": "DeepSeek Chat", "provider": "deepseek", "model": "deepseek-chat", "apiKey": "[API_KEY]" } ] }再写入 Tab 补全模型,注意 autocomplete 是一个独立字段:
{ "tabAutocompleteModel": { "title": "DeepSeek Coder", "provider": "deepseek", "model": "deepseek-coder", "apiKey": "[API_KEY]" } }Embeddings 不用配,VS Code 版 Continue 自带 Transformers.js 本地推理。Reranking 也先跳过,等后面想增强 @Codebase 再回来挂 Voyage AI 的试用配置。
实际体验上,Chat 部分完全够用,Tab 补全的“爽快感”确实比 Cursor Tab 差一截——Cursor 的补全模型和前端联动做得更深,Continue 更接近“按 Tab 出建议”的常规节奏。但对于 80% 的代码片段,它已经能完成工作。
第二步:接本地模型,零成本 + 代码不出本机
在线方案能跑通以后,真正的“舒适区”在本地。前提是只让本地扛 Tab 补全这种小活,Chat 还是交给在线模型。原因很简单——大一点的 Chat 模型在笔记本上生成一条回复能急死人,效果也远不如在线 API。
作者在 MacBook Pro M2 上验证过两条路:LM Studio 和 Ollama。两者都能把本地模型暴露成 OpenAI 兼容接口,Continue 直接填地址就能用。
路线 A:LM Studio + StarCoder2-3B
Continue 官方推荐的开源补全模型是 StarCoder2-3B,体积小、速度快、对 Tab 补全场景做了训练。下表中列出的模型都可以在 LM Studio 里下载并启动:
下载时文件名通常带量化后缀,例如 xxx-Q5_K_M.gguf。Q5_K_M 是兼顾精度和速度的常用档位,过高的量化会显著拖慢推理速度。
模型放进 LM Studio 模型目录并启动后,它会在 localhost:1234 上跑起一个 OpenAI 兼容的后端(注意:Jan 用的端口是 1337,别填错)。
回到 Continue 的 config.json,把 DeepSeek 的 autocomplete 配置替换成本地:
"tabAutocompleteModel": { "title": "StarCoder-3b-lmstudio", "model": "StarCoder-3b", "apiBase": "http://localhost:1234/v1/", "completionOptions": {}, "provider": "lmstudio" },这里有个常见踩坑:JSON 必须严格合法,且 tabAutocompleteModel 只能配一个,记得把前面 DeepSeek Coder 那段删掉,否则会报字段冲突。
路线 B:Ollama + qwen2.5-coder:1.5b-base
不想折腾 GGUF 文件管理,Ollama 是更省心的选择。下载安装 Ollama 后,执行一行命令就能拉起模型:
ollama run qwen2.5-coder:1.5b-baseqwen2.5-coder 的 1.5b-base 体量很轻,对老款笔记本也友好。Continue 端只需声明 provider 是 ollama:
"tabAutocompleteModel": { "title": "Tab Autocomplete Model", "provider": "ollama", "model": "qwen2.5-coder:1.5b-base" },真实会遇到的问题
这套配置在 LM Studio 0.3.6 版本上曾出现 Jinja 模板相关的报错,提示缺少 inputConfig 变量。问题出在 Continue 新版插件和 LM Studio 新版的 Prompt Template 兼容性上。LM Studio 后续发布的 0.3.6 build 8 已修复该问题,升级即可。
另一个真相是:Continue 的 @Codebase 在不开 Reranking 的情况下,检索范围和效果都不如 Cursor。这不是模型本身的差距,而是缺少重排这一环节,外加 Cursor 默认 Claude 3.5 Sonnet 的优势叠加。如果你想把这部分追平,按 Continue 文档补一份 Voyage AI 的 Reranking 配置,效果会有明显改善。
它适合谁,不适合谁
先说适合谁:对代码隐私敏感的个人开发者;不想每月固定掏 20 美元的学生和独立开发者;手上有 M 系列 Mac 或显存还凑合的游戏本,愿意让本地承担一部分推理负载的人;以及已经在用 DeepSeek,想顺手把补全也工具化的国内开发者。
不适合谁:完全依赖“按一下 Tab 就出现完整多行函数”体验的人,Cursor 在前端联动上的打磨目前确实领先;硬件只能跑 CPU 推理的机器,本地 3B 模型也能跑但会明显发热卡顿;对 @Codebase 要求极高又不想折腾 Reranking 的用户。
最后说一个很多人会忽略的点:Continue 提供了 /edit、/test 等斜杠命令以及 Actions 面板,从官方演示的动图来看效果不错。这意味着它不只是一个补全插件,而是一个面向 IDE 的轻量 Agent 框架。开源自托管、可换模型的属性,让它比起付费闭源产品反而更适合做长期的工作流实验。
工具选型的本质是匹配场景,而不是追新。开源 Continue + 本地小模型这条路,注定不会比 Cursor Tab 更“丝滑”,但它给了你一个完全可控、几乎零成本的替代位。如果你愿意花一个晚上把 config.json 调通,它大概率能覆盖你 80% 的日常补全需求。
夜雨聆风