VS Code Copilot Chat 接国产模型:Custom Endpoint 配不墨 Router
VS Code 自带 Custom Endpoint,无需插件即可让 Copilot Chat 用 DeepSeek、Kimi、GLM。附 chatLanguageModels.json 配置和不登录 GitHub 的限制。

可以,而且现在不一定要装插件。VS Code 的语言模型设置里自带 Custom Endpoint,填上 https://router.bumo.cc/v1/chat/completions 和模型 ID,Copilot Chat 的模型选择器里就能选 DeepSeek、Kimi、GLM。 只影响聊天,行内补全仍然是 Copilot 自己的。
核验日期:2026-10-30。本文的 VS Code 步骤依据官方文档,没有在图形界面里实跑。 实测的是 Router 这一侧:用 Key 向同一地址发带 tools 的流式请求,返回了 tool_calls 分片。
先准备一个 Router Key
登录 不墨 Router,在 API Key 页面 创建一个 Key,并给钱包充值。
添加 Custom Endpoint
- 在聊天视图的模型选择器里点齿轮 Manage Language Models,或在命令面板运行 Chat: Manage Language Models。
- 选 Add Models → Custom Endpoint。
- 依次填分组名、显示名和 Router Key,API 类型选 Chat Completions。
- VS Code 打开
chatLanguageModels.json,改成下面这样后保存:
[
{
"name": "不墨 Router",
"vendor": "customendpoint",
"apiKey": "${input:routerKey}",
"apiType": "chat-completions",
"models": [
{
"id": "deepseek/deepseek-flash",
"name": "DeepSeek Flash",
"url": "https://router.bumo.cc/v1/chat/completions",
"toolCalling": true,
"vision": false,
"contextWindow": 1000000,
"maxOutputTokens": 8192
}
]
}
]
- 回到聊天,在模型选择器里选 DeepSeek Flash。没出现就重启 VS Code。
| 字段 | 要点 |
|---|---|
vendor |
固定写 customendpoint |
id |
Router 的完整模型 ID,带 deepseek/ 前缀 |
url |
官方建议写含 /chat/completions 的完整地址,避免路径拼错 |
toolCalling |
要设成 true,否则模型不会出现在 Agent 模式里 |
apiKey |
用 ${input:...} 引用,不要把明文 Key 写进文件 |
contextWindow 取自 Router 模型列表 的 context_length。想加别的模型,在 models 里再加一项,比如 kimi/kimi-k3、glm/glm-5.3,上下文长度同样以列表为准。
不登录 GitHub 能用吗
官方文档的说法是:Local 会话里的 BYOK 模型不需要 GitHub 账号,也不需要 Copilot 订阅。 但有几个限制:
- 语义搜索、行内补全和依赖 embedding 的功能仍要登录 GitHub 并有 Copilot 套餐。
- 不登录时内置工具模型不可用,要把
chat.utilityModel和chat.utilitySmallModel设成你的 BYOK 模型,否则生成标题、commit message 这类功能用不了。 - Copilot Business / Enterprise 用户要管理员开启「Bring Your Own Language Model Key in VS Code」策略。
旧配置和插件
如果你看到教程写 github.copilot.chat.customOAIModels,这个设置已被官方标记为弃用,内置的 OpenAI Compatible 也由 Custom Endpoint 取代。
也可以用社区插件「OAI Compatible Provider for Copilot」,它要求 VS Code 1.104.0 以上,配置写在 settings.json:
"oaicopilot.baseUrl": "https://router.bumo.cc/v1",
"oaicopilot.models": [
{
"id": "deepseek/deepseek-flash",
"owned_by": "bumo",
"context_length": 1000000,
"max_tokens": 8192
}
]
之后在 Manage Models... 里选 OAI Compatible,输入 Key,再勾选模型。这段同样依据插件 README,没有实跑。版本够新就优先用自带的 Custom Endpoint,少装一个插件。
常见问题
| 现象 | 先查 |
|---|---|
| 选择器里没有模型 | 重启 VS Code;检查 vendor 是否为 customendpoint |
| Agent 模式里选不到 | toolCalling 是否为 true |
| 401 | 确认填的是 Router Key,不是 GitHub 或 OpenAI 的 Key |
| 404 / model not found | 模型 ID 要带前缀;url 是否多写或少写了路径 |
| 标题、commit message 生成失败 | 未登录 GitHub 时要设 chat.utilityModel |
边界
VS Code 迭代很快,界面文字和设置项以你安装版本为准。本文没有在 VS Code 里跑过对话,Router 侧只验证了 deepseek/deepseek-flash 的流式工具调用。本文不承诺具体价格,实际计费以 Router 页面和用量记录为准。



