VS Code Copilot
VS Code 支持通过 BYOK(Bring Your Own Key)添加自定义语言模型。本页介绍如何使用 Custom Endpoint 将 Bita API 接入 VS Code Chat 和 Agent。
通过本页添加的 Bita API 模型可以用于聊天和本地 Agent。行内代码建议(输入代码时出现的灰色补全)、语义搜索和依赖 Embeddings 的功能不会改用 Bita API,仍可能需要 GitHub 账户或 GitHub Copilot 套餐。
准备工作
开始前,请准备:
- 已安装最新稳定版 Visual Studio Code,并且可以打开 Chat 面板。
- 一个处于启用状态、仍有可用额度的 Bita API 密钥。
- 密钥所属分组可以使用的准确模型 ID。
- 目标模型支持的端点类型;使用 Agent 时还应确认模型支持工具调用。
如果尚未创建密钥或选择模型,请先阅读创建 API 密钥和选择模型。
如果使用 Copilot Business 或 Copilot Enterprise,组织管理员需要先在 GitHub Copilot 策略中启用 Bring Your Own Language Model Key in VS Code。个人使用或未加入受管组织时,通常不需要这一步。
选择 API 类型
Custom Endpoint 支持三种接口格式。必须按照模型广场标注的端点类型进行选择:
| 模型端点 | VS Code 中的 API Type | 完整请求地址 | 鉴权方式 |
|---|---|---|---|
Chat | Chat Completions | https://api.bita-api.com/v1/chat/completions | Authorization: Bearer ... |
Response | Responses | https://api.bita-api.com/v1/responses | Authorization: Bearer ... |
Anthropic | Messages | https://api.bita-api.com/v1/messages | x-api-key: ... |
第一次配置时,可以优先选择支持 Chat 端点的模型和 Chat Completions。VS Code 会根据 API Type 自动选择常用的鉴权请求头,不需要手动把 Bearer 或 x-api-key 写进 API Key 输入框。
不要只根据模型名称中的 gpt、claude 等字样选择协议。最终应以 Bita API 模型广场为该模型标注的端点类型为准。
添加 Custom Endpoint
- 打开 VS Code 的 Chat 面板。
- 点击聊天输入框中的模型名称,然后点击齿轮图标进入 管理语言模型(Manage Language Models)。

- 也可以打开命令面板,运行 Chat: Manage Language Models。
- 在语言模型管理器中点击 添加模型(Add Models),选择 Custom Endpoint。

- 输入组名,例如
Bita API,然后按 Enter。组名只用于 VS Code 中展示,可以按密钥分组命名为Bita API - default或Bita API - gpt-origin。

- 输入完整的 Bita API 密钥,然后按 Enter。不要添加
Bearer前缀,也不要填写 Bita API 的登录密码。

- 选择目标模型对应的 API Type:Chat Completions、Responses 或 Messages。

完成上述步骤后,VS Code 会打开 chatLanguageModels.json。继续在该文件中填写 Bita API 地址和模型配置。
自动获取模型列表
如果希望 VS Code 根据当前密钥读取可用模型,可以在服务商层级填写 Bita API Base URL:
[
{
"name": "Bita API",
"vendor": "customendpoint",
"apiKey": "${input:bitaApiKey}",
"apiType": "chat-completions",
"url": "https://api.bita-api.com/v1"
}
]
请根据前面选择的接口把 apiType 设置为:
| VS Code 选项 | apiType 的值 |
|---|---|
| Chat Completions | chat-completions |
| Responses | responses |
| Messages | messages |
url 在这里是用于模型发现的 Base URL,必须包含 /v1。VS Code 会通过模型列表接口读取当前 Bita API 密钥能够访问的模型。
向导生成的 apiKey 可能使用不同的 ${input:...} 名称,请保留 VS Code 已生成的值。不要为了与示例完全一致而把真实密钥明文写入文件,更不要把包含密钥的文件提交到代码仓库。
手动配置单个模型
如果没有自动显示目标模型,或者需要明确声明工具调用、图片输入和上下文能力,可以改为在 models 数组中手动配置:
[
{
"name": "Bita API",
"vendor": "customendpoint",
"apiKey": "${input:bitaApiKey}",
"apiType": "chat-completions",
"models": [
{
"id": "YOUR_MODEL_ID",
"name": "YOUR_MODEL_ID",
"url": "https://api.bita-api.com/v1/chat/completions",
"toolCalling": true,
"vision": false,
"maxInputTokens": 128000,
"maxOutputTokens": 8192
}
]
}
]
需要替换或核对的字段:
| 配置项 | 说明 |
|---|---|
id | 请求实际发送的模型 ID,必须与模型广场完全一致 |
name | VS Code 模型选择器中的显示名称,可以与 id 相同 |
url | 当前 API Type 对应的完整接口地址 |
toolCalling | 仅当模型确实支持工具调用时设为 true |
vision | 仅当模型支持图片输入时设为 true |
maxInputTokens | 模型实际允许的最大输入 Token 数 |
maxOutputTokens | 模型实际允许的最大输出 Token 数 |
示例中的 Token 上限仅用于展示字段格式,必须根据目标模型的实际限制修改。配置值过高不会提高模型能力,反而可能导致上下文超限或请求失败。
如果使用其他 API Type,还需要同时修改服务商的 apiType 和模型的 url:
{
"apiType": "responses",
"url": "https://api.bita-api.com/v1/responses"
}
{
"apiType": "messages",
"url": "https://api.bita-api.com/v1/messages"
}
建议填写包含 /chat/completions、/responses 或 /messages 的完整地址,避免 VS Code 自动拼接路径时产生歧义。
保存并验证
- 保存
chatLanguageModels.json。 - 返回 Chat 面板,新建一个对话。
- 打开模型选择器,在 Bita API 分组中选择刚刚添加的模型。
- 先发送一条简单消息,确认能够正常回复。
- 如果准备使用 Agent,再让模型读取一个文件或执行安全的只读操作,确认工具调用正常。
- 在 Bita API 控制台的使用日志中确认请求已经产生,并核对实际模型和接口。
如果保存后模型没有立即出现,可以完全退出并重新打开 VS Code。处于不受信任的工作区时,模型选择器可能只显示 Auto;信任当前工作区后再重新检查。
功能范围
| VS Code 功能 | 是否可以使用 Bita API 自定义模型 |
|---|---|
| Chat 对话 | 可以 |
| 本地 Agent | 可以,但模型需要支持工具调用 |
| 图片输入 | 可以,但模型需要支持视觉能力且 vision 配置正确 |
| Chat 标题、提交信息等辅助任务 | 可以按 VS Code 的 Utility Model 设置另行配置 |
| 行内代码补全 | 不可以,仍由 GitHub Copilot 或其他补全扩展提供 |
| 语义搜索、Embeddings 相关功能 | 不可以,仍依赖对应的 GitHub/Copilot 服务 |
自定义 Bita API 模型的调用由 Bita API 计费。GitHub Copilot 自带模型及其专有功能是否可用,仍由 GitHub 账户、Copilot 套餐和组织策略决定。
常见问题
| 现象 | 建议检查 |
|---|---|
| 添加模型列表中没有 Custom Endpoint | 将 VS Code 更新到最新稳定版后重新打开语言模型管理器 |
| 企业账户无法添加自定义模型 | 请管理员启用 Bring Your Own Language Model Key in VS Code 策略 |
| 模型选择器只显示 Auto | 当前工作区可能处于 Restricted Mode;信任工作区后重试 |
返回 401 | API 密钥是否完整;不要添加 Bearer 前缀;向导中的密钥是否已经更新 |
返回 403 | 账户余额、密钥状态、额度、分组和模型权限 |
返回 404 | url 是否使用了当前 API Type 对应的完整接口地址 |
| 返回模型不存在 | id 是否与模型广场完全一致,密钥分组是否包含该模型 |
| 模型列表为空 | Base URL 是否为 https://api.bita-api.com/v1;必要时改用 models 数组手动添加 |
| 普通对话成功但 Agent 失败 | 模型可能不支持工具调用,或 toolCalling 未正确配置 |
| 图片无法发送 | 模型可能不支持视觉能力,或 vision 未正确配置 |
| 保存配置后模型没有出现 | 检查 JSON 语法,完全退出并重新打开 VS Code |
| 行内代码补全没有走 Bita API | 这是当前 BYOK 的功能范围限制,行内建议不会使用 Custom Endpoint |
| 配置正确但请求失败 | 在 Bita API 使用日志中查看实际接口、模型和错误信息 |
VS Code 的设置界面和 BYOK 功能会持续更新,具体字段以官方的语言模型配置说明为准。