教程GitHub Copilot

VS Code 的 Copilot 对话接入中转站:用 Custom Endpoint 添加自己的模型

按 VS Code 官方文档整理:在语言模型管理里添加 Custom Endpoint,填中转站的地址、key 和模型名,就能在 VS Code 的对话里用中转站的模型,不需要 GitHub 账号和 Copilot 订阅。讲清配置文件怎么写、地址和认证头怎么定,以及哪些功能不走这条线路。

发布 · 约 6 分钟读完 · 经人工审核()· 本站的内容怎么来的

本文根据公开分享整理,本站尚未实测。操作前请对照文末的原始来源。

本页目录(10 节)
  1. 开始之前:从中转站拿到三样东西
  2. 第一步:打开语言模型管理
  3. 第二步:添加 Custom Endpoint
  4. 第三步:在配置文件里写模型
  5. 地址和认证头怎么定
  6. 没有登录 GitHub 时:辅助任务也要指定模型
  7. 公司账号可能被管理员关掉
  8. 和中转站文档里的做法有什么不同
  9. 常见问题
  10. 接上之后

VS Code 的对话(Copilot Chat)可以用自己的 key 添加模型,官方把这个功能叫 BYOK(Bring Your Own Key)。其中的 Custom Endpoint 供应商能连接任何兼容的接口,接中转站用的就是它:

  1. 命令面板运行 Chat: Manage Language Models;
  2. 点 Add Models,选 Custom Endpoint;
  3. 填分组名、显示名和 API key,选接口类型;
  4. 在打开的 chatLanguageModels.json 里写上模型名和中转站地址,保存。

官方文档写明了两点,和很多旧教程的说法不一样:

  • 不需要 GitHub 账号,也不需要 Copilot 订阅。 自己添加的模型在没有登录 GitHub 的情况下也能用。
  • 不需要另装扩展。 Custom Endpoint 是 VS Code 自带的,它取代了已经弃用的 “OpenAI Compatible” 供应商,github.copilot.chat.customOAIModels 这个设置也已弃用。

先说清楚范围。官方文档的原话是,BYOK 只作用于对话和后台的辅助任务。下面这些仍然需要 GitHub 账号,不走中转站:

  • 行内补全(写代码时自动出现的灰色建议);
  • 语义搜索,以及依赖 embeddings 的功能。

如果你还没弄清中转站是什么、有哪些风险,先读中转站是什么和用中转站有什么风险;选站可以看中转站排行榜。

开始之前:从中转站拿到三样东西

需要什么 说明
接口地址 以及它是哪一种接口,见下面第二步
模型名 中转站模型页上写的名字,一字不差
API key 在中转站的控制台创建,多数站只显示一次

1打开语言模型管理

两个入口,任选一个:

  • 命令面板(Ctrl+Shift+P,macOS 是 Cmd+Shift+P)里运行 Chat: Manage Language Models;
  • 在对话框的模型选择器里点齿轮图标 Manage Language Models。

2添加 Custom Endpoint

按官方文档的顺序:

  1. 点 Add Models,在列表里选 Custom Endpoint。
  2. 填分组名。它是模型选择器里显示的分组标签,以后可以改。
  3. 填显示名和中转站的 API key。
  4. 选接口类型,三选一:
接口类型 配置里的写法 什么时候选
Chat Completions chat-completions 中转站提供 OpenAI 兼容接口。最通用,也是默认值
Responses responses 模型只能走 OpenAI 的 Responses 接口时
Messages messages 用 Claude,中转站提供 Anthropic 原生接口时

官方提醒:要确认模型支持你选的接口类型。

3在配置文件里写模型

选完接口类型,VS Code 会打开 chatLanguageModels.json。把模型的信息填进去再保存。

用 Claude、走 Anthropic 原生接口的例子:

[
  {
    "name": "我的中转站",
    "vendor": "customendpoint",
    "apiKey": "${input:myRelayKey}",
    "apiType": "messages",
    "models": [
      {
        "id": "claude-sonnet-5-5",
        "name": "Claude Sonnet 5.5(中转站)",
        "url": "https://你的中转站地址/v1/messages",
        "toolCalling": true,
        "vision": true,
        "maxInputTokens": 136000,
        "maxOutputTokens": 64000
      }
    ]
  }
]

走 OpenAI 兼容接口时,把 apiType 换成 chat-completions,url 换成 https://你的中转站地址/v1/chat/completions,id 换成对应的模型名,比如 gpt-6.1-sol。

几个字段的含义:

字段 说明
vendor 固定写 customendpoint
apiKey 官方建议用输入变量 ${input:名字} 引用 key,不要把 key 的原文写进这个文件
id 发给接口的模型名,照中转站的模型页写
name 模型选择器里显示的名字,自己起
url 模型的接口地址,见下一节
toolCalling 模型支持工具调用时设 true。智能体模式靠它
vision 模型支持看图时设 true
maxInputTokens、maxOutputTokens 最多输入、输出多少 token

两个数字要按你用的模型来填,例子里的只是示意。官方的规则是:两者之和不能超过模型的上下文长度,通常把 maxInputTokens 设成上下文长度减去 maxOutputTokens。也可以直接写 contextWindow(输入加输出的总长度),省掉 maxInputTokens,VS Code 会自己减。

保存后,在对话的模型选择器里选这个模型。官方的提示:新加的模型没有马上出现时,重启 VS Code。

地址和认证头怎么定

这两处是接中转站时最容易出错的地方。

地址

官方文档的规则:

  • url 里已经带了接口路径(/chat/completions、/responses 或 /messages)时,原样使用。
  • 没带时,VS Code 按接口类型补上路径;地址末尾不是 /v1 这样的版本号时,还会先补一个 /v1。比如接口类型是 Responses,https://my-host.example.com 会变成 https://my-host.example.com/v1/responses。

官方的建议是写完整的地址,把接口路径也带上,免得有歧义。中转站的路径不是标准的 /v1/... 时更要这样写。

认证头

默认按接口类型决定 key 放在哪个请求头里:

接口类型 默认的请求头
Messages x-api-key
Chat Completions、Responses Authorization: Bearer <key>

有的中转站的 Anthropic 接口只认 Authorization: Bearer。这时在模型上加 requestHeaders 改掉默认值:

"requestHeaders": {
  "Authorization": "Bearer ${apiKey}"
}

${apiKey} 会在发请求时换成你配置的 key,key 本身仍然不用写进文件。官方文档说明,自己提供了常见的认证头之后,VS Code 不会再发默认的那个,不会出现两个凭据打架的情况。

没有登录 GitHub 时:辅助任务也要指定模型

除了对话本身,VS Code 还会在后台用轻量的模型做一些辅助任务:起标题、写提交说明、写 PR 描述、判断意图等。这些默认用 Copilot 自带的模型。

没有登录 GitHub 时,这些自带的模型不可用,对话视图里会出现一条提示让你配置。两种办法:

  • 把 chat.byokUtilityModelDefault 设成 Main Agent Model,辅助任务就用你选的那个主模型;
  • 或者分别设 chat.utilityModel 和 chat.utilitySmallModel。后者用于提交说明、重命名建议这类又快又轻的任务,官方建议给它配一个便宜的快模型。

用贵的模型当主模型时,第二种更省:辅助任务很频繁,没必要都用主模型来跑。

公司账号可能被管理员关掉

官方文档说明,Copilot Business 和 Enterprise 的用户能不能用自己的 key,由组织管理员在 GitHub.com 的 Copilot 策略里决定,对应的策略叫 “Bring Your Own Language Model Key in VS Code”。菜单里找不到添加模型的入口时,先问管理员。

和中转站文档里的做法有什么不同

有的中转站的接入文档用的是另一条路:装一个第三方扩展 “OAI Compatible Provider for Copilot”,在扩展里填地址和 key。按那份说明,这个扩展要求有 Copilot 个人版的订阅,不支持 Business 和 Enterprise。

本文按 VS Code 官方文档写的是自带的 Custom Endpoint:不用装扩展,也不要求订阅。两种做法改的都只是对话,补全都不受影响。

常见问题

现象 检查什么
模型选择器里没有新加的模型 配置文件有没有保存、JSON 有没有写错;重启 VS Code
返回 404 url 是否写了完整的路径,路径和接口类型是否对应
返回 401 key 是否正确;中转站要的请求头和默认的是否一致,不一致就加 requestHeaders
提示模型不存在 id 是否和中转站的模型名完全一致
能对话,智能体模式不动手 toolCalling 是否为 true;这个模型在中转站那边是否支持工具调用
贴图片模型看不到 vision 是否为 true
长对话到后面报错 maxInputTokens 加 maxOutputTokens 是否超过了模型的上下文长度
对话正常,但不自动起标题、不能生成提交说明 没有登录 GitHub 时要给辅助任务指定模型,见上文
补全还是 Copilot 原来的 补全不走这里,这是官方写明的范围
找不到添加模型的入口 公司账号可能被管理员的策略关掉了

接上之后

来源

通过 API 中转站使用这些模型?到 Veridrop 免费检测中转站给你的是不是它声称的模型,或者看看中转站排行榜前 100 名。

相关文章

  • DeepSeek Harness(dsh)接入中转站:添加自定义模型 API,协议和地址怎么填教程 · DeepSeek Harness · 约 9 分钟

    按 DeepSeek Harness 官方文档整理:在“设置 → 模型”里添加模型提供商,切换到“自定义模型 API”,填 Provider ID、中转站地址、协议和 key,再加上模型。讲清三种协议怎么选、密钥存在哪里、中转站拒绝请求时改哪两个兼容开关,以及常见报错怎么查。

  • Chatbox 接入中转站:添加自定义的模型提供方,电脑和手机都能用教程 · Chatbox · 约 5 分钟

    按 Chatbox 官方文档整理:在设置的“模型提供方”里点添加,选 API 类型,填中转站的 key 和主机地址,加上模型后点“检查”。讲清 API 主机和路径怎么分、模型能力怎么勾、一键导入配置要注意什么,以及检查失败时各个错误码的含义。

  • Cherry Studio 接入中转站:添加自定义服务商,地址填到哪一级教程 · Cherry Studio · 约 5 分钟

    按 Cherry Studio 官方文档整理:在“模型服务”里添加自定义服务商,填中转站的 key 和地址,获取模型列表后打开启用开关。讲清地址为什么通常只填根地址、什么时候在末尾加

  • 沉浸式翻译接入中转站:自定义接口地址要写完整路径教程 · 沉浸式翻译 · 约 5 分钟

    按沉浸式翻译官方文档整理:在翻译服务里填中转站的 key、模型名和自定义接口地址,就能用中转站的模型翻译网页。和多数工具不同,这里的地址要写到 /v1/chat/completions 为止。讲清两种填法、出现 429 时怎么调请求数,以及翻译这种用法要留意的费用和隐私。