这段时间一直在折腾 VS Code 里接 Claude 做日常编码辅助,从扩展的基本配置到各种第三方 API 的接入方式,前前后后踩了不少坑。趁着 2026 年 10 月这个时间点,把配置流程重新梳理了一遍,也把两种主流的第三方 API 接入方式、排查思路和实际经验整理出来,希望能给正在折腾的人一些参考。
先说清楚这篇文章适合谁看。如果你已经在 VS Code 里装好了 Claude 相关扩展,想通过第三方兼容接口来接入模型服务——可能是因为团队统一网关、企业内部模型平台、成本聚合或者其他原因——那你大概率会遇到和我类似的问题。文章不会讲图形界面上的点击流程,所有配置都以可复现的文本形式呈现,方便直接对照操作。
我自己实际测试时,扩展从默认配置切换到第三方服务,中间经历了无数次 401、404、超时和模型名不存在的报错。现在回头看,大部分问题都集中在“环境变量怎么设”“settings.json 怎么配”“扩展到底优先读哪个”这三件事上。这篇文章就把这些内容掰开揉碎讲清楚。
1. 为什么要折腾第三方 API:本地 IDE 接 Claude 的几种常见诉求
1.1 官方直连很顺,但这些场景绕不开第三方接口
大部分开发者第一次用 Claude 系列扩展时,默认配置就能跑通,官方服务直连、开箱即用。但实际工作里,至少有四类场景会让你必须换第三方 API。
第一类是团队或企业统一网关。很多公司不允许个人开发者直接使用自己的密钥访问外部模型服务,安全合规部门会要求所有 AI 请求统一走公司网关,密钥统一管理、日志统一审计。这时候你就得把扩展的 API 地址改成内网网关地址,请求统一从网关转发出去。我第一次遇到这个需求是在一个团队协作项目里,当时同事问我“为什么我的扩展连不上”,排查到最后发现他的环境变量没设,扩展还在往默认地址发请求,被公司网络策略直接拦了。
第二类是成本聚合与配额管理。我自己就见过不少开发者同时订阅多个模型服务,希望通过一个聚合平台统一调用不同模型,预算在一个后台统一看,用不完的配额还能互相抵扣。这类平台通常提供 Anthropic 兼容接口,你只需要改请求地址和认证 Token,就能在 VS Code 里直接用 Claude 的模型能力。
第三类是本地化或私有化部署。有些项目代码有保密要求,数据不能出内网,需要把 Claude 接入公司内网部署的模型服务。这类服务往往不是官方协议,而是兼容协议,你需要配置的就不是简单的地址替换,可能还包括特殊的请求头、额外的认证字段。
第四类是自建代理或缓存层。我见过一个朋友在内网架了一层请求缓存服务,把高频请求的响应缓存下来,减少外部调用次数、降低费用。他的 VS Code 扩展就是通过这个缓存代理访问模型的,配置方式本质上也是第三方 API 接入。
如果你只是个人开发,想换个地址、换个账号,方式一就够了。但如果你是团队协作或者有合规要求,方式二更合适。后面我会详细讲这两种方式各自的配置方法和坑。
1.2 两种接入方式的整体思路对比
在 VS Code 里接入第三方 API,本质上就一件事:让扩展拿到正确的请求地址和鉴权信息。绝大多数扩展在实现上都遵循同一套约定,我把它拆成两个入口。
第一个入口是环境变量。扩展进程启动时读取环境变量,这些变量的优先级通常高于内置默认配置。你只要在 shell 配置文件或者启动脚本里导出几个变量名,扩展就会在请求时自动替换默认的服务地址、密钥和模型名。这种方式的好处是切换服务时只要改变量值就行,不用碰任何配置文件,而且不会污染项目仓库。缺点是环境变量是全局性的,换一台电脑就全没了,而且从图形界面启动 VS Code 时环境变量不一定能传进来。
第二个入口是扩展配置项。VS Code 的扩展会把配置暴露在 settings.json 里,你在用户设置或工作区设置中写入扩展的配置键,扩展就会读取。项目级配置的最大价值在于可共享:你和同事共用同一个仓库,把公共配置写进 .vscode/settings.json,大家 clone 下来后配置自动生效。密钥这类敏感信息不能提交进仓库,我的做法是密钥仍然用环境变量或用户级配置,项目级只写非敏感配置。
两种方式的核心差异不只是写法,而是配置的生效范围和环境隔离程度。环境变量对整个终端会话或操作系统环境生效,settings.json 只对 VS Code 这个应用生效,甚至可以精确到某个工作区。我建议团队协作场景优先 settings.json,本地单机场景优先环境变量。你可能会问“能不能两种一起用”,答案是可以,但你要搞清楚扩展的优先级逻辑,否则容易出问题。这个我在后面会专门讲。
2. 方式一:环境变量注入,最干净的一键切换方案
2.1 环境变量涉及的几个关键参数
在动手之前,你首先要搞清楚扩展到底读取哪些环境变量。虽然不同扩展命名稍有不同,但核心变量就那么几个。以我实测的扩展为例,生效的主要有三个。
第一个是服务地址变量。它负责指定请求发到哪里,默认是官方地址,改成第三方网关后请求就会发送到你指定的目标服务。这个变量通常包含“BASE_URL”或“ENDPOINT”字样,不同扩展可能有不同的前缀。
第二个是密钥或 Token 变量。它负责鉴权,第三方服务给你的凭证通常是一串长字符串,设置后扩展会把它放进请求头里发给服务端。这个变量的命名最混乱,有的扩展要求 AUTH_TOKEN,有的要求 API_KEY,还有的要求同时在 settings.json 里配置。
第三个是模型名变量。它指定对话使用的模型标识,这个要根据你接入的服务商支持的模型名来填,随便填会直接报“模型不存在”的错误。
除了这三个核心变量,有些扩展还支持额外的辅助变量,比如请求超时时间、最大输出 token 数、代理地址等。但不是每个服务都需要。我第一次配置时只设了服务地址和密钥,结果模型名不对,报了个“model not found”。查了很久才发现还要显式指定模型名,因为扩展默认的模型名在第三方服务上并不存在。
我建议配置前先看两样东西:扩展的 README 设置段落,以及第三方服务商给的接入文档。五分钟的文档阅读能省掉至少半小时的排错时间。你甚至可以先用 curl 直接对服务地址发一个模拟请求,确认凭证和模型名没问题,再回 VS Code 里配置。
2.2 不同系统的环境变量配置写法
macOS 和 Linux 上,如果你用的是 bash,可以在 ~/.bashrc 或 ~/.bash_profile 里写入:
export MY_AI_BASE_URL="https://your-endpoint.example.com" export MY_AI_AUTH_TOKEN="your-token-here" export MY_AI_MODEL="your-model-id"写入后执行source ~/.bashrc让配置在当前终端立即生效。如果你用 zsh,就把上面的内容放在 ~/.zshrc 里。但这里有个细节我踩过:如果你是从图形界面直接启动 VS Code 的,终端里设置的环境变量不一定能传到 VS Code 进程。macOS 从 Dock 启动应用时,应用不会读取 shell 的配置文件,所以环境变量根本没有注入。
解决方法是:先打开终端,在终端里输入code命令启动 VS Code,这样 VS Code 会继承当前终端的环境变量。如果你习惯用 Dock 图标启动,可以写一个启动脚本,或者用 VS Code 的启动环境配置来引入环境变量。Windows 上的做法是在系统设置里搜索“环境变量”,在用户变量面板里新建变量,或者用 PowerShell 执行:
$env:MY_AI_BASE_URL = "https://your-endpoint.example.com" $env:MY_AI_AUTH_TOKEN = "your-token-here" $env:MY_AI_MODEL = "your-model-id"注意这种方式只在当前 PowerShell 窗口有效,关掉窗口就没了。要永久生效,还得用setx或在系统设置里操作。我在 Windows 上调试过一次,当时用 PowerShell 设了环境变量,然后直接从开始菜单启动了 VS Code,结果扩展一直在报 401,折腾了半天才想起来环境变量没有持久化。
2.3 环境变量方式最容易被忽视的三个坑
第一个坑是变量名不对。不同扩展对同一个功能的变量名可能完全不一样,有的用官方默认前缀,有的用自定义前缀,还有的是大小写敏感。如果你照着网上某篇教程设了变量,却发现扩展没有读取,别急着怀疑教程,先确认扩展官方文档里写的变量名到底是什么。我遇到过一次,扩展文档里明确写的是 AUTH_TOKEN,我习惯性用了 API_KEY,结果日志里一直报鉴权失败,查了很久才发现是变量名写错了。
第二个坑是缓存残留。VS Code 的扩展进程会有状态缓存,你改了环境变量后,如果不重启扩展宿主进程,新配置可能不会生效。光重启窗口有时候都不够,我建议改完配置后执行“开发者:重新加载窗口”命令,再不行就彻底退出 VS Code 重新启动。有一次我以为配置有问题,反复检查了半小时,结果只是没重启进程。
第三个坑是地址里有没有路径后缀。很多第三方兼容接口的地址最后要不要带 /v1/ 路径,扩展会自动拼接还是要求你手动拼好,不同扩展行为完全不同。我的经验是:先不带后缀试,报 404 或路由错误再加后缀,用这个办法能快速定位问题。另外要注意有些服务商在文档里给的是控制台地址而不是 API 地址,这两个不一样,别搞混。
3. 方式二:通过扩展配置项(settings.json)持久化配置
3.1 扩展配置项的原理与适用场景
方式二算是 VS Code 生态里最“正统”的配置路径。每个扩展在发布时都会声明自己支持的配置项,这些配置项会出现在“设置”面板里,也可以直接写入 settings.json。你可以在两个层级写配置:用户层级和项目层级。用户层级的 settings.json 对所有项目生效,项目层级的 settings.json(在项目根目录的 .vscode 文件夹里)只对当前项目生效。
项目级配置最大的价值在于可共享。举个例子,你和同事在同一个仓库里协作,把第三方 API 的服务地址和模型名写进项目级 settings.json,两个人 clone 下来后配置自动生效,不会出现“我这边能跑你那边不能跑”的尴尬。当然密钥这种东西不能直接提交到仓库,我的做法是密钥仍然用环境变量或者用户级配置文件持有,项目级只写服务地址、模型名、超时时间等非敏感配置。
我第一次用这个方式就是在团队项目里。当时几个同事各自在终端里配置环境变量,结果有人用 bash 有人用 zsh,还有人用 Windows PowerShell,配置文件五花八门,每次新人加入都要折腾半天。后来我把公共配置写进 .vscode/settings.json,统一了服务地址和模型名,每个人只需要各自搞定自己的密钥,整个流程清爽了很多。团队协作场景下,这种方式几乎是必须的。
3.2 具体配置步骤和示例
操作上其实很简单。打开 VS Code 的命令面板,输入“首选项:打开工作区设置”,会生成或打开 .vscode/settings.json 文件。你在这个 JSON 文件里写入扩展要求的配置键值对。以我用的某个扩展为例,配置大致长这样:
{ "myAi.apiBaseUrl": "https://your-endpoint.example.com", "myAi.authToken": "${env:MY_AI_AUTH_TOKEN}", "myAi.model": "your-model-id", "myAi.maxTokens": 4096 }这里有个细节值得单独说:密钥项我没有直接填明文,而是用${env:MY_AI_AUTH_TOKEN}这种变量替换语法,让 VS Code 从当前环境变量里读取。这样即使 settings.json 被提交到仓库,也不会泄露密钥。VS Code 原生支持这种环境变量展开,扩展只需要正常读取配置值,就能在运行时拿到实际密钥。这个技巧强烈推荐,团队协作时特别有用。
配置完成后,同样建议执行“开发者:重新加载窗口”让配置生效。然后在扩展面板里发一条测试消息,如果模型正常回复,说明配置没问题。如果没反应,检查一下 settings.json 的 JSON 格式有没有错误,尾逗号、花括号没闭合这类问题很常见,而且 VS Code 不一定每次都会弹出明显的错误提示。
3.3 两种方式到底怎么选
我个人的判断标准是这样的:如果只是自己本机开发、快速验证、想切换多个第三方服务对比效果,环境变量方式更合适。因为切换服务时只需要改一下变量值,不用动任何配置文件,而且不会影响项目仓库的干净度。缺点是它不随项目走,换一台电脑全得重配。
如果是团队协作、多人用同一套配置,settings.json 更合适。团队共享配置的可复现性,让新人加入项目时不用问“服务地址是多少”,一切都在仓库里。缺点是不适合放密钥,以及项目级配置对每个成员都会生效,调整时可能影响正在工作的同事,最好先在小范围验证后再提交。
如果你需要同时接多个第三方服务、在不同项目里用不同配置,我的建议是:环境变量管默认值,项目级 settings.json 管覆盖值。VS Code 扩展一般遵循“设置值优先于环境变量”或“环境变量优先于设置值”两种逻辑,具体哪个优先要看扩展实现。我的实测经验是很多扩展采用“显式设置优先于环境变量”的逻辑,所以如果你在 settings.json 里写了配置但没生效,检查一下环境变量是不是也被设置了,两者的值可能冲突了。
4. 实操过程:从零配置到跑通一个完整对话
4.1 前置准备:确认扩展版本与 API 凭证
在开始任何配置之前,有三样东西必须先确认:扩展版本、API 凭证、目标服务的能力边界。这三样任何一样没确认好,后面都会出幺蛾子。
扩展版本直接影响配置项的可用性。有些老版本扩展甚至不支持自定义服务地址,你必须升级到特定版本后才能看到相关配置项。我测试时用的环境里,VS Code 版本和扩展版本都在持续更新,所以如果你照着文章写配置但发现某个配置项不存在,先升级扩展到最新版本再说。另外,扩展的版本更新日志里会写“新增了什么配置项”“废弃了什么配置项”,值得花两分钟翻一下。
API 凭证方面,你需要从第三方服务商拿到三个信息:完整的请求地址、认证 Token、可用的模型名。这三个信息通常在服务商的控制台或者接入文档里能找到。如果你是从企业内部平台拿到的,多半是一份配置说明文档,里面会写清楚地址、Token 和模型列表。如果文档里没有写清楚,直接找平台的负责人问,别自己瞎猜。
目标服务的能力边界也要提前摸清。比如它支持的上下文长度是多少、最大输出 token 是多少、是否支持流式响应。有些第三方服务虽然协议兼容,但流式输出的实现有差异,可能导致扩展在对话时表现异常。这类问题在配置阶段发现不了,往往要到实际使用才会暴露。我就遇到过一次,服务商说支持流式,但实际返回的格式和扩展预期的不一样,结果对话时内容一截一截地卡顿,最后只得关掉流式选项才恢复正常。
4.2 完整实操流程
我以“环境变量 + 项目级 settings.json 混合配置”为例,走一遍完整流程。这个方案兼顾了安全性和可共享性:项目级配置写非敏感信息,密钥放在环境变量里。
第一步,在终端里设置环境变量。在 ~/.bashrc 或 ~/.zshrc 里 export 你的认证 Token,然后 source 一下让配置在当前终端生效。
第二步,在项目根目录创建 .vscode 目录,写入 settings.json,里面放服务地址和模型名等非敏感配置。
第三步,用 VS Code 打开项目文件夹,等待扩展初始化。注意这里最好从终端用code命令打开,确保 VS Code 进程继承了终端里的环境变量。
第四步,在扩展面板里发送一条测试消息。如果一切正常,你会收到模型回复,同时扩展状态栏会显示当前使用的模型和连接状态。
我第一次实操时输在了一个小细节上:VS Code 有多个进程,扩展运行在扩展宿主进程里,这个进程的环境变量和主进程不一定完全一致。所以保险起见,改完所有配置后,执行“开发者:重新加载窗口”,再开始测试。如果你发现扩展状态栏还是显示旧模型或旧地址,多半是进程没重启干净。
4.3 验证配置是否生效的三种测试方法
第一种方法最简单:直接发消息。在扩展面板里输入任意一句测试文本,如果模型正常回复,说明链路通了。如果报错,看报错信息里的状态码和错误描述,这条信息已经能提示大部分问题。比如 404 大概率是地址路径不对,401 大概率是鉴权失败,400 大概率是参数有问题。
第二种方法是看日志。大多数 VS Code 扩展都会输出日志:打开“输出”面板,在下拉列表里找到对应扩展的名称,可以看到详细的请求日志。日志里会记录实际请求的 URL、鉴权头、模型名、响应状态。你重点看 URL 和模型名是不是你配置的值。有一次我以为配置生效了,结果日志里显示的 URL 还是默认地址,说明环境变量根本没传进去。
第三种方法是用 curl 直连测试。把扩展的配置先放到一边,直接在终端里模拟一次 API 请求,可以快速判断问题出在服务端还是客户端。命令大致长这样:
curl -X POST "https://your-endpoint.example.com/v1/messages" \ -H "Content-Type: application/json" \ -H "x-api-key: your-token-here" \ -H "anthropic-version: 2023-06-01" \ -d '{ "model": "your-model-id", "max_tokens": 1024, "messages": [{"role": "user", "content": "ping"}] }'如果 curl 返回正常,说明服务端没问题,问题肯定在 VS Code 扩展的配置上。如果 curl 也报错,那问题可能在服务商给的凭证、地址、模型名,或者你的网络到该服务商的连通性。这个排查思路我一直沿用,非常管用。你还可以在 curl 命令里加-v参数查看完整的请求和响应头,帮助定位是不是有额外的 Header 要求。
4.4 一个真实场景的完整排查过程
我在配置一个内部模型网关时,遇到过一次比较综合的问题,这里把过程完整写出来供参考。当时的情况是:扩展装好了,环境变量设了,settings.json 也写了,但发送消息后一直报 404。
第一步,我用 curl 直连网关地址,发现返回了 200 和一个正常响应。这说明服务端和凭证都没问题。第二步,我打开扩展日志,发现请求的 URL 居然是多了一段路径,网关的接口路径和扩展自动拼接的路径对不上。第三步,我在 settings.json 里把服务地址改成完整路径,去掉网关基础地址和接口路径的重复部分,重新加载窗口后问题解决。
整个排查过程大约花了二十分钟,大部分时间都耗在扩展日志里翻 URL。这里有个经验值得分享:遇到 404 时,先别急着改配置,先确认扩展实际请求的完整 URL 是什么,再和正确的接口路径比对,差异一目了然。同理,遇到 401 时先确认实际发送的鉴权头是什么,别凭感觉瞎猜。
5. 常见问题与排查技巧实录
5.1 鉴权失败:401 和 403 的排查路子不一样
这是出现频率最高的问题。遇到 401,先检查 Token 有没有正确传递。第一种可能是扩展没有读取到你设置的环境变量或者配置项,这时候去看日志,确认请求头里带的 Token 和你在服务商后台看到的是否一致。第二种可能是 Token 本身过期或者无效,去服务商后台重新生成一个试一下。第三种可能是某些第三方服务要求额外的请求头,比如固定版本号头或者额外的渠道标识,不带就拒绝。这种情况可以在 curl 测试里逐步尝试加头来定位。
403 的情况往往更复杂。有时候是你的账号没有权限调用目标模型,有时候是 Token 有 IP 白名单限制。我遇到过一次很诡异的情况:在家可以调通,到公司就 403,排查了半天,最后发现是公司出口 IP 不在白名单里。如果你的工作环境也存在类似情况,优先和凭证发放方确认权限范围,别自己瞎折腾。还有一次是 Token 本身没问题,但服务商要求同时传两个请求头,我只传了一个,一直 403,加了对的请求头后就正常了。
5.2 连接超时与代理纠缠
连接超时的原因五花八门。第一个常见原因是 VS Code 内部继承了系统代理设置,而代理本身不支持或者不允许访问你配置的第三方地址。这种情况在企业网络环境里尤其常见,系统里设置了代理,VS Code 会自动用这个代理去发请求,结果代理把请求拦了或者转发去了错误的地方。
第二个常见原因是第三方服务商本身的响应慢,超过了扩展的超时阈值,这时候需要调大扩展的超时配置项。我的一个经验是:在 settings.json 里把超时时间从默认值调大到 120 秒,问题就解决了。但调大超时时间要注意,如果服务一直不稳定,扩展会一直挂着等待,体验反而更差。
排查超时问题时,我先看扩展日志里有没有代理相关的信息,再看 curl 测试的耗时。curl 请求如果两三秒内能返回,说明网络链路没问题,问题在扩展的超时设置或代理配置;如果 curl 也长时间无响应,那就是网络到服务商的问题,需要换网络或者找服务商确认。
5.3 模型不存在或参数不兼容
“模型不存在”这个报错几乎人人都遇到过。原因很简单:你配置的模型名在目标服务上不存在,或者该服务的模型命名规则和官方不一致。我的建议是,配置前用 curl 拉取一下服务商支持的模型列表接口,看清楚到底有哪些可用模型 ID,再决定填什么。有些服务商的模型 ID 带后缀,比如带日期或者版本号,不仔细看文档很容易填错。
参数不兼容则是更隐蔽的问题。比如你在扩展里把最大输出 token 数设成很大的值,但目标服务单次最多只支持较小的值,扩展会得到一个参数错误。这类问题通常在调试时出现,解决办法是查询服务商文档里的上限限制,把参数调到安全范围内。另外还要注意,有些服务把上下文长度也做了限制,超过后会直接拒绝请求,这类信息一般也在能力边界文档里会写。
5.4 配置生效优先级混乱
很多人在两种方式都配置了之后,发现扩展用的还是旧的配置值。这时候核心问题是搞清楚这个扩展到底优先读哪里的配置。有的扩展是 settings.json 优先,有的扩展是环境变量优先,有的扩展只要检测到环境变量就忽略 settings.json。我的建议是不要同时设置两套配置,只保留一种,避免心智负担。如果确实需要灵活切换,每次只改一处,并且改完一定要重启扩展宿主进程再验证。
这里补充一个小问题:settings.json 写错了 JSON 格式会导致配置完全不生效,但 VS Code 并不总是把 JSON 解析错误高亮得很明显。如果改了 settings.json 没反应,先检查文件里有没有多余逗号、花括号有没有闭合。我就在这个坑上栽过,多了一个尾逗号,整个项目的扩展配置全部失效,排查了很久才发现。顺便说一句,VS Code 的 settings.json 编辑器自带 JSON 校验,如果你在编辑器里打开文件,错误提示会以波浪线形式标出来,但从外部工具编辑文件时不会有这个提示。
5.5 日志级别与调试技巧
最后聊一下日志级别。很多扩展默认的日志级别是 info,只输出关键信息,排查问题时信息量不够。你可以把日志级别调到 debug 或 trace,这样每次请求的完整 URL、请求头、响应体都会打出来。VS Code 的“输出”面板里选择对应扩展,然后在设置里把日志级别调高,重新加载窗口后,你就能看到非常详细的请求记录。
debug 日志的信息量比较大,平时开着会影响性能,我建议排查问题时临时打开,问题解决后调回默认级别。如果你在日志里看到了请求头和响应体的完整内容,绝大多数配置问题都能在几分钟内定位。日志是真救命的东西,很多问题看起来像是服务商的问题,最后一看日志,原来是本地配置没传对。
6. 通过配置自动化实现多服务快速切换
6.1 为什么需要多服务切换机制
实际工作中,你很可能需要在多个第三方服务之间切换。比如白天在公司用企业网关,晚上回家用聚合平台,或者某个服务商临时维护需要切到备用的服务。手动改环境变量、改 settings.json,再重启 VS Code,一套流程走下来至少五分钟,而且还容易改错。我自己就是维护了好几个服务的配置,经常切换,后来实在受不了,写了一套小工具把切换流程自动化了。
6.2 基于环境变量配置文件的切换脚本
我的做法很朴素:把不同第三方服务的地址、Token、模型名分别保存成独立的配置文件,切换时运行一个脚本,自动读取对应配置文件,生成新的环境变量,然后重启 VS Code。以 macOS 和 Linux 为例,你可以在 ~/.ai-services 目录下为每个服务建一个配置文件,比如 company.conf、personal.conf,内容大致如下:
export MY_AI_BASE_URL="https://company-gateway.example.com" export MY_AI_AUTH_TOKEN="company-token" export MY_AI_MODEL="company-model-id"切换脚本可以很简单,比如一个 shell 函数:
function use-ai-service() { source ~/.ai-services/$1.conf code --reuse-window . }这个函数会加载对应配置文件里的环境变量,并用这些环境变量启动 VS Code。你只需要记住服务名,一个命令就能完成切换。Windows 上可以用 PowerShell 脚本实现类似效果,思路完全一样。
6.3 项目级配置的自动化联动
如果你既想项目级共享配置,又想灵活切换服务,可以做一个更精细的分工:settings.json 里只写服务地址和模型名,通过${env:VAR}语法引用环境变量,而不同服务之间的差异化配置放在环境变量配置文件里。这样项目级配置保持稳定,团队成员不需要频繁修改;个人切换服务时,只需要切换环境变量就好。
我实际用的配置长这样:
{ "myAi.apiBaseUrl": "${env:MY_AI_BASE_URL}", "myAi.authToken": "${env:MY_AI_AUTH_TOKEN}", "myAi.model": "${env:MY_AI_MODEL}" }这样一来,settings.json 永远不用改,服务切换完全由环境变量驱动。团队里每个人的用户级环境变量不同,但项目级配置保持一致,协作时互不干扰。这个方法我用了很久,强烈推荐。
最后再分享一个小技巧:把切换脚本和配置模板放进一个单独的 git 仓库里管理。这样你换新电脑时,clone 下来就能恢复所有服务配置,不用每次从零开始手动设置。我自己的做法是配置文件里不存真实 Token,而是用占位符加一份说明文档,真实 Token 通过密码管理工具保存,既方便又安全。