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

3 hours ago

CC Switch v4.0.13

本版本让 Claude Desktop 和 Claude Code、Codex 一样,可以在页面顶部选择直连、路由、聚合三种模式:路由模式下模型列表跟着路由那家走,聚合模式下可以把多家供应商的模型同时放进 Desktop 的模型列表。Codex 新增「自动审批模型」,开了自动审批(Approve for me)的第三方供应商不再请求一个大多数中转都没有的模型而报 404;聚合模式下还可以单独指定子代理用哪个模型和推理强度。切回直连前改为先弹确认框,写明会连到哪家、改哪个文件。GPT 系列模型的上下文窗口统一封顶 272K,不再因为窗口写大了而迟迟不压缩、最后被上游拒绝。Windows 便携版的更新按钮现在直接下载对应的压缩包。Claude Code 的 Haiku 档也能声明 1M 上下文,模型本身是 1M 窗口的预设改为默认勾上 1M。还修复了 Codex 保存配置时报「duplicate key」、路由模式下 Codex 远程压缩失效、装了很多 fnm 版本时切换模式卡住几分钟、Windows 11 上窗口卡死等问题。4.0 完整的更新内容请见 v4.0 发布说明。

English → | 日本語版 →


新增

Claude Desktop:直连、路由、聚合三选一。 以前 Claude Desktop 由每张卡片自己决定是直连还是走模型映射,要不要启动映射服务也是单独的开关。现在它和 Claude Code、Codex、Gemini CLI、Grok Build 用同一套模式面板,在页面顶部选择:

  • 直连:把供应商的地址和 Key 直接写进 Desktop 的配置,请求不经过 CC Switch。需要模型映射的卡片不能直连,会提示先开始路由。
  • 路由:Desktop 的请求经本机 CC Switch 转发给路由那家,模型列表换成路由那家映射表里的模型。之后切换路由那家时,只有模型列表变了才会改写 Desktop 的配置文件。
  • 聚合:默认那家的模型排在前面,其他加入聚合的供应商的模型以「供应商 / 模型」的名字一起出现在 Desktop 的模型列表里,选哪个就发给哪家,最多 200 个。

Desktop 只在启动时读配置,所以每次换模式、换路由那家或增减聚合成员之后,都要重启 Desktop 才生效,界面会逐一提示。Desktop 的路由没有故障转移;退出 CC Switch 时 Desktop 的配置保持不变,要继续用路由或聚合,CC Switch 需要保持运行。以前用模型映射卡的,升级后会自动进入路由模式,见文末升级说明。

Codex:自动审批可以换一个模型。 Codex 开了自动审批(Approve for me)后,每次沙箱提权都会交给一个审批模型判断能不能放行,而且发给主对话的同一家。第三方卡片以前没法选这个模型:没有模型列表时,Codex 会向供应商请求官方的 codex-auto-review,大多数中转都不认,直接报 404;有模型列表时则由主模型自己审批(#8015、#5903、#3855)。

  • 直连和路由:Codex 卡片新增「自动审批模型」,可以从这张卡的模型列表里选一个。官方卡片不显示这一项;卡片没有模型列表时这一项不可选,并说明原因。
  • 聚合:在聚合页签的「聚合设置」里选,可以选聚合里别家的模型,让审批发给另一家供应商。
  • 改完需要重启 Codex。

Codex 聚合模式:子代理可以用单独的模型。 聚合模式以前会去掉 [agents] 里的子代理模型,子代理只能跟随主模型(#8286)。现在「让 Codex 使用聚合模式?」确认框和新的「聚合设置」里都可以选子代理模型和子代理推理强度。不用重启 Codex,新开的对话就会生效。选的模型如果已经不在聚合里(成员被移除,或者那家成了默认),子代理会暂时跟随主模型,加回来后自动恢复。

Claude Code:Haiku 档也能声明 1M。 以前「模型映射」里只有 Sonnet、Opus、Fable 和子代理几行能勾「声明支持 1M」,因为过去 Haiku 模型都没有 1M 窗口。现在 Haiku 档常常指向第三方模型,而 Claude Code 对不以 claude- 开头的模型名一律按 200K 窗口算,不勾就会提前压缩。现在每一行都能勾 1M。路由模式不受影响:路由用的 Haiku 别名本来就按 1M 算。

预设: 新增 TokenFactory、Modelflare。

Windows 便携版:更新按钮直接下载压缩包。 便携版启动时本来就会检查更新,但点「更新到 vX」只是打开发布页,要在几十个文件里自己找对应的压缩包(#8300)。现在会直接下载与当前架构(x64 / ARM64)对应的便携版压缩包,解压后覆盖原来的 cc-switch.exe 即可;配置和数据保存在用户目录下的 .cc-switch,不会因覆盖而丢失。为了避免被杀毒软件拦截,CC Switch 不会自己替换自己的程序文件。

改进

切回直连前先确认。 进入路由或聚合时本来就有确认框,切回直连却是点了立即生效,只在提示里给一个容易错过的「撤销」。现在「回到直连」按钮、卡片上的「回到直连并使用」,以及路由服务停止时的提示,都会先弹确认框,写明客户端会直接连接哪家、哪个文件里的地址和密钥会被改回去;从路由切回时说明路由目标、故障转移队列和设置都会保留,从聚合切回时说明哪些模型会从 /model 里消失。出错直接显示在确认框里,「撤销」去掉了。

Codex:「聚合模式下子 agent 用经典工具」默认打开。 主代理和子代理不在同一家时,Codex 新版的子 agent 工具会把任务加密,只有主代理那家解得开,子代理收不到任务(#8253)。这个开关从设置页挪进「聚合设置」,改为默认打开。

GPT 模型的上下文窗口封顶 272K。 models.dev 上 GPT-5.6、GPT-6 系列写的是 OpenAI API 的 105 万窗口,但很多中转是用 ChatGPT 订阅转发的,订阅的上限是 272K,而 CC Switch 从地址上分不出是哪一种。窗口写大了,客户端会一直不压缩,直到上游拒绝请求、这一轮直接失败;写小了只是早一点压缩。现在添加供应商时自动补全的 GPT 窗口一律不超过 272K,Hermes、OpenClaw、OpenCode、Pi、Codex 预设里的 GPT 窗口也一起下调;Claude Code 里用 ChatGPT 订阅的「Codex」预设从 372K 改为 272K。比 272K 小的窗口不变。

模型本身是 1M 窗口的预设,默认勾上 1M。 Claude Code 对不认识的模型名按 200K 窗口算,GLM-5.3、Kimi K3、DeepSeek V4、Qwen3.8、MiniMax-M3、MiMo、LongCat 等 1M 模型的 23 个预设以前没有声明,直连时到 200K 左右就开始自动压缩。现在这些预设里 1M 模型的那几档都默认勾上「声明支持 1M」;Kimi For Coding 有意保持 256K 的压缩窗口,不变。Claude Desktop 里同样模型的 12 个预设,以及转发 Claude Sonnet 5、Opus 5 的 50 个预设,也在模型列表里声明 1M;Claude Haiku 4.x 只有 200K 窗口,以前被一些预设误标成 1M,现在改正。

修复

  • Codex 保存配置时报「duplicate key custom in table model_providers」(#8271)。config.toml 里供应商表头带引号([model_providers."custom"])时认不出来,保存时又加了一张同名的表。现在双引号、单引号、带空格的写法都能认出来。
  • 路由或聚合模式下,Codex 的远程压缩失效(#8338)。进入路由或聚合、保存当前供应商或重启 CC Switch 后,供应商开的远程压缩设置会丢掉,Codex 改用本地摘要压缩,带搜索记录的会话可能报 response protection is unavailable。现在会保留路由那家的压缩设置。
  • 经路由转换 OpenAI Chat 上游时,回复结束后还可能再收到一条错误(#8281)。上游发完 [DONE] 后断开连接,CC Switch 会在正常结束之后再补一个错误,或者把之后的内容继续转发出去。现在收到 [DONE] 就结束。
  • OpenCode 会话的耗时一直是 0、速度列为空(#6326)。现在按每条消息的开始和完成时间计算耗时,能显示估算速度。
  • Codex 分支对话翻页后的用量一直不入账(#8161)。分支对话翻页生成的续写文件被当成新派生的子会话,一直等不到父会话写到那个时刻。现在能认出这是分支对话自己的续写。
  • 用 fnm 装了很多 Node 版本时,切换模式卡住几分钟(#8313)。查找命令行工具时去重的写法随路径数平方增长,fnm 的 multishell 目录一多就很慢;现在路径很多时也只要几十毫秒。
  • Windows 11 上窗口卡死、主线程持续高占用(#8321、#8324)。问题出在 WebView2 处理原生拖拽区域时。Windows 上不再使用原生拖拽区域,拖动和双击最大化改用应用自己的处理,标题栏的用法不变。
  • Claude Code 聚合模式下,Haiku 档只有 200K 窗口。聚合模式会去掉 Haiku 档的 1M 声明,而聚合模型名不以 claude- 开头,Claude Code 就按 200K 算。现在 Haiku 档和其他档一样保留 1M 声明。
  • Codex 聚合模式换默认供应商时,预览把原来的默认那家算成 0 个模型。默认那家本身不发布聚合模型,但换走之后它的模型会全部加进聚合;现在预览显示的是换走之后的数量。

升级说明

数据库结构没有变化,仍然是 20。

  • Claude Desktop 当前用的是模型映射卡的,首次启动会自动切到路由模式、路由到这张卡,直连那边改为官方。重启 Claude Desktop 后生效。
  • Codex 的「聚合模式下子 agent 用经典工具」改为默认打开,以前关掉的不会保留;需要关闭的话在「聚合设置」里重新关掉。
  • GPT 窗口封顶只影响新添加的供应商和新补全的模型参数,已添加的卡片保持原来的窗口。
  • 改了自动审批模型后要重启 Codex。
  • 1M 相关的预设改动只影响新添加的供应商;已添加的卡片可以在「模型映射」里自己勾上「声明支持 1M」。

致谢

感谢 @HEOJUNFO(Codex 带引号的供应商表头)、@zqtqzy(路由模式下的 Codex 远程压缩)、@xue-ding-e(Chat 流在 [DONE] 处结束)、@zhengkaics 和 @SailingLoong(OpenCode 会话耗时)、@Lingbou(Codex 分支对话翻页用量)、@hulkbig(fnm 路径去重)、@funkpopo(Windows 窗口卡死)的贡献。

感谢 @zhangchuanqiang-cloud、@SRQuan、@vvvss7992、@obsidian0215、@wangding0610、@XinwangTao、@RRRRSH、@YwaQ96、@Tison6、@haveqqq、@cc10143、@KDB-Wind 报告问题、提供复现信息和修复思路。

完整的技术细节请见 CHANGELOG。

Don't miss a new cc-switch release

NewReleases is sending notifications on new releases.