github farion1231/cc-switch v4.0.29
CC Switch v4.0.29

one hour ago

CC Switch v4.0.29

本版本新增受管应用 GitHub Copilot CLI:自带 Key 的供应商会写进 Copilot 自己的 providers.json,在 copilot 里用 /model 就能和官方模型一起选,不用经过 CC Switch。界面新增韩语和俄语,七种语言从此同步维护,不再有缺的地方显示英文。

另外修复了 Windows 上 Codex 桌面版在 WSL 里运行 Codex 时,用第三方供应商启动就报错;Codex 新对话经路由连第三方原生 Responses 上游报 400;Codex 经路由连 Anthropic 格式上游时,长回答被 8192 的输出上限截断;Codex 官方卡在路由模式下拿不到账号自己的模型列表等问题。

English → | 日本語版 →


新增

GitHub Copilot CLI

GitHub Copilot CLI(copilot)成为新的受管应用(#8753,需求见 #5768)。供应商卡片分两种:

  • 官方登录:用 Copilot CLI 自己的 GitHub 登录,不写任何文件。「打开终端」以卡片上的模型和推理强度启动 copilot;卡片绑定了授权中心的 GitHub 账号时,用这个账号启动。卡片上显示该账号的 Copilot 额度。
  • 自带 Key 的供应商:点「添加」后写进 Copilot 自己的 providers.json($COPILOT_HOME/providers.json)。之后在本机任何地方启动 copilot,都能在 /model 里和官方模型并列选到「卡片标识/模型」,请求直接发给供应商,不经过 CC Switch 的路由。不登录 GitHub 也能用。
    • CC Switch 只改这一家自己的条目,文件里的其他条目(Copilot 自己也会写这个文件)和顺序原样保留。providers.json 写坏了 Copilot 会起不来,所以写入前会按 Copilot 的规则把整份文件校验一遍,例如模型的最大输出不能占满整个上下文窗口。
    • Copilot 当前默认模型所在的那一家标为默认,不能移除或删除。要换,先在 copilot 里用 /model 换成别家的模型。
    • 卡片上的终端按钮要添加之后才能用,启动时直接选中这张卡的第一个模型。
    • 预设沿用 Pi 的供应商预设。

此外还支持:

  • MCP、Skills、提示词:同步到 Copilot 的 mcp-config.json、Skills 目录和指令文件。
  • 会话管理:列出 Copilot 会话,可以在终端里恢复。
  • 用量统计:从 Copilot 的会话日志导入用量;自带 Key 的供应商按会话里选中的卡片记账。
  • 一键导入链接:可以导入 Copilot 供应商,认得 providers.json 写法,支持 bearerToken,链接里的模型 ID 全部保留。

韩语、俄语界面,七种语言同步维护

  • 韩语(#8794,需求见 #2704)和俄语(#7788,需求见 #6010):首次启动按系统语言自动选择,托盘菜单和快捷面板也已翻译。用量统计的币种新增韩元(KRW),支持自动获取汇率。
  • 土耳其语、韩语、俄语不再是「社区翻译、缺的地方显示英文」:界面上的每一句话,中文简体、中文繁体、English、日本語、한국어、Türkçe、Русский 七种语言都有,之后新增和修改文案也会七种语言一起改。
  • 升级后弹出的更新摘要暂时只有中文简体、中文繁体、英文和日文,其他语言显示英文。

变更

  • Copilot 获取模型列表为空时说明原因(#5500):Copilot Free 账号能拿到模型,但没有一个可以在模型选择器里用,以前只提示没有找到模型。现在会提示这个账号可能没有开通 Copilot Pro;Claude Code 和 Claude Desktop 的表单还会提示可以手动填写 gpt-4.1 或 gpt-4o。账号有模型、但都不支持当前选择的上游格式时,Codex 表单会单独说明。

修复

  • Windows 上 Codex 桌面版在 WSL 里运行 Codex 时,用第三方供应商一启动就报「No such file or directory (os error 2)」(#9375)。v4.0.27 起,CC Switch 在 config.toml 里把模型目录文件写成 Windows 绝对路径,WSL 里的 Codex 读不懂这个路径,直连、路由、聚合三种模式都受影响。现在在 Windows 上、Codex 桌面版开启了在 WSL 中运行 Codex 时,改回只写文件名,下次写入时自动改正。
  • Codex 新对话经路由连第三方原生 Responses 上游时报 400(#9328,相关 #7074、#9379)。新版 Codex 桌面版会在新对话里带上没有 call_id 的页面上下文工具结果,自动化和跨任务派发的回执也是这样,校验严格的上游会拒绝整个请求。以前只对 xAI 改写,现在对所有非官方的原生 Responses 上游都改写成一条用户消息,内容保留。官方订阅和带 call_id 的工具结果不受影响。
  • Codex 经路由连 Anthropic 格式上游时,长回答被截断,报「Incomplete response returned, reason: max_output_tokens」,重试也一样。Codex 请求不带输出上限,以前按 8192 发出,思考也算在内,一次写一整个文件的工具调用就会用完。现在默认改为 32000。上游的输出上限更低时会报 400,可以在供应商的「最大输出 tokens」里填它支持的值。
  • Codex 官方卡在路由模式下拿不到账号自己的模型列表:Codex 只能用它自带的列表,缺少账号专属的模型;Codex 桌面版打开 Daybreak 后,官方模型全部变灰。现在路由正在用官方卡、且没有打开「暂停使用官方登录」时,路由会把官方的模型列表原样交给 Codex。第三方供应商不转发。
  • Claude Code 经路由连 Mistral 上的 DeepSeek 模型时,工具调用之后的每一轮都报 422(#9385、#9388)。
  • 只能经路由使用的 Claude Code 卡片,点「打开终端」后 Claude Code 每句话都提示未登录(「Not logged in」),请求根本没发出去。GitHub Copilot、Codex OAuth、xAI OAuth 这类卡片的凭据由路由提供,非 Anthropic 格式的卡片要靠路由转换格式,终端直连卡片地址用不了。现在这类卡片的「打开终端」按钮变灰,并说明要开启路由后在终端里直接运行客户端。Codex 页面上这类卡片也从隐藏按钮改为同样变灰。
  • Claude 官方卡显示的额度可能是另一个账号的:本机默认登录换成别的账号后,正在用的那张卡会读到默认登录那个账号的额度。现在会先确认默认登录属于这个账号。
  • Antigravity 的额度和 agy /usage 对不上;Google AI Ultra 5x 和 20x 都只显示「Google AI Ultra」(#9317、#9319)。

致谢

感谢 @Owlbay(GitHub Copilot CLI)、@cuiyf5516(韩语界面、韩元币种)、@sunrisegm(俄语界面)、@szcascsa(Codex 没有 call_id 的工具结果)、@quwang123(Mistral 上的 DeepSeek)、@jimpablo(Antigravity 额度与 Ultra 档位)的贡献。

特别感谢以下贡献者:你们的 PR 发现并修复了真实的问题,只是同样的问题后来在主线上另行修好,PR 因此关闭。@SailingLoong(Codex 配置不再写入 disable_response_storage)、@zichen0116(Codex 经路由发往第三方时去掉 ChatGPT 身份头)、@lihenga(Codex 桌面版页面通知缺少 call_id)。

感谢 @SMYQH、@Irving798、@imysen、@THao712、@Z-Eternal、@sumi-0011、@DrMaks22 提出需求、报告问题和提供复现信息。

完整的技术细节请见 CHANGELOG。

Don't miss a new cc-switch release

NewReleases is sending notifications on new releases.