把 Router One 的模型接进 VS Code 的 GitHub Copilot Chat
VS Code 里的 GitHub Copilot 支持自带模型 Key(Bring Your Own Key,BYOK):通过 Custom Endpoint provider(VS Code Stable 1.122,2026 年 5 月发布)让聊天和 agent 会话跑在你指定的模型上。把它指向 Router One,一个 Key 就能在 Copilot 模型选择器里用上 GPT、Claude、Gemini、Grok 系列,费用记在 Router One 钱包而不占 Copilot 的请求额度,每次请求都有 tokens、花费和延迟的 Trace;网关在大陆可直连。内联补全、语义搜索和向量相关功能仍走 GitHub 自己的服务,只有聊天、agent 工作流和可选开启的后台辅助任务会切到你的 Key。
先确认 VS Code 版本和 Copilot 套餐
Custom Endpoint provider 取代了旧的 OpenAI Compatible provider 及其 github.copilot.chat.customOAIModels 设置:1.121 先在 Insiders 预览,1.122(发布说明日期 2026 年 5 月 28 日)进入 Stable。如果 Add Models 列表里只有旧 provider,先升级 VS Code。BYOK 不要求 Copilot 套餐,聊天也不要求登录 GitHub,一把 Router One Key 就够。Copilot Business 或 Enterprise 用户受组织策略「Bring Your Own Language Model Key in VS Code」约束:GitHub 2026 年 4 月的更新日志写明该策略默认开启、管理员可以关闭;如果 Add Models 里找不到 Custom Endpoint,先问管理员,再排查配置。BYOK 模型的用量由你配置的供应商计费——这里就是你的 Router One 钱包——不计入 Copilot 的请求额度。
把 GitHub Copilot 配置到 Router One base URL
在命令面板运行 Chat: Manage Language Models(或点聊天模型选择器里的齿轮图标),选 Add Models → Custom Endpoint,输入分组名(如 Router One),再输入显示名称和你的 Router One Key,API 类型选 Chat Completions。VS Code 会打开 chatLanguageModels.json,把其中的 models 数组改成下面的条目。url 填完整的 /v1/chat/completions 地址:官方文档建议填完整路径以避免二义,VS Code 会原样使用。apiKey 保持输入变量形式,不要把明文 Key 写进文件;之后可在 Language Models editor 里用 Update API Key 轮换。toolCalling 必须为 true,在聊天里使用 agent 时模型才会被列出,所以要选详情页标注支持工具调用的模型;vision 按模型的输入模态填写;maxInputTokens 与 maxOutputTokens 之和不能超过模型页显示的上下文窗口,因为 VS Code 把两者之和当作总上下文窗口:
[
{
"name": "Router One",
"vendor": "customendpoint",
"apiKey": "${input:routerOneApiKey}",
"apiType": "chat-completions",
"models": [
{
"id": "<model-id-from-/models>",
"name": "<label shown in the model picker>",
"url": "https://api.router.one/v1/chat/completions",
"toolCalling": true,
"vision": <true if the model page lists image input>,
"maxInputTokens": <context window minus maxOutputTokens>,
"maxOutputTokens": <output tokens you allow per reply>
}
]
}
]哪些功能走 Router One Key,哪些仍留在 Copilot
BYOK 覆盖 Chat 视图里的聊天体验——聊天与 agent 工作流——以及可选开启的后台辅助任务。其余功能继续使用 GitHub 的服务,需要登录账号并持有 Copilot 套餐。两个辅助任务设置都指向 Router One 之后,每次后台调用也会出现在 Dashboard → Logs 的同一把 Key 下;给 VS Code 单独建一把 Key 并设置 maxSpend,长时间的 agent 会话或频繁的辅助调用就会停在你设定的上限。
| 功能 | 使用的模型 | 需要配置什么 |
|---|---|---|
| Chat 视图:聊天与 agent 工作流 | 选择器里选中的 Router One 模型 | 选你命名的分组;使用 agent 时只列出 toolCalling: true 的模型 |
| 辅助任务:标题、commit 信息、PR 描述、意图识别 | 默认用 Copilot 内置辅助模型 | 把 chat.utilityModel 和 chat.utilitySmallModel 设为 Router One 模型,或把 chat.byokUtilityModelDefault 设为 Main Agent Model |
| 内联补全、语义搜索、向量相关功能 | 只能用 GitHub Copilot 服务 | BYOK 不覆盖;需要 GitHub 账号和 Copilot 套餐 |
| Agent host 上的 Copilot 会话(Agents 窗口) | BYOK 模型在此仍是实验功能 | 开启 chat.agentHost.byokModels.enabled;该功能可能变动 |
GitHub Copilot 该填哪个模型 ID?
从 /models 页复制精确的模型 ID,保留大小写、连字符和版本后缀,不要用展示名称代替。打开该模型的详情页,核对支持的 API 端点、上下文窗口和工具调用等能力,再与 GitHub Copilot 当前选择的 provider 和功能对应。模型出现在目录里,不等于当前客户端能调用它的所有功能。建议为每个工具单独建 API Key,并设置 maxSpend 消费上限。
GitHub Copilot 用的是哪种 API 协议?
OpenAI 兼容描述的是接口格式,不能据此推断 Chat Completions(/v1/chat/completions)、Responses(/v1/responses)和 Anthropic Messages(/v1/messages)可以互换。先核对工具当前版本、provider 配置和实际请求路径,再查模型详情与 API 兼容性事实页。一次普通对话成功,也不能证明服务端工具、历史状态或文件编辑功能都受支持。
在 trace 里验证 GitHub Copilot 的调用
先在 GitHub Copilot 发出一次简单文本请求,再到 Dashboard → Logs 按时间、模型和 request_id 核对 trace:tokens、花费、延迟和状态码。成功后再分别验证流式输出、工具调用和多轮历史。失败时保留实际请求路径、完整错误消息及 request_id;没有对应日志时,先查客户端配置和网络,不能仅凭客户端报错认定是网关或上游故障。
常见问题
在 VS Code 的 Copilot Chat 里用 Router One 模型,需要 Copilot 订阅吗?
不需要。VS Code 官方文档写明 BYOK 模型无需登录 GitHub、无需 Copilot 套餐即可使用,一把 Router One Key 就能解锁聊天和 agent 工作流。套餐买到的是 Copilot 托管的功能:内联补全、语义搜索、向量相关功能和内置辅助模型。Copilot Business 或 Enterprise 用户需要组织保持「Bring Your Own Language Model Key in VS Code」策略开启——GitHub 2026 年 4 月的更新日志写明它默认开启、管理员可以关闭。
模型加了,但选择器里找不到它,或者一用 agent 就不见了,该查什么?
按顺序查三项。第一,重启 VS Code:官方文档提示新加的模型可能要重启后才出现。第二,打开 Language Models editor,确认该模型是可见状态(眼形图标),没有被隐藏。第三,在聊天里使用 agent 时,VS Code 只列出 chatLanguageModels.json 里 toolCalling: true 的模型,而这个标志是你自己的声明,VS Code 不会自动检测——到模型详情页确认它在 /v1/chat/completions 上支持工具调用,再跑一轮 agent 对话,到 Trace 里核对工具调用。
能改用 Responses 或 Messages API 类型,而不是 Chat Completions 吗?
可以,但只限详情页列出对应端点的模型,并且要填匹配的完整地址:GPT 系列中原生支持 Responses 的模型用 https://api.router.one/v1/responses 加 apiType responses;Claude 系列用 https://api.router.one/v1/messages 加 apiType messages。同一分组混用时按模型单独设置 apiType。VS Code 会随类型切换认证头——Chat Completions 和 Responses 用 Bearer,Messages 用 x-api-key——两种认证头 Router One 都接受。Chat Completions 是唯一覆盖目录中全部聊天模型的类型,所以本指南从它开始;把模型发到不支持的端点会收到 400,错误消息会指出正确路径。
GitHub Copilot 能通过网关用哪些模型?
选用当前目录中同时支持 GitHub Copilot 所用端点和所需功能的模型。精确 ID、当前单价与能力以 /models 及模型详情为准;不要仅按 GPT、Claude 等系列名判断兼容性。客户端能列出模型,只证明模型发现成功,仍需验证实际调用。
能列出模型,但调用报 400 或 404,怎么办?
先记录实际请求路径和错误消息,再核对精确模型 ID。400 可能是参数、工具类型或模型与端点不匹配;404 可能是请求路径或资源不存在,不能直接判定模型下线。若错误提示 must be called via,按它指明的端点调整客户端 provider,或换用支持当前端点的模型。不要在所有工具里统一增删 /v1 或 /chat/completions。
中国大陆能直连吗?
能。网关在大陆可直连、无需 VPN,配置与全球环境完全一致。
报 401/402/403/429 怎么排查?
先到 Dashboard → Logs 核对请求及错误消息。401 查 Key 是否传入和有效;402 查钱包余额与 maxSpend;403 查 Key 权限和访问限制;429 查请求频率、token 限额及上游限流,按错误来源处理。保留 request_id,再按错误码速查页逐项排查。