VS Code 支持自带密钥调用多家 AI 模型
VS Code 新增 BYOK 功能,允许程序员自带 API 密钥接入 Azure、Anthropic、OpenAI 等,或使用本地模型,灵活度大幅提升。
VS Code 新增 BYOK 功能,允许程序员自带 API 密钥接入 Azure、Anthropic、OpenAI 等,或使用本地模型,灵活度大幅提升。
2026 年 6 月 18 日,Kayla Cinnamon
在今年的 Microsoft Build 大会上,我有机会登上开幕主题演讲的舞台。我展示的其中一项内容,是如何在全新的 Surface RTX Spark Dev Box 上,在 VS Code 中使用本地模型。我的模型会定期分析日志文件并生成摘要,让我无须亲自逐条查看日志,就能轻松诊断问题。你可以查看 12:18 处的演示录像。
在使用 Agent 时,本地模型能为你带来更大的灵活性。有时,你会想使用 GitHub Copilot 提供的内置模型;有时,你会想尝试团队已经在使用的某个提供商推出的新模型;还有些时候,你只是想在本地做实验。借助自带语言模型密钥(bring your own language model key,BYOK)和自带本地模型,VS Code 可以支持所有这些工作流。
通过 VS Code 中的 BYOK,你可以添加 Azure、Anthropic、Huggingface、Gemini、OpenAI、OpenRouter 等提供商的模型,也可以使用 Ollama、Foundry Local 等工具在本地运行模型,然后直接从 Chat 模型选择器中使用它们。
BYOK 允许你在 VS Code 中添加自己的 API key 或 endpoint 配置,从受支持的提供商处使用语言模型。配置完成后,这些模型会出现在你平时使用 Copilot 时所用的同一个 Chat 模型选择器中。VS Code 已内置对多个提供商的支持,同时具备可扩展性,因此任何模型提供商都可以通过 extension 提供支持。
这为 Chat 和 Agent 工作流带来了更多选择。例如,你可以:
尝试未内置于 VS Code 的模型。
使用组织已经为其配置好计费或治理机制的提供商。
通过 Ollama 或 Foundry Local 等提供商连接本地模型。
为不同任务选择不同模型,例如快速问答、规划或多步骤 Agent 工作。
目标是让你能够选择合适的模型,并继续专注于手头的工作。
BYOK 模型可用于 VS Code 的 Chat 体验;当所选模型支持必要能力时,也可以用于 Agent 工作流。
有几个重要细节需要注意:
BYOK 模型无须登录 GitHub 账户,也不需要 Copilot 套餐。你可以完全使用自己的 API key 添加和使用模型;如果使用本地模型,甚至可以在完全离线的场景中工作。
BYOK 适用于 Chat 和 utility task,不适用于标准代码补全。
semantic search、inline suggestion 以及依赖 embedding 的功能等部分 AI 功能,仍然需要 GitHub 账户或 Copilot 支持。
由提供商支持的 BYOK 模型,其使用费用由该提供商直接收取,不会计入 GitHub Copilot 请求配额。
对于 Copilot Business 和 Enterprise,组织管理员可以通过 Copilot policy 设置控制 BYOK 的可用性。
换句话说,BYOK 扩展了 VS Code Chat 中的模型选择,但它无法取代编辑器内所有由 Copilot 驱动的功能。
最简单的入门方式是使用 Language Models 编辑器。
你可以在 Chat 模型选择器中选择 Manage Language Models 齿轮图标来打开它,也可以从 Command Palette 运行 Chat: Manage Language Models。
Language Models 编辑器会按提供商分组,显示你可以使用的模型。它还会显示一些实用信息,例如模型能力、上下文大小、计费信息,以及模型是否会出现在选择器中。
你也可以在这里精简模型选择器。如果你正在测试多个提供商,可以隐藏不常使用的模型,让日常使用的模型更容易找到。
如果 VS Code 已内置你想使用的提供商,只需点击几下即可完成设置。
打开 Chat: Manage Language Models。
输入模型的组名。这个名称会作为标签,显示在模型选择器和 Language Models 编辑器中。
输入提供商的详细信息,例如 API key、endpoint、deployment name 或其他必需配置。
从 Chat 模型选择器中选择模型。
根据提供商的不同,VS Code 可能会打开一个 chatLanguageModels.json 文件,供你完成模型详细信息的配置。
例如,下面的 Mistral 配置指定了 endpoint URL、API type 和模型能力:
[
{
"name": "Mistral",
"vendor": "customendpoint",
"apiKey": "<your-mistral-api-key>",
"apiType": "chat-completions",
"models": [
{
"id": "mistral-medium-latest",
"name": "mistral medium",
"url": "https://api.mistral.ai/v1/chat/completions",
"toolCalling": true,
"vision": true,
"maxInputTokens": 256000,
"maxOutputTokens": 16000
}
]
}
]
具体字段取决于提供商和模型。重要的是,完成提供商配置后,该模型就能从你用于其他 Chat 功能的同一个选择器中使用。更多信息请参阅 Language Model 文档。
VS Code 还支持语言模型提供商 extension。这些 extension 可以直接向 Language Models 编辑器和 Chat 模型选择器中添加模型。
要查找提供商 extension:
打开 Extensions 视图。
搜索 @tag:language-models。
安装你想使用的提供商 extension。
按照该 extension 的设置说明操作。
从 Chat 模型选择器中选择模型。
这种可扩展性是 BYOK 体系的重要组成部分。无须将每个提供商硬编码到 VS Code 中,extension 就能随着生态系统的发展,不断将新的模型提供商引入编辑器。
VS Code 还会在后台使用轻量级模型,处理生成 Chat 标题、commit message 和重命名建议等小型任务。默认情况下,这些任务使用内置的 Copilot 模型,大多数用户都不需要调整它们。但如果你在没有登录 GitHub 账户的情况下使用 BYOK,这些默认模型将不可用。VS Code 会在 Chat 视图中显示通知,提示你进行配置。将 chat.utilityModel(在 VS Code 中打开、在 VS Code Insiders 中打开)和 chat.utilitySmallModel(在 VS Code 中打开、在 VS Code Insiders 中打开)设置为你的某个 BYOK 模型,即可让这些功能继续工作。速度快且价格低廉的模型很适合用于此处。
BYOK 最大的优势之一,就是你不必让一个模型承担所有任务。
在日常工作中,你可能会选择:
用速度快的模型处理快速提问、摘要和小型编辑。
用 reasoning model 进行规划、调试或复杂重构。
想要离线实验时使用本地模型。
如果团队已经围绕某个提供商建立了工作流,则使用该提供商的特定模型。
只需在 Chat 输入框下方的模型选择器中,选择你想使用的模型即可。
BYOK 在不增加额外工作流工具的前提下,为 VS Code 带来了更大的灵活性。你可以继续使用内置的 Copilot 模型,也可以添加你已经在使用的提供商所提供的模型、试验本地模型,并在同一个地方为每项任务选择合适的模型。
要了解更多信息,请参阅 VS Code 文档中的 AI language models、VS Code Blog 文章《通过自带密钥扩展 VS Code 中的模型选择》,以及 GitHub changelog 中关于 VS Code 支持 BYOK 的条目。
我们还准备了一段视频,介绍如何自带 AI……而且无须登录!
我们会继续改进 VS Code 中的模型选择体验,而你的反馈将帮助我们决定下一步的发展方向。请在你的工作流中试用 BYOK,并在 VS Code repository 中告诉我们你的想法。