支持本地模型直连!免费的 AI 代码助手插件:Continue 使用指南

前段时间我体验了 Cursor,其中的 Cursor Tab 和 @Codebase 功能确实很强大,因此我现在已经开始付费使用了。

不过,有开发者朋友提到,Cursor 的月费 20 美元实在太贵了,如果能便宜一点就好了。于是,我推荐了一些国内的 AI 代码补全插件,之前的文章中也提到过一些——

现有的 AI 编程助手已经有多家巨头在竞争。我试用过的产品包括:海外的 Github Copilot、Amazon CodeWhisperer,国内的字节豆包 MarsCode、阿里的通义灵码、讯飞的 iFlyCode 等等。

目前国内的这些插件大多是免费或提供免费试用,应该可以满足大多数需求。最后,他问:“难道没有开源的吗?”于是我去了解了一下,发现确实有这样的开源插件:Continue。

Continue 插件

Continue 是一款适用于 VSCode 和 JetBrains 的插件,它本身不提供 AI 模型,但提供了多种接入 AI 模型的方法,以实现多种场景下的功能。

自动补全

相比直接使用商业插件,开源插件配合商业模型更有“用多少花多少”的安心感。更不用说 Continue 还支持连接到本地模型,如果你的 CPU 和显卡性能足够,完全可以在本地运行一个 3B 级别的小模型来实现 AI 补全。

安装与配置

首先,安装 Continue 插件非常简单,只需在 VS Code 的扩展市场中找到并安装即可。

插件的配置需要稍微研究一下。由于代码助手的场景多样,不同模型的侧重点也不同,不能用一套 OpenAI API 打天下。

例如,最常见的 Tab 补全,表现最佳的是 3B 大小的模型,因为速度最快。而 Chat 模型则可以使用一些常用的对话模型,如 GPT 4o、Claude 3.5 Sonnet。

官网说明

Continue 目前根据用途,将模型分为以下四种(详细解释请参考官网)。

在线模型配置

在在线模型中,我比较推荐 DeepSeek,它支持 Chat 和 AutoComplete Model,价格也相对低廉,非常适合个人使用。

你可以先在 DeepSeek 官网 注册账号并申请 API Key。

推荐配置

拿到 API Key 后,你可以根据 Continue 提供的 DeepSeek 配置文件 在 Continue 中进行如下配置。

配置入口

首先在左侧打开 Continue,点击下方的配置按钮,会出现 JSON 格式的配置文件。

Chat model 配置可以配置多项,而 Autocomplete model 只能配置一个。

json
{
“tabAutocompleteModel”: {
“title”: “DeepSeek Coder”,
“provider”: “deepseek”,
“model”: “deepseek-coder”,
“apiKey”: “[API_KEY]”
}
}

注意 JSON 格式非常严格,确保你的写法准确。

可选配置

Embeddings model 可以不配置,VSCode 中 Continue 提供了一个默认配置(使用了 Transformers.js),在默认情况下会在本地计算机运行,无需额外配置。

Reranking model 也是可选配置,主要对 @Codebase 功能有帮助,能够在向量搜索中找到最相关的代码片段。Continue 推荐使用 Voyage AI 的 rerank-1(需要申请 Token)。为了简化配置步骤,你可以暂时使用 Continue 提供的 Voyage AI 的免费试用配置。后续再按照 详细的配置文档 进行配置。

注意,上述配置只是最基础的,如果你有特别需求,比如希望始终提供多行代码补全,就需要附上额外的参数 multilineCompletions 等。再比如在 @Codebase 时希望检索更大范围,需要配置 nRetrieve 参数。这部分配置建议你自行研究文档——

  • Continue 自动补全文档
  • Continue @Codebase 文档

在线模型体验如何?

在使用在线模型时,Continue 确实能满足我对本地代码补全的要求。

使用 Tab 时,生成效果和速度与前面提到的商业插件不相上下。使用 Chat 面板时,也能给出格式准确的回答。

Chat Model 功能

不过,在 AutoComplete 功能方面,还是稍显不足,相比 Cursor Tab 那种只需敲 Tab Tab 的模式,体验差了一些,但已能满足日常使用需求。

Continue 的官网上还展示了一个 Actions 功能,包括了 @Codebase 和斜杠命令如 /edit/test 等,从动图上看效果还是很棒的。

Actions 功能演示

我也体验了 @Codebase 的功能,它会对当前代码库中的内容进行检索,检索范围似乎比 Cursor 小一些,导致 @Codebase 的结果和体验也比 Cursor 差一些。

代码检索

不过,这只是个人体感,毕竟代码内容千差万别,Prompt 也不同,Cursor 的模型更强(默认 Claude 3.5 Sonnet),加上我没有在 Continue 中完整配置 Reranking model,多个原因共同作用下,才导致效果不佳。

瑕不掩瑜,我认为 Continue 还是在很大程度上满足了日常开发的需求。

本地模型配置

接下来再看看 Continue 的舒适区,结合本地模型配置,利用自己电脑的性能来运行模型。

本地模型我只推荐自定义 Autocomplete model,因为体量更小,速度更快。过大体量的 Chat model 在本地运行速度较慢,生成一条回复可能需要较长时间,回复质量也远不如在线模型。

我使用的设备是 Macbook Pro M2,模型则是用 LM Studio 来加载和启动。macOS 用户还有其他选择,比如之前推荐过的 Jan。

本地模型

根据 Continue 的推荐,建议使用开源模型 StarCoder2-3B 作为自动补全模型。我还尝试了 DeepSeek Coder 的 1.3B 模型和 6.7B 模型。

我的个人感受和 Hugging Face 下载地址都附在下方。

  • StarCoder2-3B(适合 Tab 补全,速度快,效果好)
  • deepSeek-coder-1.3B(适合 Tab 补全,速度快,但输出效果一般,存在格式错误)
  • deepSeek-coder-6.7B(响应过慢,不适合代码补全)

TheBloke/deepseek-coder-6.7B-instruct-GGUF 模型下载

因此,我最终还是选择了 StarCoder2-3B。

在下载链接列表中,我推荐选择 xxx-Q5_K_M.gguf。这些文件名通常与大语言模型的量化方法有关,目的是减少模型推理的计算复杂度,同时保持较高的精度。过高可能会导致速度变慢。

将 StarCoder2-3B 模型放到 LM Studio 的模型目录中并启动后,LM Studio 会在 localhost:1234 上启动一个 AI 服务器后端(Jan 的端口是 1337)。

然后你需要回到 Continue 插件配置中,配置如下信息——

这里常见的错误是,你必须满足 JSON 格式要求。tabAutocompleteModel 后面是 {},意味着只能配置一个,所以记得把刚刚配置的 DeepSeek 删掉。

这样一来,就可以纯用本地电脑性能实现自动补全,无需为商业 AI 服务花一分钱了。

更新:使用 Ollama 实现 Tab 补全

2025-01-06 更新

有读者在评论区提到用文中的配置,会在 LM Studio 中报错 inputConfig required to render jinja prompt.。这个提示的大意是 LMStudio 在尝试处理一个 Jinja 模板时,发现缺少一个名为 inputConfig 的变量。

我写本文时,这个配置是能跑起来的,但现在我也出现了相同的提示。这应该是新版本 Continue 插件和新版本 LM Studio 之间存在一些 Prompt Template 的兼容性问题。

因此,补充一个 Continue 官方文档中的 Autocomplete 部分 提供的替代方案,改用 Ollama 进行配置。

配置步骤如下:

  1. 下载 Ollama 后启动,然后输入 ollama run qwen2.5-coder:1.5b-base 命令,跑一个通义千问的模型出来。
  2. 在 config.json 中配置如下:

json
“tabAutocompleteModel”: {
“title”: “Tab Autocomplete Model”,
“provider”: “ollama”,
“model”: “qwen2.5-coder:1.5b-base”
},

  1. 尝试在代码文件中按下 Tab 看看能否触发自动补全。

关于最初的问题,我已经提了一个 Issue 给 Continue,后期看 Continue 和 LM Studio 能否修复这个 Bug。

2025-01-07 更新

此问题确认是 LM Studio 0.3.6 版本的问题,目前最新版本 0.3.6 build 8 已修复此问题。

本地模型体验如何?

我分别在 Macbook Pro M2 和 RTX 3070Ti 的配置下进行了尝试。

在使用 GPU 时,代码补全速度非常快,几乎与云端解决方案没有区别。

在 CPU 环境下,虽然响应速度稍有下降,但依然能流畅运行。

Macbook Pro M2 录屏

可以看到,速度方面非常 OK,代码质量也基本满足要求。甚至从响应速度上说,比在线版本还要快不少。

这种本地处理方式尤其适合对隐私有较高要求的开发者,因为所有的数据处理都在本地进行,不用担心代码被上传到云端。

不过,需要注意的是,Continue 对硬件配置还是有一定要求的。尤其是当你使用更复杂的模型时,低配置的机器可能会有些吃力并且发热严重。

因此,如果你希望获得更好的体验,还是建议使用配置较高的开发环境。

小结

总体来说,Continue 是一款非常值得推荐的 VS Code 插件,特别适合那些重视隐私、安全性,并希望利用本地 AI 模型提高开发效率的开发者。

虽然在性能上需要依赖较高的硬件配置,但它提供的灵活性和本地化的处理能力,完全可以弥补这一点。

如果你有兴趣尝试 AI 驱动的代码补全,并且希望数据完全掌控在自己手中,那么 Continue 无疑是一个非常好的选择。

👉 野卡 | 一分钟注册,轻松订阅海外线上服务

(0)
上一篇 2025年8月28日
下一篇 2025年8月28日

相关推荐