VS Code 的 OAI Compatible Provider 去哪了:Custom Endpoint 自定义端点怎么配(2026)
如果你在 VS Code 里找不到 OAI Compatible Provider(OpenAI 兼容 Provider) 这个选项,那不是你的问题:按 VS Code 官方文档,这个 provider 已经废弃,取而代之的是 Custom Endpoint(自定义端点),并且支持三种 API 类型。你的端点没坏,变的是注册入口。
OAI Compatible Provider 原来指什么
这个叫法来自 VS Code 的 Copilot Chat,不是某家模型厂商的术语。它曾经是模型选择器里的一个条目,让你把一个说 OpenAI Chat Completions 方言的第三方端点注册进来,从而让 Copilot Chat 调用你自己接的模型,而不是只能用内置的那几个。
这里要先把两个都带「兼容」二字的东西分开:
- 协议层:端点实现的请求与响应形状。这是你所调用服务的属性,VS Code 做什么都改变不了它。协议本身可以看什么是 OpenAI 兼容 API。
- 客户端注册层:某一个编辑器用什么方式让你把端点填进去。变的是这一层。
所以:以前能用的端点现在照样能用,只是注册方式换了。
取代它的是 Custom Endpoint
VS Code 文档写得很直接:Custom Endpoint provider「replaces the deprecated OpenAI Compatible provider and supports additional API types」,并且 github.copilot.chat.customOAIModels 这个设置项已废弃。
真正的升级点在 API 类型。Custom Endpoint 提供三种:Chat Completions、Responses、以及 Anthropic Messages API。旧 provider 默认你走 Chat Completions。第三种对接 Anthropic 协议端点的人尤其有意义——过去需要自己加一层协议转换,现在不用了。
怎么注册一个自定义端点
按官方文档,流程是:
- 在 Copilot Chat 的模型选择器里点 Manage Language Models(齿轮图标)。
- 选 Add Models,再选 Custom Endpoint。
- 填组名(group name)、显示名(display name)和 API Key。
- 选 API 类型:Chat Completions、Responses 或 Messages。
- VS Code 会打开
chatLanguageModels.json,剩下的模型条目在这里补完。
配置是一个 JSON 数组,每个元素是一个 provider 分组,组里挂一个或多个模型:
[
{
"name": "My Provider",
"vendor": "customendpoint",
"apiKey": "${input:myApiKey}",
"apiType": "messages",
"models": [
{
"id": "your-model-id",
"name": "Display Name",
"url": "https://your-endpoint.example.com/v1/messages",
"toolCalling": true,
"vision": true,
"maxInputTokens": 200000,
"maxOutputTokens": 64000
}
]
}
]这个结构里有两处最容易翻车。
url 要写完整端点路径,不是 base URL。 这跟大多数 SDK 的习惯正好相反——SDK 里你填一个 base,客户端自己拼路径;这里 VS Code 就按你写的地址调。填错这一处占了失败案例的很大一块,同类坑在OpenAI 兼容 Base URL 该填什么里已经列过。
API Key 用输入变量,别写死。 文档给的写法是 "apiKey": "${input:myApiKey}",运行时提示你输入,key 不会落进一个你可能顺手提交上去的文件里。照这个写。
API 类型怎么选
按你的端点实际提供什么协议来选,不是按模型是谁家的来选:
|
你的端点提供 |
选哪个 API 类型 |
|---|---|
|
OpenAI Chat Completions 方言 |
Chat Completions |
|
OpenAI Responses 方言 |
Responses |
|
Anthropic Messages 方言 |
Messages |
同一个服务商可能在不同路径上同时提供好几种,有时候连 key 的分组都不一样。选错配对会报认证错误或 schema 错误,看起来像「key 不对」,于是排查方向整个跑偏。
另外,toolCalling、vision 这些能力标记是你向 VS Code 声明的,不是它探测出来的。如果你对一个工具调用只实现了一半的端点写了 toolCalling: true,问题不会在注册时暴露,而会在任务跑到一半时炸。兼容性标称普遍比实际实现乐观,「兼容」到底覆盖到哪里为止把会断的那几层拆开讲过。
自定义端点管不到的部分
接了自己的模型,不等于整个编辑器脱离 GitHub。文档说得很具体:语义搜索(semantic search)、行内补全(inline suggestions / code completions),以及依赖 embeddings 的功能,仍然需要 GitHub 账号。
也就是说,自定义端点改变的是聊天面板里由谁来回答。它不会把 Copilot 变成一个自给自足的客户端,按后者去做规划,后面会有意外。
常见问题
VS Code 里的 OpenAI Compatible provider 去哪了?
已废弃。VS Code 文档说 Custom Endpoint provider 取代了它,并支持更多 API 类型;github.copilot.chat.customOAIModels 设置项同时废弃。
迁移时要改端点吗?
不用。废弃发生在客户端一侧。端点、key、模型 id 都能原样沿用,只是重新走一遍 Add Models → Custom Endpoint,然后在 chatLanguageModels.json 里补完。
url 填 base URL 还是完整路径?
完整路径。和多数 SDK 的习惯相反,VS Code 直接调你写的这个地址。填一个光秃秃的 base、指望它自动拼后面的路径,是这里最常见的配置错误。
可以把 VS Code 指向 Anthropic 协议的端点吗?
可以。Messages 是三种受支持的 API 类型之一,所以提供 Anthropic 方言的端点能直接注册,不需要再加一层转换。
自定义端点能替代 GitHub 账号吗?
不能。按文档,语义搜索、行内补全和依赖 embeddings 的功能仍需 GitHub 账号。换掉的只是聊天里的模型选择。