本地模型当 Copilot,VSCode 插件联动实战
把 Copilot 装进本地:VSCode 联动实战
以前用云端的代码助手,心里总有点不踏实。尤其是处理公司内部的核心逻辑,或者调试一些涉及敏感配置的脚本时,把代码片段上传到第三方服务器总觉得像是在“裸奔”。最近折腾了一下 AMD Strix Halo 架构的笔记本,发现本地跑大模型的效果已经非常惊艳,索性决定把这套方案落地到日常开发中——用本地模型替代云端 Copilot。
这不仅仅是为了省那点订阅费,更重要的是数据主权。所有的代码补全、错误解释、单元测试生成,全部在本地闭环完成,断网也能用,隐私绝对安全。今天就来聊聊怎么把 VSCode 和本地的 Ollama 或 LM Studio 打通,打造一套完全私有的智能编程环境。
为什么选择本地部署?
在动手之前,先简单说说为什么我要折腾这套方案。传统的云端 Copilot 确实强大,响应快、模型大,但有两个硬伤:
- 隐私顾虑:代码是程序员的命根子,尤其是未开源的项目,谁愿意让它经过别人的服务器?
- 定制化受限:云模型是通用的,它不懂你项目的特定规范,也不了解你们团队内部的“黑话”。
而基于 Strix Halo 架构的本地部署,凭借统一内存架构,让轻薄本也能轻松跑起 14B 甚至 32B 参数的模型。Radeon GPU 的加速让推理速度达到了实用级别(14B 模型能跑到 20+ tokens/s),这意味着你在写代码时几乎感觉不到延迟。更重要的是,你可以随意微调 Prompt,让模型专门学习你的代码风格,这是云端服务很难做到的。
第一步:搭建本地推理服务
要实现 VSCode 联动,首先得让模型在本地“跑起来”。目前最成熟的两个方案是Ollama和LM Studio。
方案 A:Ollama(命令行极客首选)
Ollama 轻量、稳定,非常适合后台常驻。
安装与启动:去官网下载 Windows 版安装包,一路默认即可。安装完成后,打开 PowerShell,输入以下命令启动服务:
ollama serve拉取模型:推荐拉取针对代码优化的模型,比如
qwen2.5-coder或llama3。在终端执行:ollama run qwen2.5-coder:14b注:Strix Halo 的大内存优势在这里体现得淋漓尽致,14B 模型加载后依然能给系统留出充足空间。
验证服务:确保终端显示
success,且服务监听在http://127.0.0.1:11434。
方案 B:LM Studio(图形界面党最爱)
如果你更喜欢可视化的操作,或者需要频繁切换不同参数的模型,LM Studio 是更好的选择。
- 下载与配置:安装后搜索
Qwen2.5-Coder-14B-Instruct并下载 GGUF 格式模型。 - GPU 加速设置:这是关键一步。在右侧栏找到GPU Offload,将滑块直接拉满。Strix Halo 的 Radeon 显卡会被自动识别,确保所有计算层都交给 GPU 处理。
- 启动本地服务器:点击顶部导航栏的 "<->" 图标(Local Server),点击Start Server。默认地址通常是
http://127.0.0.1:1234/v1。- Tip:在 Settings 中把 Context Length 拉到 128k,这样在处理长文件时不会丢失上下文。
第二步:VSCode 插件联动配置
服务跑通了,接下来就是重头戏:让 VSCode 连上它。我们需要安装一个支持自定义后端的插件,这里推荐Continue或Twinny(两者都支持 Ollama/LM Studio)。以Continue为例,它的配置灵活度极高。
- 安装插件:在 VSCode 扩展商店搜索
Continue并安装。 - 配置文件修改:安装完成后,点击侧边栏的 Continue 图标,点击右上角的齿轮图标打开
config.json。 - 填入本地地址: 如果你用的是Ollama,配置如下:
如果你用的是LM Studio,只需改 provider 和 apiBase:{ "models": [ { "title": "Local Qwen Coder", "provider": "ollama", "model": "qwen2.5-coder:14b", "apiBase": "http://127.0.0.1:11434" } ], "tabAutocompleteModel": { "title": "Local Autocomplete", "provider": "ollama", "model": "qwen2.5-coder:14b" } }
注意:LM Studio 模拟的是 OpenAI 接口,所以 provider 选{ "models": [ { "title": "LM Studio Local", "provider": "openai", "model": "qwen2.5-coder", "apiBase": "http://127.0.0.1:1234/v1", "apiKey": "lm-studio" } ] }openai,但地址指向本地。
保存配置后,右下角状态栏显示绿色即表示连接成功。
第三步:实战体验与快捷键
配置好后,你会发现开发体验发生了微妙变化。
- 代码自动补全:当你敲下函数名的一半,本地模型会瞬间给出后续代码。虽然首字延迟比云端略高(约 0.3 秒),但在 Strix Halo 的加持下,生成速度非常流畅,完全不影响思路。
- 错误解释与修复:选中一段报错代码,按下
Ctrl+L(Continue 默认快捷键),直接在对话框问:“这段代码为什么报空指针异常?”模型会结合上下文给出精准分析,甚至直接给出修复后的代码块。 - 单元测试生成:选中一个复杂的类,输入“为这个类生成 Jest 单元测试,覆盖边界条件”,几秒钟后,一份结构完整的测试文件就生成了。
常用快捷键建议:
Ctrl+L:唤起侧边栏对话(解释代码、重构建议)。Ctrl+I:行内编辑(直接让 AI 修改当前选中的代码)。Tab:接受自动补全建议。
本地 vs 云端:到底差在哪?
用了一周下来,对比非常明显。
| 维度 | 云端 Copilot | 本地私有 Copilot (Strix Halo) |
|---|---|---|
| 隐私安全 | 代码需上传,存在合规风险 | 数据不出域,绝对安全 |
| 响应速度 | 依赖网络,偶尔超时 | 局域网延迟,离线可用 |
| 定制化 | 通用模型,难适应特定规范 | 可换模型,Prompt 随心调 |
| 成本 | 按月订阅,费用不菲 | 一次硬件投入,终身免费 |
| 上下文 | 通常有限制 | 可利用大内存跑 128k+ 长文本 |
当然,本地方案也不是完美的。对于 70B 以上的超大模型,本地推理还是会慢一些;而且需要自己维护环境和更新模型。但对于绝大多数日常开发场景,14B-32B 的本地模型已经完全够用,甚至在代码理解的准确度上,因为可以选用专门的 Code 模型,表现并不输给通用大模型。
结语
把 Copilot 搬回本地,不仅仅是一次技术尝试,更是一种开发理念的回归:工具应该服务于人,而不是让人去适应工具的规则。
有了 Strix Halo 这样的硬件底座,加上 Ollama 或 LM Studio 的便捷部署,我们终于可以在享受 AI 便利的同时,牢牢握住数据的控制权。下次当你在飞机上、在保密会议室,或者只是单纯不想让代码离开本机时,这套本地智能编程环境就是你最可靠的后盾。动手试试吧,那种“我的代码我做主”的感觉,真的很爽。
