资讯动态

VS Code AI 语言模型配置全指南:模型切换、思维强度与 BYOK 自有密钥接入

发布时间:2026/10/9 7:02:33 来源:尧图企业网站定制
文档教程【免费下载链接】vscode-docsPublic documentation for Visual Studio Code项目地址https://gitcode.com/gh_mirrors/vs/vscode-docs点击查看免费下载本文基于 Visual Studio Code 官方文档仓库vscode-docs中的 docs/agent-customization/language-models.md 编写。Visual Studio Code 为开发者内置了多种针对不同任务优化的大语言模型LLM你可以为聊天、内联建议与后台工具任务分别切换模型也可以通过 BYOKBring Your Own Key自带密钥接入任意兼容的模型提供方甚至完全离线运行本地模型。读完本文你将掌握聊天模型切换、思维强度Thinking Effort配置、自动模型选择、Language Models 编辑器管理以及chatLanguageModels.json的完整字段配置让 VS Code 的 AI 能力按你的场景精准落地。语言模型选型先理解模型的差异在动手配置之前先了解 VS Code 中语言模型的核心工作机制。相关的背景概念详见仓库中的 docs/agents/concepts/language-models.md模型的输入与输出模型接收文本 prompt由你的消息、对话历史、文件内容、工具输出和自定义指令共同组装而成输出解释、代码编辑或工具调用请求。模型本身不执行代码、不直接访问文件而是生成文本由 agent loop代理循环将这些文本解释为动作当模型请求调用工具时VS Code 执行工具并把结果回传给模型进入下一轮迭代。三个关键特性非确定性同一 prompt 每次结果可能不同这是概率采样的设计使然、上下文相关响应质量取决于 prompt 中提供的上下文质量与相关性、知识边界模型训练数据有截止日期对超出训练范围的主题可能输出过时或错误信息VS Code 通过工具与工作区索引来缓解。上下文窗口Context Window指模型单次请求能处理的全部信息量包括系统提示、自定义指令、对话历史、文件内容、工具输出与当前消息。上下文窗口填满后VS Code 会自动摘要较早的对话以腾出空间你也可以随时在聊天输入框中输入/compact手动触发压缩甚至可附加自定义指令引导摘要方向例如/compact focus on the API design decisions。思维与推理Thinking and Reasoning推理模型会在生成答案前先在内部思考产生与最终输出分离的专用思考 token。思维 token 计入上下文窗口更高的思维强度会产生更多思考 token从而增加延迟与 AI 额度AI credits消耗。选型原则快速模型fast models适合快速代码编辑、样板代码生成和直接问题推理模型reasoning models擅长复杂重构、架构决策、多步调试和需要权衡的任务大上下文模型适合大型代码库或长对话。你可以在任何时刻按需切换模型。切换聊天模型VS Code 的聊天输入框自带语言模型选择器model picker用于切换聊天对话和代码编辑所使用的模型不同模型各有长处快速编辑和简单问题用快速模型复杂重构、架构决策或多步任务用推理模型。需要注意的是模型可用列表会因你使用的 agent harness代理执行框架 而异——harness 是运行代理会话的软件层它把模型与上下文、工具连接起来并协调 agent loop不同 harnessCopilot、Claude、Codex 等提供的模型选项不同。切换模型时的注意事项受限模式Restricted Mode限制在未受信任的工作区中参见 Workspace Trust聊天模型选择器只显示Auto。信任该工作区后才会恢复完整模型列表。Workspace Trust 是 VS Code 的安全边界受限模式会禁用包括 AI 代理在内的多项功能。扩展更多模型安装 AI Toolkit 扩展可以为 GitHub Copilot 增加更多语言模型官方文档中提供了对应的操作指引。企业策略限制如果你是 Copilot Business 或 Enterprise 用户管理员需要在 GitHub.com 的 Copilot 策略设置中为组织开启Editor Preview Features才能启用特定模型。配置思维强度Thinking Effort部分推理模型支持可配置的思维强度用于控制模型对每次请求投入的推理量。默认情况下VS Code 会根据评估数据与线上表现设置推荐强度并在支持的模型上启用自适应推理adaptive reasoning——模型根据请求复杂度动态决定思考量。对大多数场景默认值已足够。提示更高的思维强度产生更多思考 token会加快 AI 额度消耗。只为真正复杂的任务提高强度相关优化建议可参考 docs/agents/guides/optimize-usage.md。配置思维强度的步骤打开聊天输入框中的模型选择器选择一个推理模型。点击模型名旁出现的箭头打开Thinking Effort子菜单。选择一个强度级别。注意非推理模型如 GPT-4.1、GPT-4o不显示思维强度子菜单。设置后模型选择器的标签会更新显示所选强度例如 Claude Sonnet 4.6 · High。强度按会话记忆——回到之前的会话会保持该会话所用的强度新对话则从你为该模型最后一次设置的强度开始。注意github.copilot.chat.anthropic.thinking.effort与github.copilot.chat.responsesApiReasoningEffort设置已弃用请直接通过模型选择器配置思维强度。使用自动模型选择Auto Model Selection自动模型选择让 VS Code 综合评估任务复杂度与模型的实时可用性把每次请求路由到最优模型。其背后是两套系统的协作一套跟踪模型的实时健康与可用性另一套评估任务复杂度两者结合后把简单任务路由到快速模型、把高成本推理模型保留给真正需要的复杂问题详见 Auto model selection。使用方法在聊天模型选择器中选择Auto然后用Optimize for选择符合你优先级的档位Efficiency效率优先降低 AI 额度消耗。Balance平衡在能力与额度消耗之间取得平衡。Intelligence智能对复杂任务优先使用更强大的模型。你的组织可以为新聊天设置起始档位该受管档位在Optimize for菜单中显示为Default但你仍可另选其他档位显式的个人选择在受管默认值变化或被移除时会得到保留。把鼠标悬停在聊天响应上可以看到生成该响应实际使用的模型。管理语言模型Language Models 编辑器Language Models 编辑器用于查看所有可用模型、控制哪些模型显示在模型选择器中以及从内置提供方或扩展提供的模型提供方中添加模型。打开方式有两种在聊天视图中打开模型选择器并选择Manage Language Models齿轮图标或从命令面板Command Palette运行Chat: Manage Language Models命令。编辑器默认以 模态叠加modal overlay 形式打开在编辑器区域之上。编辑器列出你全部可用模型展示模型能力、上下文大小、计费详情与可见性状态等关键信息。默认按提供方分组也可以改为按可见性分组。搜索与筛选支持以下方式使用搜索框进行文本搜索提供方provider:OpenAI能力capability:tools、capability:vision、capability:agent可见性visible:true/false自定义模型选择器通过修改模型中 Language Models 编辑器中的可见性状态可以控制哪些模型出现在模型选择器中任意提供方的模型都可显示或隐藏。将鼠标悬停在模型列表项上点击眼睛图标即可在模型选择器中显示或隐藏该模型。置顶常用模型将模型置顶可以使其固定在模型选择器顶部的位置出现在独立的Pinned分区中不会因使用其他模型而移位打开聊天输入框中的模型选择器。悬停某个模型点击图钉图标将其加入Pinned分区。取消置顶在Pinned分区中悬停该模型点击取消置顶图标。自带语言模型密钥BYOKBYOK 让你在继续使用 VS Code 聊天体验与工具的前提下连接到任何兼容的模型提供方。它可以让你访问其他提供方的模型、本地运行的模型或尚未作为 VS Code 内置选项提供的模型。BYOK 模型无需登录 GitHub 账户、无需 Copilot 套餐即可工作这意味着你可以完全用自己的模型使用 AI 聊天功能包括使用 Ollama 等本地模型的完全离线场景。注意对于 Agent Host 会话例如 agents window 中的 Copilot 会话需要启用chat.agentHost.byokModels.enabled设置对应功能开关agent-host-byok-models默认值为false参见 docs/agents/reference/ai-settings.mdBYOK 模型才能在这些会话中使用。BYOK 模型还可用于覆盖 VS Code 中工具任务如标题生成、意图检测所使用的模型。但要注意以下功能仍然需要 GitHub 账户语义搜索、内联建议代码补全以及依赖 embeddings 的功能——BYOK 仅适用于聊天体验与工具任务。VS Code 提供三种添加模型的方式内置提供方所需提供方已在列表中Azure、Anthropic、Gemini、OpenAI 等。扩展提供方通过 Marketplace 扩展提供模型例如用于本地模型的 AI Toolkit。自定义端点你有自建、企业或其他兼容 Chat Completions、Responses 或 Messages API 的端点。注意Copilot Business/Enterprise 用户的管理员可以在 GitHub.com 的 Copilot 策略设置中禁用Bring Your Own Language Model Key in VS Code策略详见 GitHub Copilot 官方文档。从内置提供方添加模型从一组 VS Code 中开箱即用的常见提供方中选择。根据提供方不同你可能需要 API 密钥、端点 URL 等配置信息。重要内置 Ollama 提供方已弃用。对于本地 Ollama 模型请改用 VS Code Marketplace 上 Ollama 发布者提供的官方 Ollama 扩展由 Ollama 团队维护能更快支持新的 Ollama 模型与能力。如果你正用内置 Ollama 提供方运行 BYOK 本地模型请安装扩展并移除内置提供方配置以免中断服务。配置内置提供方模型的步骤从模型选择器选择Manage Language Models齿轮图标或通过命令面板运行Chat: Manage Language Models命令打开 Language Models 编辑器。选择Add Models然后从列表中选择一个模型提供方。输入模型的组名group name。这是模型选择器和 Language Models 编辑器中显示的组标签之后可在编辑器中随时修改。输入提供方相关的详细信息如 API 密钥或端点 URL。如果提供方需要额外配置VS Code 会打开chatLanguageModels.json文件在其中配置提供方与模型细节字段说明见下文 模型配置参考。以下示例展示使用 Entra ID 认证的 Azure OpenAI 配置[ { name: Azure, vendor: azure, models: [ { id: my-deployment-name, name: GPT-5.5, url: https://my-endpoint.openai.azure.com, toolCalling: true, vision: true, maxInputTokens: 200000, maxOutputTokens: 64000 } ] } ]配置完成后即可在聊天模型选择器中选用该模型。要在聊天中使用代理agents时可用该模型模型必须支持工具调用tool calling不支持的模型不会出现在模型选择器中。安装模型提供方扩展可以从 VS Code Marketplace 安装为 VS Code 添加语言模型提供方的扩展。这类扩展可提供额外的云托管或本地运行模型例如 Foundry Toolkit for VS Code 扩展提供对 Foundry 本地与云端模型的访问。添加模型提供方扩展的步骤通过Manage Language Models齿轮图标或Chat: Manage Language Models命令打开 Language Models 编辑器。选择Install Model ProvidersVS Code 会打开筛选过的扩展视图也可以直接打开扩展视图并搜索tag:language-models。选择Install安装扩展。按照扩展的设置说明配置模型访问。扩展的模型会出现在聊天模型选择器和 Language Models 编辑器中如果未出现重新加载 VS Code。添加自定义端点模型注意自定义端点提供方取代了已弃用的 OpenAI Compatible 提供方并支持更多 API 类型github.copilot.chat.customOAIModels设置已弃用见 docs/agents/reference/ai-settings.md。Custom Endpoint 提供方让你把任何兼容的 API 端点接入 VS Code 聊天。它支持三种 API 类型可按提供方或按模型选择Chat Completions、Responses和Anthropic Messages API。非常适合自托管模型、企业网关以及不在内置提供方列表中的服务商。添加自定义端点模型的步骤通过Manage Language Models齿轮图标或Chat: Manage Language Models命令打开 Language Models 编辑器。选择Add Models然后从列表中选择Custom Endpoint。输入组名显示在模型选择器与 Language Models 编辑器中的分组标签之后可修改。输入端点的显示名称与 API 密钥。选择 API 类型Chat Completions、Responses或Messages确保模型支持该 API 类型。VS Code 会打开chatLanguageModels.json文件供你配置模型细节更新模型属性并保存字段说明见下文 Custom Endpoint 配置参考。以下示例展示针对 Anthropic 端点的 Messages API 配置[ { name: Anthropic, vendor: customendpoint, apiKey: ${input:anthropicApiKey}, apiType: messages, models: [ { id: claude-sonnet-4-6, name: Claude Sonnet 4.6, url: https://api.anthropic.com/v1/messages, toolCalling: true, vision: true, maxInputTokens: 200000, maxOutputTokens: 64000 } ] } ]配置完成后从聊天模型选择器中选用该模型。提示如果添加的模型没有立即出现在模型选择器中请重启 VS Code。Custom Endpoint 配置参考Custom Endpoint 提供方支持全部通用模型配置属性另加本节介绍的提供方级与模型级属性。提供方级属性设置在提供方对象上模型级属性设置在models数组的每一项上同一属性两级都设置时模型级取值优先。提供方级属性在通用提供方属性之外属性说明vendor必须为customendpoint才能使用 Custom Endpoint 提供方。apiKey用于请求认证的 API 密钥。建议使用输入变量安全存储例如apiKey: ${input:myApiKey}不要直接提交原始密钥。apiType可选该提供方所有模型的默认 API 类型chat-completions默认、responses或messages。可用模型级apiType覆盖。url可选用于自动发现模型的基地址。设置后VS Code 会查询端点获取可用模型列表而不再使用models数组省略时则用models数组显式配置模型。在通用模型属性之外Custom Endpoint 提供方还支持以下模型级属性属性说明apiType可选覆盖该模型的 API 类型chat-completions、responses或messages。默认取提供方级apiType两者都未设置时根据url推断。contextWindow可选模型的完整上下文窗口输入 输出token 数例如 100 万 token 的模型写1000000。设置后可以省略maxInputTokensVS Code 会按contextWindow - maxOutputTokens推导。modelOptions可选随每次请求发送给模型的请求参数对象例如temperature和top_p。示例modelOptions: { temperature: 0.2 }。requestHeaders可选随该模型请求附带的额外 HTTP 头对象例如通过网关或自定义域名认证。详见 自定义认证头。端点 URL 解析模型提供的url会按其 API 类型解析如果 URL 已包含显式 API 路径/chat/completions、/responses或/messages则直接使用。否则VS Code 会追加该模型 API 类型对应的路径若 URL 未以/v1之类的版本段结尾会先插入/v1。例如Responses API 类型下https://my-host.example.com解析为https://my-host.example.com/v1/responses。为避免歧义建议像示例那样提供包含完整 API 路径的端点 URL。自定义认证头Custom authentication headers默认情况下Custom Endpoint 提供方根据 API 类型和 URL 推断认证头Messages API 发送x-api-keyAzure OpenAI URL 发送api-key其他情况发送Authorization: Bearer apiKey。你可以用requestHeaders覆盖认证头。当你提供了知名认证头如Authorization、api-key、x-api-key、x-goog-api-key或apikey时VS Code 不再同时发送默认推断的认证头避免端点收到冲突的凭据。若想将 API 密钥保存在密钥存储中、同时在自定义头中使用它可在头部值中使用${apiKey}令牌VS Code 会在请求时将其替换为配置的apiKey[ { name: Gateway, vendor: customendpoint, apiKey: ${input:myApiKey}, models: [ { id: my-model, name: My Model, url: https://gateway.example.com/v1/chat/completions, toolCalling: true, vision: false, maxInputTokens: 128000, maxOutputTokens: 16000, thinking: true, supportsReasoningEffort: [low, medium, high], reasoningEffortFormat: chat-completions, modelOptions: { temperature: 0.2, top_p: 0.9 }, requestHeaders: { Authorization: Bearer ${apiKey}, Ocp-Apim-Subscription-Key: my-subscription-key } } ] } ]更新模型提供方详情如需更新之前配置的模型提供方从聊天视图的模型选择器选择Manage Language Models齿轮图标或运行Chat: Manage Language Models命令。在 Language Models 编辑器中点击要更新的提供方旁边的齿轮图标。更新提供方详情例如 API 密钥或端点 URL。为其他功能配置模型除主聊天模型外你还可以为内联聊天、内联建议和后台工具任务分别配置模型。更改内联聊天Inline Chat模型可以为编辑器内联聊天配置默认语言模型从而让内联聊天使用与聊天对话不同的模型。使用inlineChat.defaultModel设置配置内联聊天的默认模型设置列表中包含模型选择器的全部可用模型默认值 N/A参见 docs/agents/reference/ai-settings.md。如果在某次内联聊天会话中手动更换了模型该选择在会话剩余期间保持重新加载 VS Code 后模型会重置为inlineChat.defaultModel指定的值。更改内联建议Inline Suggestions模型更改编辑器内联建议所使用的语言模型在 VS Code 标题栏的 Chat 菜单中选择Configure Inline Suggestions...。选择Change Completions Model...然后从列表中选择一个模型。注意可用模型列表可能随版本变化。当没有替代模型可用时更换模型的选项不会出现。Copilot Business/Enterprise 用户需要管理员在 GitHub.com 的 Copilot 策略设置中开启Editor Preview Features才能启用特定模型。更改工具任务Utility Tasks模型除主聊天模型外VS Code 还在后台使用轻量级模型完成工具任务例如生成标题、创建提交信息与拉取请求描述、检测意图等。你为聊天或代理会话选择的模型并不控制这些工具任务——默认它们使用 GitHub Copilot 提供的内置工具模型但你可以用任何可用模型覆盖包括 BYOK 模型和扩展提供的模型。工具模型有两个设置按任务类型区分默认值均为Default使用 GitHub Copilot 的内置工具模型chat.utilityModel覆盖用于通用工具流程的模型例如生成标题与摘要、设置搜索、Git 审查。chat.utilitySmallModel覆盖用于快速、轻量工具流程的模型例如提交信息、拉取请求标题与描述、重命名建议、分支名生成、提示分类和意图检测。该设置建议使用快速且廉价的模型。如果你使用 BYOK 模型且未登录 GitHub 账户内置工具模型不可用聊天视图会显示通知提示你配置工具模型。此时需要把chat.utilityModel和chat.utilitySmallModel设置为某个 BYOK 模型才能启用标题生成、提交信息创建、拉取请求描述创建等工具功能。为 BYOK 模型配置默认工具模型当你选择 BYOK 模型作为主代理模型时可以用chat.byokUtilityModelDefault设置默认值为GitHub Copilot控制内置工具流程默认使用哪个模型。该设置接受以下值None不设置默认工具模型。Main Agent Model使用所选的 BYOK 主代理模型执行工具流程。GitHub Copilot使用默认的 GitHub Copilot 工具模型。注意默认情况下只要存在 Copilot token工具流程就使用 GitHub Copilot 工具模型。如果没有 Copilot token需要配置chat.utilityModel和chat.utilitySmallModel或选择Main Agent Model才能启用工具功能。该设置在主代理模型由 GitHub Copilot 提供时不生效chat.utilityModel或chat.utilitySmallModel中显式配置的模型优先于该默认值。模型配置参考Model Configuration Reference添加 BYOK 模型时可以在chatLanguageModels.json文件中配置模型属性。配置分两个层级提供方级provider-level与模型级model-level。具体哪些属性必填、哪些可选因提供方而异例如有些提供方只需 API 密钥与端点 URL 即可自动发现可用模型有些则要求为每个模型指定详细信息。提供方级属性包括属性说明vendor模型的提供方例如azure、openai、customendpoint。name提供方的显示名称组名在 UI 中展示。models可选该提供方提供的模型配置数组。models数组中每个模型支持以下属性属性说明id发送给 API 的模型标识符。例如 Foundry 的部署名。name模型选择器中显示的显示名称。url模型的完整端点 URL。apiType可选按模型覆盖 API 类型chat-completions、responses或messages。默认取提供方级apiType。toolCalling模型支持工具调用时设为true。vision模型支持图像输入时设为true。maxInputTokens模型接受的最大输入 token 数与maxOutputTokens共同定义模型的上下文窗口。maxOutputTokens模型生成的最大输出 token 数与maxInputTokens共同定义模型的上下文窗口。editTools可选模型支持的编辑工具数组。未配置时编辑器会尝试多种编辑工具并挑选最佳。可选值find-replace、multi-find-replace、apply-patch、code-rewrite。thinking可选模型支持思考能力时设为true。默认false。streaming可选模型支持流式响应时设为true。默认true。zeroDataRetentionEnabled可选端点启用零数据保留ZDR时设为true。启用后经 Responses API 的请求不再发送previous_response_id。默认false。supportsReasoningEffort可选模型接受的推理强度级别数组例如[low, medium, high]。设置后模型选择器会显示Thinking Effort选择器。常见级别有minimal、low、medium、high。reasoningEffortFormat可选向模型转发推理强度的请求体格式。chat-completions发送顶层reasoning_effort字符串responses发送嵌套的reasoning.effort对象messages发送output_config.effort。未设置时格式跟随 URL。requestHeaders可选随该模型请求附带的额外 HTTP 头对象。某些保留头禁止转发、转发与内部头不允许设置出现时会被忽略。注意maxInputTokens与maxOutputTokens之和不得超过模型的上下文窗口。VS Code 将两者之和作为模型的总上下文窗口例如用于在聊天视图中显示上下文占用。通常把maxInputTokens设为模型上下文窗口大小减去maxOutputTokens请查阅你的提供方模型文档确认上下文窗口大小。常见问题Copilot Business/Enterprise 用户如何启用 BYOK如果你是 Copilot Business 或 Enterprise 用户需要由组织管理员在 GitHub.com 的 Copilot 策略设置中启用Bring Your Own Language Model Key in VS Code策略。策略启用后你就可以像个人版用户一样使用自己的 API 密钥添加模型。可以在 VS Code 的 Copilot 中使用本地托管的模型吗可以。通过 BYOK 并使用支持连接本地模型的模型提供方即可在聊天中使用本地模型。连接本地模型有两种方式使用支持本地模型的内置模型提供方或从 VS Code Marketplace 安装扩展可按tag:language-models搜索例如带 Foundry Local 的 AI Toolkit for VS Code。本地托管模型无需 GitHub 账户、无需 Copilot 套餐、也无需联网即可工作。要获得完整的工具功能标题生成、提交信息等请将chat.utilityModel和chat.utilitySmallModel配置为指向本地模型。目前无法为内联建议连接本地模型。VS Code 提供了扩展 API InlineCompletionItemProvider使扩展可以贡献自定义补全提供方可参考仓库外的 Inline Completions 示例入门。注意语义搜索、内联建议代码补全以及依赖 embeddings 的功能需要 GitHub 账户与联网这些功能不适用于 BYOK 模型。可以完全离线使用本地模型吗可以。通过Chat: Manage Language Models命令添加 Ollama 之类的本地模型提供方在聊天中选择该模型即可完全离线使用。要启用标题生成、提交信息等工具功能请把chat.utilityModel和chat.utilitySmallModel设置为本地模型。依赖 GitHub Copilot 服务的功能语义搜索、内联建议、embeddings离线不可用。可以在没有 Copilot 套餐的情况下使用本地模型吗可以。BYOK 模型包括本地模型无需 Copilot 套餐、无需登录 GitHub 账户即可使用。用Chat: Manage Language Models命令添加模型并在聊天中选择即可。依赖 GitHub Copilot 服务的功能语义搜索、内联建议、embeddings仍需要 Copilot 套餐。相关资源理解语言模型Language models concepts理解 Agent HarnessesAI 设置参考含本文全部设置的默认值Workspace Trust 与受限模式面向 AI 的安全开发Security considerations for AI优化 AI 额度使用内联补全扩展 API赞分享文档教程【免费下载链接】vscode-docsPublic documentation for Visual Studio Code项目地址https://gitcode.com/gh_mirrors/vs/vscode-docs点击查看免费下载相关推荐antd-mobile Button 按钮组件完全指南属性、样式变量与源码级原理antd mobile Button 按钮组件完全指南属性、样式变量与源码级原理 导读 本文围绕 ant design mobile 中的 Button 按钮UI组件前端移动开发stagewise 模型接入实战指南BYOK 自带密钥、订阅计划一键导入与自定义 Providerstagewise 模型接入实战指南BYOK 自带密钥、订阅计划一键导入与自定义 Provider stagewise 是一款开源 Agentic IDE智人工智能AI Agent代码智能体开发工具Roo Code 使用 Vercel AI Gateway 实战指南统一接入 100 模型、提示缓存与 BYOK 配置Roo Code 使用 Vercel AI Gateway 实战指南统一接入 100 模型、提示缓存与 BYOK 配置 Roo Code 内置了名为 ver人工智能AI Agent代码智能体开发工具工具调用MCP Clients上一篇引流宝故障排除手册10个常见问题快速诊断与终极解决方案下一篇解决EF Core 10 每日构建版工具安装的10个实战问题创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑