1. GitHub Models 停服后,我的 settings.json 到底该改哪几行
GitHub Models 在 2026 年 7 月 30 日正式停止服务,模型 Playground、模型目录、推理 API、BYOK 接口和管理页面一起下线。这件事对纯聊天用户影响不大,但对把 GitHub Models 当成日常模型通道的开发者来说,最直接的问题不是「换哪家平台」,而是「我本地那一堆配置文件里的 base_url 和 api_key 现在指向谁」。
我平时用 Cline、Continue、Roo Code 这类插件,它们的共同点是都读一个 OpenAI 兼容的配置:一个 base_url、一个 api_key、一个 model 名。GitHub Models 停服后,这些字段全部失效,插件会直接报 401 或连接超时。你要做的不是重写业务代码,而是把这一层统一通道换掉,让上层工具继续用原来的调用方式。
这篇聚焦一件事:把 GitHub Models 的旧配置迁移到 TaoToken 的统一 Key/API 通道,交付一份可复制的 settings.json 骨架,再给出迁移后的连通性验证动作。适合正在用 GitHub Copilot、Cline、Continue 等工具、需要自己控制模型和账单的开发者。核心检索词就三个:GitHub Models 停服、settings.json 配置、TaoToken 接入验证。
先说清楚边界:GitHub Models 和 GitHub Copilot 是两个独立产品,前者停服不影响 Copilot 继续用。如果你的需求只是让 AI 辅助写代码,迁到 Copilot 就够了;但如果你要自己控制模型、账单和 API Key,或者项目里在直接调推理接口,那就需要一条自己的统一通道。下面按这个前提展开。
2. 为什么用 TaoToken 做统一通道,而不是逐个厂商接
GitHub Models 停服后,官方给的方向是 Microsoft Foundry 或 GitHub Copilot。Foundry 适合生产级 AI 应用,但它的迁移成本在于:你得先创建 Azure 订阅、建项目、部署模型、拿端点和认证信息,模型还要按区域逐个部署。对只是想快速恢复本地工具链的开发者来说,这套流程偏重。
另一条路是直接接 OpenAI、Anthropic、Gemini 各家 API。问题是每家的 SDK、字段、鉴权方式都不完全一致,settings.json 里要维护多套配置,切换模型时还得改代码。如果你未来可能频繁换模型,这种写法会把业务绑死在单一厂商上。
TaoToken 在这里的角色是一个 OpenAI 兼容的统一通道:一个 API Key、一个 base_url,就能在多个模型之间切换。对 settings.json 这种配置文件来说,这意味着你只需要改两个字段,而不是重写整个调用层。它的 API 地址是 https://taotoken.net/api,官网在 https://taotoken.net/ ,接入文档和 Key 管理都在控制台里。
需要说明的是,TaoToken 不是 GitHub Models 的界面复刻,也不替代编辑器本身。它解决的是「模型调用通道」这一层:你的 Cline、Continue 继续负责交互,TaoToken 负责把请求转发到具体模型并统一计费。这样下次再有平台下线,你改的还是同一处配置。
注意:迁移时不要继续沿用已经失效的 GitHub Models Token,也不要把新 Key 提交到 Git 仓库。Key 应放在环境变量或本地密钥管理里。
3. 可复制的 settings.json 配置骨架
下面这份骨架以 OpenAI 兼容格式为准,Cline、Continue、Roo Code 等工具基本都能套用。核心就三个字段:base_url 指向 TaoToken 的 API 地址,api_key 用你在控制台生成的 Key,model 填你要用的模型名。
{ "models": [ { "title": "TaoToken 统一通道", "provider": "openai", "model": "claude-sonnet-4-20250514", "apiKey": "sk-你的TaoToken密钥", "baseUrl": "https://taotoken.net/api", "apiVersion": "", "headers": { "Content-Type": "application/json" } } ], "defaultModel": "TaoToken 统一通道" }如果你用的是 Continue 的 config.json 结构,写法略有不同,但字段含义一致:
{ "models": [ { "title": "TaoToken", "provider": "openai", "model": "claude-sonnet-4-20250514", "apiKey": "sk-你的TaoToken密钥", "apiBase": "https://taotoken.net/api" } ] }几个容易踩的点。第一,baseUrl 结尾不要多加/v1,具体路径以接入文档为准,写错会直接 404。第二,model 名要和通道支持的模型标识一致,不要照抄 GitHub Models 里的旧名字,同名模型在不同平台的版本和上下文长度可能不同。第三,apiKey 建议用环境变量注入,比如在 shell 里 export 后再让工具读取,避免明文躺在配置文件里。
如果你要长期跑编码 Agent,或者调用量比较大,可以了解下 Coding Plan 这类按周期计费的方案,比纯按 Token 更适合高频场景。入口在控制台的 Coding Plan 页面。
4. 迁移后的连通性验证:三步确认请求真的通了
配置改完不代表就通了。GitHub Models 停服后最常见的坑是「配置看着对,请求还是 401」,所以必须做一次端到端验证。下面三步从命令行到工具内逐层确认。
第一步,用 curl 直接打 TaoToken 的接口,确认 Key 和 base_url 本身没问题:
curl https://taotoken.net/api/v1/chat/completions \ -H "Content-Type: application/json" \ -H "Authorization: Bearer sk-你的TaoToken密钥" \ -d '{ "model": "claude-sonnet-4-20250514", "messages": [ {"role": "user", "content": "只回复两个字:通了"} ], "max_tokens": 32 }'如果返回里能看到正常的 choices 结构和内容,说明通道层是通的。如果返回 401,检查 Key 是否复制完整、有没有多余空格;返回 404,检查 base_url 路径;返回 400,多半是 model 名写错。
第二步,在工具里发一条最小请求。以 Cline 为例,打开侧边栏,输入「用一句话说明当前模型名」,看它能否正常返回。这一步验证的是 settings.json 被正确加载,而不是只验证了网络。
第三步,验证流式响应和工具调用。很多编码工具依赖流式输出和 function calling,如果这两项不兼容,界面会卡住或报错。可以发一个带工具调用的请求:
curl https://taotoken.net/api/v1/chat/completions \ -H "Content-Type: application/json" \ -H "Authorization: Bearer sk-你的TaoToken密钥" \ -d '{ "model": "claude-sonnet-4-20250514", "messages": [{"role": "user", "content": "北京现在几点"}], "tools": [{ "type": "function", "function": { "name": "get_time", "description": "获取指定城市时间", "parameters": { "type": "object", "properties": {"city": {"type": "string"}}, "required": ["city"] } } }], "stream": true }'返回里如果出现 tool_calls 字段,说明工具调用链路是通的。这一步过了,Cline 这类 Agent 工具基本就能正常干活。
5. 本篇常见错排查:401、404、模型名不匹配
迁移过程中报错集中在几类,逐个说清楚。
401 Unauthorized 最常见。原因通常是 Key 没生效、复制时带了换行、或者还在用 GitHub Models 的旧 Token。解决方式是重新在控制台生成一个 Key,用 curl 单独测一次,确认 Key 本身可用后再写回 settings.json。
404 Not Found 基本是 base_url 写错。有人习惯性在结尾加/v1,有人漏了路径段。以接入文档里的地址为准,不要凭记忆拼。改完用 curl 复测。
模型名不匹配会返回 400 或提示 model not found。GitHub Models 里的模型标识和 TaoToken 通道里的不一定同名,迁移时要把 model 字段换成通道支持的标识。如果你不确定有哪些可用模型,可以在模型对话页面里先试跑一次,确认模型名再写进配置。
流式响应卡住或工具调用失败,多半是请求参数不兼容。重点检查 max_tokens 和 max_output_tokens 的命名差异、JSON 结构化输出格式、以及图片和文件输入的字段。这些在不同平台上的写法不完全一致,迁移时不要假设旧参数能直接复用。
还有一个隐蔽的坑:费用和配额。GitHub Models 停服后,账单从 GitHub 转移到了新通道,需要重新设置月度预算、Token 上限和 Key 权限。别等月底才发现超支。
6. 把配置固定下来,下次平台调整就不用重来
迁移这件事,真正省事的做法不是找到一个和 GitHub Models 长得一样的平台,而是让上层工具只依赖一层统一配置。settings.json 里那个 base_url 和 api_key,就是你未来所有平台调整的唯一改动点。
具体动作可以这样收尾:先在控制台生成 Key,把 base_url 和 Key 写进 settings.json,用 curl 跑通一次最小请求,再在 Cline 或 Continue 里发一条真实任务确认流式和工具调用正常。这套流程走完,GitHub Models 停服对你的影响就基本清零了。
如果你还想验证不同模型的实际表现,可以直接在模型对话里切换试跑;要长期跑编码 Agent,看下 Coding Plan;Key 和接入细节都在 API Keys 和接入文档里。把配置固定成一份可复制的骨架,下次再遇到平台下线,你改的还是那两行。