跳到主要内容

VS Code Copilot

VS Code 支持通过 BYOK(Bring Your Own Key)添加自定义语言模型。本页介绍如何使用 Custom Endpoint 将 Bita API 接入 VS Code Chat 和 Agent。

自定义模型主要用于 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完整请求地址鉴权方式
ChatChat Completionshttps://api.bita-api.com/v1/chat/completionsAuthorization: Bearer ...
ResponseResponseshttps://api.bita-api.com/v1/responsesAuthorization: Bearer ...
AnthropicMessageshttps://api.bita-api.com/v1/messagesx-api-key: ...

第一次配置时,可以优先选择支持 Chat 端点的模型和 Chat Completions。VS Code 会根据 API Type 自动选择常用的鉴权请求头,不需要手动把 Bearerx-api-key 写进 API Key 输入框。

模型来源不等于 API 类型

不要只根据模型名称中的 gptclaude 等字样选择协议。最终应以 Bita API 模型广场为该模型标注的端点类型为准。

添加 Custom Endpoint

  1. 打开 VS Code 的 Chat 面板。
  2. 点击聊天输入框中的模型名称,然后点击齿轮图标进入 管理语言模型(Manage Language Models)

从 VS Code Chat 模型选择器进入管理语言模型

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

在 VS Code 语言模型管理器中选择 Custom Endpoint

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

输入 Bita API 模型组名

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

输入 Bita API 密钥

  1. 选择目标模型对应的 API Type:Chat CompletionsResponsesMessages

选择 Bita API 模型使用的 API Type

完成上述步骤后,VS Code 会打开 chatLanguageModels.json。继续在该文件中填写 Bita API 地址和模型配置。

自动获取模型列表

如果希望 VS Code 根据当前密钥读取可用模型,可以在服务商层级填写 Bita API Base URL:

chatLanguageModels.json
[
{
"name": "Bita API",
"vendor": "customendpoint",
"apiKey": "${input:bitaApiKey}",
"apiType": "chat-completions",
"url": "https://api.bita-api.com/v1"
}
]

请根据前面选择的接口把 apiType 设置为:

VS Code 选项apiType 的值
Chat Completionschat-completions
Responsesresponses
Messagesmessages

url 在这里是用于模型发现的 Base URL,必须包含 /v1。VS Code 会通过模型列表接口读取当前 Bita API 密钥能够访问的模型。

向导生成的 apiKey 可能使用不同的 ${input:...} 名称,请保留 VS Code 已生成的值。不要为了与示例完全一致而把真实密钥明文写入文件,更不要把包含密钥的文件提交到代码仓库。

手动配置单个模型

如果没有自动显示目标模型,或者需要明确声明工具调用、图片输入和上下文能力,可以改为在 models 数组中手动配置:

chatLanguageModels.json
[
{
"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,必须与模型广场完全一致
nameVS 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 自动拼接路径时产生歧义。

保存并验证

  1. 保存 chatLanguageModels.json
  2. 返回 Chat 面板,新建一个对话。
  3. 打开模型选择器,在 Bita API 分组中选择刚刚添加的模型。
  4. 先发送一条简单消息,确认能够正常回复。
  5. 如果准备使用 Agent,再让模型读取一个文件或执行安全的只读操作,确认工具调用正常。
  6. 在 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;信任工作区后重试
返回 401API 密钥是否完整;不要添加 Bearer 前缀;向导中的密钥是否已经更新
返回 403账户余额、密钥状态、额度、分组和模型权限
返回 404url 是否使用了当前 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 功能会持续更新,具体字段以官方的语言模型配置说明为准。