Copilot已经支持非常多的模型,为什么要接入更多的第三方模型
这事儿其实挺直接的,原因就两条:
算个账就明白了:到2026年6月,Copilot的计费策略一调整,订阅价格直接往上涨了不少。这谁受得了?找个更划算的替代方案,是很多人自然的选择。
习惯的力量:说白了,就是大家用VS Code里的Copilot Chat用顺手了。那种在编辑器里直接跟AI对话、边写代码边聊的工作流,一旦养成就很难改。现在如果能换个便宜甚至免费的模型,还用着同样的界面和操作,何乐而不为?
copilot adapter
copilot adapter 这个项目,它不是那种独立的AI助手工具,它干的事儿很明确——就是给VS Code原生的 Copilot Chat 做增强,让它能用上别的模型。
项目是开源的,地址在:copilot-adapter。直接去装就行。
安装扩展
在VS Code的扩展商店里搜 copilot adapter,找到之后点安装,或者去marketplace visualstudio页面手动触发一下安装,都一样。
添加模型
它内置支持了好几个主流的提供商和模型,具体看这个表。如果你的模型不在这个列表里,后面还有自定义模型的方法。
| 提供商 | 端点平台 | 模型 |
|---|---|---|
| DeepSeek | platform.deepseek.com | V4 Pro V4 Flash |
| MiniMax | minimaxi.com minimax.io | M3 M2.7 M2.7 Highspeed M2.5 M2.5 Highspeed M2.1 M2.1 Highspeed M2 |
| Moonshot (Kimi) | platform.moonshot.cn platform.moonshot.ai | Kimi K2.7 Code Kimi K2.7 Code High-Speed Kimi K2.6 Kimi K2.5 |
| Qwen | bailian.console.aliyun.com | Qwen3.7 Max Qwen3.7 Plus Qwen3.6 Max Qwen3.6 Plus Qwen3.6 Flash Qwen3.5 Plus Qwen3.5 Flash Qwen3 Max Qwen3 Coder Plus Qwen3 Coder Flash Qwen Plus (US) Qwen Flash (US) |
| 智谱 (GLM) | open.bigmodel.cn api.z.ai | GLM-5.2 GLM-5.1 GLM-5 GLM-5-Turbo GLM-4.7 GLM-4.7-FlashX GLM-4.6 GLM-4.5-Air GLM-4.5-AirX GLM-4-Long GLM-4-FlashX-250414 GLM-4.7-Flash GLM-4.5-Flash GLM-4-Flash-250414 GLM-5V-Turbo GLM-4.6V GLM-OCR GLM-4.1V-Thinking-FlashX GLM-4.6V-Flash GLM-4.1V-Thinking-Flash GLM-4V-Flash |
接下来用DeepSeek举个例子,走一遍完整的配置流程。这条路是官方推荐的原生方式,通过VS Code自己的语言模型面板来搞。
第1步:打开Copilot Chat的模型选择器
在Copilot Chat输入框的底部,有个模型选择器,点开它就能看到当前能用的模型。注意,这时候DeepSeek和MiniMax还没出现呢。
第2步:打开语言模型面板,点击“添加模型...”
可以通过模型管理面板,或者直接用快捷键 Ctrl/Cmd+Shift+P 搜“语言模型”来打开那个面板。打开后,在右上角点 + 添加模型...。装好插件之后,下拉列表里就会出现插件支持的提供商,找到你想要的选上就行。
第3步:确认分组名称
会弹出一个输入框,让你填个分组名称。默认已经填好了提供商的名字,当然你也可以改成自己喜欢的,只要不和已有的分组重名就行。确认之后按Enter。
第4步:输入API Endpoint和API Key
如果某个提供商支持多个端点,记得先选一下或者手动输入端点,就像下面图片里这样。
然后输入以 sk- 开头的API Key,再按Enter。这个Key会直接存入VS Code的Secret Storage,不会写到磁盘或者任何配置文件里,安全方面可以放心。
第5步:供应商出现在语言模型面板中
这时候再看语言模型面板,应该能看到刚才添加的DeepSeek分组了,里面列出了它的两个模型。如果以后想修改API Key或者调整一下配置,随时可以点分组名称旁边的齿轮图标。
第6步:在Copilot Chat中使用模型
再回到Copilot Chat的模型选择器,你会发现DeepSeek V4 Flash和DeepSeek V4 Pro已经出现在“其他模型”分组下了。选一个,直接开始聊天吧。
安全性
这个API Key的存储方式可以好好说下。它只存在VS Code的Secret Storage里,底层用的是操作系统的凭据管理器——macOS上是Keychain,Windows上是Credential Manager,Linux上则是libsecret。
- 绝不写进
settings.json:Key作为Secret存储,和普通的VS Code设置彻底隔离开,不会通过Settings Sync同步,磁盘上的任何配置文件里都找不到它。 - 不可能被意外提交:因为Key只存在于操作系统的凭据库里,所以根本不存在能被git追踪到的文件,彻底杜绝了手滑提交到代码库的风险。
- 零运行时依赖:这个扩展在运行的时候不依赖任何第三方的库或者外部服务,所有的网络通信都是用VS Code内置的HTTP设施完成的。
功能特性
思考模式
对于那些推理模型(比如DeepSeek V4系列、MiniMax M系列、Qwen3、GLM、Kimi K2),可以配置它们的推理深度。在Language Models面板的模型设置里就能调整,具体级别如下:
| 级别 | 说明 |
|---|---|
| None(无) | 不做推理步骤,输出最快 |
| High(高) | 均衡深度,适合日常编程任务 |
| Max(最大) | 全力推理,适合处理复杂问题 |
以上级别以DeepSeek V4为例;不同提供商的选项名称可能会不一样。
视觉袋里
纯文本模型没法直接处理图片附件,这是个硬伤。但视觉袋里功能就是为了解决这个问题的。配置之后,扩展会自动调用一个有视觉能力的模型来描述附件图片,然后把描述文本注入到上下文中,这样纯文本模型也能无缝处理图片输入了。
可以通过命令 Copilot Adapter: Set Vision Proxy Model 或者设置项 copilot-adapter.visionProxyModel 来配置。把值设为 off 就能随时禁用这个功能。
前缀缓存命中率
这个功能比较“黑盒”但很实用。扩展会自动调整连续对话中消息的顺序,优先把那些可以被缓存的内容放在前面,目的是提升支持前缀缓存和主动缓存的模型(比如DeepSeek、Qwen、智谱)的缓存命中率。如果把日志级别设为 info 或更高,在输出频道里就能看到每次请求的缓存命中详情:
model: deepseek-v4-pro, tokens: prompt=18576 reasoning=40 completion=57, cache: hit=12160 miss=6516 rate=65%
上下文窗口计算
扩展会为每次请求向VS Code上报Token的用量,具体策略分两种情况:
API返回用量(DeepSeek、Qwen、智谱、Moonshot)—— 模型在流式响应里会返回精确的
prompt_tokens和completion_tokens。这是主流路径,不需要估算。降级估算(MiniMax等不返回流式用量的提供商)—— 当API返回的数据里没有用量信息时,扩展会通过请求和响应的文本字符数来估算Token用量。日志里会标明当前是降级模式:
Using fallback usage estimation (API returned no usage data) — prompt chars: 15234, response chars: 487
动态比例校准
provideTokenCount(也就是VS Code用来计算上下文窗口的那个功能)最初用的字符/Token比例是4.0,但它会根据每次API返回的真实用量自动校准。每次收到精确用量的请求,都会用EMA平滑方式(旧值占80%,新值占20%)来更新这个比例。为了避免被噪声干扰,只有变化幅度超过10%的时候,才会真正存储更新:
Chars-per-token ratio calibrated for deepseek: 4.00 to 3.38 (based on API usage: 63200 chars / 18703 tokens)
对于那些拿不到精确用量的提供商(比如MiniMax),就会保持默认的静态比例。
自定义模型
如果你的模型不在内置列表里,自定义模型 功能就能派上用场了。
VS Code Copilot Chat官方的Custom Endpoint功能,只能做一些基础配置(名称、端点、API Key),功能上有些局限。而Copilot Adapter的自定义模型,正好弥补了这些不足:
- 视觉袋里:纯文本模型也能通过自动的视觉袋里管线来处理图片附件。
- 可定制的思考模式:可以针对不同厂商的请求体格式(比如DeepSeek、Qwen、Anthropic),分别配置各模型的推理强度,在模型选择器里就能随时切换。
- 缓存命中率日志:在输出频道里能看到每次请求的前缀缓存命中/未命中率。
只需要在配置文件里定义好元数据(名称、端点、能力、token限制),就可以把任意兼容OpenAI接口的模型接入到Copilot Chat里。如果模型支持思考模式(设置 "thinking": true),它会根据模型ID自动匹配预置的推理强度配置,当然也支持完整的手动自定义。
详细的图文教程和即用型模板可以参考相关文档。
