Back to Cc Switch

CC Switch v3.15.0

docs/release-notes/v3.15.0-zh.md

3.15.024.2 KB
Original Source

CC Switch v3.15.0

Claude Desktop 升级为一等管理面板(含第三方供应商代理切换)、按角色的模型映射、反向代理大幅强化、Codex OAuth 实时模型发现、用量看板筛选驱动 Hero 卡

English → | 日本語版 →


概览

CC Switch v3.15.0 是 v3.14.x 之后的一次大版本更新,核心聚焦在把 Claude Desktop 升级为一等管理面板,并配套提供第三方供应商通过内置代理网关进行切换、按角色的模型映射(sonnet / opus / haiku)+ supports1m 长上下文标志、Copilot/Codex OAuth 供应商复用、重新设计的 Claude Code 导入流程、App 切换器对"Claude Code"和"Claude Desktop"的可视化区分,以及 44 个从 Claude Code 预设目录翻译而来的 Claude Desktop 预设。

围绕反向代理的可靠性,本版本进行了一次系统性硬化:P0–P3 多轮针对路由 / 生命周期 / 重试 / 故障转移 / 补正器的修补;非 Anthropic 后端启用 HTTPS 连接池复用以降低单请求延迟;Codex 与 OpenAI Responses 缓存命中率提升(prompt_cache_key 仅在有真实客户端会话标识时发送、对外请求体与 tool_call 参数 / tool_result 内容的 JSON key 规范化排序、session_id 串入用量记录器);Anthropic ↔ OpenAI tool_choice 正确互转;Vertex AI 完整 URL 不再被截断;Gemini 改为从 URI 路径提取模型名;Local Routing 接管检测更精细;可监听 IPv6 地址。Codex OAuth 类 Claude 供应商不再依赖硬编码的模型列表,CC Switch 会按需从 ChatGPT 后端拉取实时模型列表。

Claude Code 的模型映射改为基于角色(sonnet / opus / haiku)+ 显示名,并引入 supports1m 布尔标志,替代旧版的 [1M] 后缀写法,把路由决策与原始模型 ID 解耦。用量看板新增筛选驱动的 Hero 卡,展示缓存归一化后的真实总 token 与缓存命中率,并跟随当前日期范围 / 供应商 / 模型筛选实时更新;配套修复了缓存成本语义错误以及每个请求都触发的定价警告噪声。在 OpenAI Responses API usage 解析路径上做了鲁棒化处理,让上游缺失或畸形的 usage 不再让 VSCode Claude Code 插件因 null 输出崩溃。

供应商生态进一步扩张:新增 BytePlus、火山 Agentplan、ClaudeAPI、ClaudeCN、RunAPI、RelaxyCode、PatewayAI、百度千帆 Coding Plan 合作伙伴预设;豆包 Seed 升级为合作伙伴预设;供应商卡片现在会显示"是否支持 Local Routing"的徽章。本版本还修复了大量 Codex 会话、OAuth、Claude Desktop 表单、Linux 段错误、终端 fallback 等场景下的细节问题,并完成了多项 GitHub Actions 依赖升级。

发布日期:2026-05-16

更新规模:127 commits | 211 files changed | +17,980 / -2,748 lines


重点内容

  • Claude Desktop 成为一等管理面板:通过内置代理网关提供第三方供应商切换、按角色的模型映射(sonnet / opus / haiku)+ supports1m 长上下文标志、Copilot/Codex OAuth 供应商复用、44 个从 Claude Code 预设目录翻译过来的预设。注意:20 个 Claude Desktop 预设默认从代理模式切到直连模式,升级后如依赖代理路由请验证连通性
  • 反向代理大幅强化:P0–P3 生命周期 / 重试 / 故障转移 / 补正器修补;非 Anthropic 后端 HTTPS 连接池复用;Codex/Responses 缓存命中率提升;Anthropic ↔ OpenAI tool_choice 正确映射;Vertex AI URL 完整保留;Gemini 路径式模型提取;接管检测细化;支持 IPv6 监听地址
  • 供应商生态扩张:新增 BytePlus、火山 Agentplan、ClaudeAPI、ClaudeCN、RunAPI、RelaxyCode、PatewayAI、百度千帆 Coding Plan 合作伙伴预设;豆包 Seed 升级合作伙伴;供应商卡片显示"路由代理支持"徽章
  • 按角色的模型映射 + 1M 标志:基于角色的 sonnet / opus / haiku 路由 + 显示名 + supports1m 标志,替代旧的 [1M] 后缀
  • Codex OAuth 实时模型发现:ChatGPT Codex 类供应商按需从 ChatGPT 后端拉取实时模型列表
  • 用量看板筛选驱动 Hero:展示缓存归一化的真实总 token 和缓存命中率,跟随当前日期 / 供应商 / 模型筛选实时更新
  • DeepSeek 工具调用 + 零 usage 最终 delta:DeepSeek 工具调用一并返回 reasoning_content (#2543, 感谢 @bling-yshs);最终 message_delta 总是带 usage 块(即便全为 0),严格 Anthropic 客户端不再因 null 崩溃 (#2485, 感谢 @Myoontyee)
  • OpenAI Responses API usage 解析鲁棒化:让上游缺失或畸形 usage 不再让 VSCode Claude Code 插件崩溃 (#2422, 感谢 @magucas)

新功能

Claude Desktop 第三方供应商代理切换

CC Switch 第一次把 Claude Desktop 作为一等受管面板对待,与 Claude Code / Codex / Gemini / OpenCode / OpenClaw / Hermes 并列。

  • 新增 Claude Desktop 专属面板,通过 CC Switch 内置代理网关把第三方供应商代理给 Claude Desktop
  • 为需要路由代理的供应商在卡片上呈现"是否支持 Local Routing"的徽章
  • 按角色的模型路由映射,锁定到 sonnet / opus / haiku
  • Copilot / Codex OAuth 供应商在 Claude Desktop 面板中可复用
  • 重新设计的 Claude Code 设置导入流程
  • App 切换器视觉区分"Claude Code"与"Claude Desktop",应用可见性设置中使用"Claude Code"标签
  • 44 个从 Claude Code 预设目录翻译过来的 Claude Desktop 供应商预设

供应商卡片:路由代理支持徽章

Claude Code 与 Codex 面板中的供应商卡片新增"路由代理支持"徽章,方便一眼识别哪些供应商可以通过 Local Routing 提供服务。

Codex OAuth 实时模型列表

ChatGPT Codex 类供应商不再依赖硬编码的模型选择,CC Switch 会按需从 ChatGPT 后端拉取实时模型列表

按角色的模型映射 + 1M 标志

Claude Code 模型映射改为基于角色(sonnet / opus / haiku)+ 显示名,并引入 supports1m 布尔标志,替代旧版 [1M] 后缀,把路由决策与原始模型 ID 解耦。

用量看板筛选驱动 Hero

用量看板的 Hero 摘要现在是筛选驱动的,跟随当前日期范围 / 供应商 / 模型筛选实时变化;展示缓存归一化后的真实总 token与缓存命中率,让 Hero 数字与下方明细列表对齐。

供应商表单"先存上再说"

软化供应商表单的输入校验,把非阻塞性的输入问题改为"先存上再说"的提示,不会因为一个无伤大雅的字段问题阻止保存 (#2307, 感谢 @allenxln)。

Universal 供应商复制动作

为 universal 供应商在供应商列表中新增"复制"按钮 (#2416, 感谢 @hubutui)。

持久化 Tauri 窗口状态

窗口位置和尺寸现在跨重启保留 (#2377, 感谢 @BillSaul)。

托盘图标 hover 提示

系统托盘图标现在悬浮显示状态提示 (#2417, 感谢 @Coconut-Fish)。

Warp 终端会话启动

新增对 Warp 终端的支持,可在 Warp 中执行保存的会话 (#2466, 感谢 @tisonkun)。

DeepSeek 工具调用 reasoning_content

DeepSeek 工具调用响应现在同时返回 reasoning_contenttool_calls,调用方可以两者一并渲染 (#2543, 感谢 @bling-yshs)。

百度千帆 Coding Plan(Claude Code)

新增百度千帆 Coding Plan 预设 (#2322, 感谢 @jimmyzhuu)。

Compshare Coding Plan 预设(跨应用)

Compshare Coding Plan 预设跨 claude / codex / hermes / openclaw 全应用就位。

合作伙伴供应商预设

新增 BytePlus火山 AgentplanClaudeAPIClaudeCNRunAPIRelaxyCodePatewayAI 合作伙伴预设;豆包 Seed 升级合作伙伴预设(端点和链接刷新)。

44 个 Claude Desktop 供应商预设

从 Claude Code 预设目录翻译 44 个供应商预设进入新的 Claude Desktop 面板。


变更

20 个 Claude Desktop 预设默认切到直连模式

20 个 Claude Desktop 预设默认从代理模式切到直连模式,降低对不需要代理兼容垫片的用户的上手摩擦。如果你升级前依赖代理路由这些预设的连通性,请升级后验证。

Claude Desktop 操作约束

切换 Claude Desktop 供应商会写入 CC Switch 管理的 3P profile,需要重启 Claude Desktop 才能生效;代理模式的供应商在使用期间需要 CC Switch 的 Local Routing 保持运行。

Failover / Local Routing 联动校验

Failover 控件现在要求目标应用的 Local Routing 接管已启用才能开启;只关代理服务但仍有应用依赖接管状态的情况会被拦下,避免出现"代理关了但应用仍以为接管在跑"的不一致。

用量统计语义变化

用量摘要现在报告缓存归一化后的真实总 token缓存命中率。历史 token 与成本数字在数据去重 + 价格重算后可能会有偏移——新数字更准,但不会等于旧版给出的数字。

供应商预设渲染顺序

预设列表现在按作者定义的数组顺序渲染,合作伙伴排前面,替代之前的隐式排序。

模型映射提示文案简化

modelMappingOffHint 跨中 / 英 / 日重写为动作导向的简洁文案。

CC Switch 品牌官网统一到 ccswitch.io

应用内和 README 中所有"官网"引用都统一到 ccswitch.io 作为唯一官方网站;Release notes 模板也呈现 ccswitch.io。

主题切换简化

移除主题切换时的圆形扩散动画,改为即时交叉淡入。

Claude Code App 切换器视觉区分

App 切换器视觉上区分"Claude Code"和"Claude Desktop",应用可见性设置中使用"Claude Code"标签。

CI:Claude Review 升级到 Opus 4.7

Claude review GitHub Action 升级到 Opus 4.7;调整 prompt 降低 nitpick 噪声;新增 @claude 仅 review 的 Code Action;锁定 PR head SHA 用于 checkout;移除 --max-turns 5 限制。

GitHub Actions 依赖升级

  • actions/checkout 4 → 6 (#2517)
  • pnpm/action-setup 5 → 6 (#2518)
  • softprops/action-gh-release 2 → 3 (#2519)
  • actions/stale 9 → 10 (#2520)

DeepSeek 预设切到 V4

DeepSeek 预设现在出货 V4(flash / pro)+ 刷新定价种子。

Codex 1M 上下文开关在编辑表单隐藏

Codex 供应商编辑表单中不再呈现 1M 上下文开关,降低对当前 Codex 部署无实际效果的旋钮密度。

OpenClaudeCode 迁移到 MicuAPI 域名

OpenClaudeCode 预设迁移到 MicuAPI 域名;Micu API 链接刷新到 micuapi.ai

CrazyRouter 端点切到 cn 子域

CrazyRouter 预设端点改用 cn 子域。

RelaxyCode 自定义图标

RelaxyCode 预设图标改用自定义 relaxcode.png 资源。

Kimi For Coding 文档 URL

Kimi For Coding 网站 URL 更新到 /code/docs/ 路径。

SiliconFlow 国际站显示 USD

SiliconFlow 国际站的余额显示正确为 USD(之前错显 CNY)。


修复

OpenAI Responses API usage 解析鲁棒化

强化 build_anthropic_usage_from_responses() 与 Responses → Anthropic SSE 翻译器,让上游缺失或畸形的 usage 不再在 message_delta 中产出 "usage": null。这解决了严格 Anthropic 客户端(典型如 VSCode Claude Code 插件)在某些供应商(Codex OAuth、DashScope 的 compatible-mode/v1/responses 端点)下崩在 Cannot read properties of null (reading 'output_tokens') 的问题。增加 OpenAI 字段名回退(prompt_tokens / completion_tokens)、null / 空 / 部分对象处理、即使 input/output tokens 缺失也保留缓存 token 字段 (#2422, 感谢 @magucas)。

代理可靠性补丁(P0–P3)

跨 request-forwarder 路径多轮路由 / 生命周期 / 重试 / 补正器修补;抽取共享的 handle_rectifier_retry_failure helper 与 auth_header_value helper。

代理:非 Anthropic 后端 HTTPS 连接池复用

非 Anthropic 后端复用池化的 HTTPS 连接,不再每个请求开新 TLS session,显著降低单请求延迟。

代理:转发客户端真实 HTTP 方法

不再硬编码 POST,按客户端实际的 HTTP 方法转发;上游的非 POST 端点(如 GET /v1/models)现在能正常工作。

代理:每次尝试计数器 + max_retries 接线

客户端请求计数器移出每次尝试的循环;AppProxyConfig.max_retries 现在正确接到请求转发器。

代理:故障转移判定细化

请求转发器中重试 / 不可重试错误的分类更准确。

代理:接管检测细化

接管检测更紧;关接管时走 fallback 恢复,避免遗留状态把供应商卡住。

代理:Anthropic ↔ OpenAI tool_choice 互转

格式转换时把 Anthropic 的 tool_choice 正确映射到 OpenAI Chat 的嵌套形式。

代理:Gemini 请求模型从 URI 路径提取

Gemini 请求模型从 URI 路径提取(不再从 body 取),转换后的流量上报正确的模型名。

代理:认证 header 错误处理

get_auth_headers 现在返回 Result,凭据有问题时不再 panic。

代理:IPv6 监听地址校验

代理面板现在接受 IPv6 监听地址。

代理:Codex / Responses 缓存命中率提升

通过稳定缓存键派生提高 Codex 与 OpenAI Responses 请求的缓存命中率;只在客户端确实带了会话标识时才发 prompt_cache_key,避免不相关对话被坍缩到同一个 key 上;对外请求体与 tool_call 参数 / tool_result 内容里的 JSON key 做规范化排序以便前缀缓存能字节级匹配;把 session_id 串到 usage 日志记录器做请求关联。

代理:JSON Schema 下划线字段保留

私参过滤现在保留 JSON Schema name map(propertiespatternPropertiesdefinitions$defs)内的下划线前缀字段名,用户自定义 schema key(如 _id_meta)能正常穿过过滤。

代理:Read 工具空白页剔除

Read 工具输入中剔除空白页,避免供应商拒绝请求 (#2472, 感谢 @Kwensiu)。

代理:单请求热路径瘦身

缩减每个请求的热路径开销和数据库等待时间。

代理:接管下展示真实供应商模型名

接管运行时,Claude Code 菜单现在暴露真实供应商模型名,不是陈旧的 alias。

代理:最终 message_delta 总是带 usage

最终 message_delta 事件现在总是包含 usage 块(即使全为 0),严格 Anthropic 客户端不再因为 null 崩溃 (#2485, 感谢 @Myoontyee)。

代理:流式 message_delta 去重

对某些上游会发两次的 message_delta 事件做去重 (#2366, 感谢 @codeasier)。

代理:工具调用路径的 reasoning_content 保留

工具调用路径转换时正确保留 scoped reasoning_content 字段;Kimi / Moonshot 的 OpenAI Chat 兼容路径保留该字段,通用 OpenAI 兼容请求保持不带 (#2367, 感谢 @codeasier)。

代理:Vertex AI 完整 URL 保留

Vertex AI 的完整 URL 在代理转发时不再被截断 (#2415, 感谢 @xpfo-go)。

代理:剥离 system content 开头的计费 header

某些上游会在 system message 开头插一段计费 header 内容,现在被剥离 (#2350)。

代理:Claude 鉴权策略从 ANTHROPIC_* 环境变量名派生

不再依赖不透明的启发式,鉴权策略从实际的 ANTHROPIC_* 环境变量名派生。

第三方 Claude 供应商:禁用模型测试

对那些不一致实现 /v1/models 的第三方 Claude 网关,关闭模型探测。

Model-Fetch:Anthropic 兼容子路径供应商的 /models

/models 发现现在对 Anthropic 兼容的子路径供应商生效。

Copilot:Claude 模型 ID 对比实时 /models

Copilot 后端的供应商现在用实时 /models 列表来比对 Claude 模型 ID,避免陈旧 ID 不一致。

Codex:会话标题不再吸入 environment_context

Codex 会话标题提取不再把 environment_context 的噪声拉进来 (#2439, 感谢 @eclipsehx)。

Codex:隐藏 subagent 会话

Codex subagent 会话从主会话列表隐藏 (#2445, 感谢 @LanternCX)。

Codex 启动期 live import 去重

修复 Codex 启动期 live import 路径里的重复导入 bug (#2590, 感谢 @DhruvShankpal)。

Codex 供应商切换不再扰动历史

切换激活 Codex 供应商不再改动现有会话历史 (#2349, 感谢 @SaladDay)。

Codex 用量日志措辞修正

修正一条 Codex 会话用量的误导性日志 (#2473, 感谢 @tisonkun)。

Claude:max effort 通过 env 持久化

max effort 现在能跨重启正确通过 env 变量持久化 (#2493, 感谢 @makoMakoGo)。

Claude Desktop:模型路由不再要求 [1M] 后缀

路由匹配不再要求遗留的 [1M] 后缀。

Claude Desktop:供应商表单输入失焦

修复 Claude Desktop 供应商表单中输入框编辑时丢失焦点的问题。

Claude Desktop:假的"代理停止"状态提示

移除代理主动停止时假触发的提示。

Claude Desktop:空工具栏胶囊隐藏

当 Claude Desktop 是激活应用时,空的工具栏胶囊会被隐藏。

UI:Monitor 徽章图标居中

在 App 切换器里居中 Monitor 徽章图标。

Linux:选择主题触发 segfault

防止在 Linux 上选择主题触发 segfault (#2502, 感谢 @definfo)。

终端:冷启动时 iTerm fallback

防止冷启动时把不存在的 iTerm 选为 fallback (#2448, 感谢 @hulkbig)。

配置:JSON key 字母序排序

配置写入现在按字母序排 JSON key,输出确定 (#2469, 感谢 @fuleinist)。

"导入已有"无副作用化

"导入已有"操作改为无副作用 (#2429, 感谢 @xwil1)。

Coding Plan:智谱周窗口按重置时间命名

修正智谱周窗口的等级名以匹配实际重置时间 (#2420, 感谢 @TuYv)。

DashScope:usage 解析鲁棒化

强化 DashScope usage 解析,畸形 payload 不会再让 VSCode Claude Code 插件崩 (#2425, 感谢 @magucas)。

用量:代理和会话日志去重

跨代理和会话日志两个来源的用量记录去重。

用量:缓存成本语义 + 定价警告风暴

修正缓存成本语义,并消除每个请求都触发的噪声定价警告。

CI:前端格式化 + Linux clippy 恢复

恢复前端格式化与 Linux clippy 在 CI 中的运行。

代理测试 helper clippy 警告

修复代理测试 helper 中的一个 clippy 警告。


移除

Hermes Agent 用量追踪集成

移除原本计划在本周期上线的 Hermes Agent 用量追踪集成——上游行为变化让维护这个集成变得不切实际。该集成从未在任何已发布版本中启用;开发过程中发现的"零成本渲染" bug 在回滚集成前已经修复。

主题切换圆形扩散动画

移除主题切换时的圆形扩散动画——在性能较弱的合成器上会卡顿,视觉收益有限。

DDSHub 合作伙伴整合

移除 DDSHub 作为合作伙伴预设,并删除各 README 中的交叉链接段落。


文档

README 赞助商刷新(中 / 英 / 日)

新增 BytePlus、ClaudeCN、RunAPI、PatewayAI 赞助商条目;交叉链接 BytePlus 与火山条目;刷新 CrazyRouter 的 $2 额度领取流程、Compshare 描述、Right Code 描述、其他赞助商的 logo 与列表项;把 LionCC logo 抹平到白底;中文 README 的赞助商 logo 切到火山图;在 README 副标题中加入 Hermes Agent。

Release notes 模板

Release notes 模板中呈现 ccswitch.io

品牌官网

在各 README 与应用内引用中把 ccswitch.io 文档化为唯一官方网站。


⚠️ 升级提醒

20 个 Claude Desktop 预设默认切到直连模式

这 20 个预设之前默认通过代理路由,现在默认直连。如果你升级前正好用着其中某个、又依赖代理路由的连通性(比如代理里有特殊补正器或转换层),请验证一下连通性;如有需要,可在 CC Switch 面板里手动切回代理模式。

Claude Desktop 操作约束

切换 Claude Desktop 供应商需要重启 Claude Desktop 才能生效;代理模式的供应商在使用期间需要 CC Switch 的 Local Routing 保持运行——退出 CC Switch 或停止 Local Routing 会让代理模式的 Claude Desktop 供应商断流。

Failover 需要接管启用

启用 Failover 前请先确认目标应用的 Local Routing 接管已开启,否则 Failover 控件会拒绝启动;想关代理服务但仍有应用依赖接管的情况会被拦下,需要先在应用层关掉接管再停代理。

用量统计数字可能与历史不一致

用量摘要现在用缓存归一化的真实总 token + 缓存命中率。历史 token 与成本数字在数据去重 + 价格重算后可能会有偏移——新数字更准,但不会等于旧版给出的数字。


⚠️ 风险提示

本版本在涉及反向代理类功能上沿用 v3.12.3 / v3.13.0 提出的风险提示。

GitHub Copilot 反向代理:使用 Copilot 的反代路径可能违反 GitHub / Microsoft 服务条款。详情见 v3.12.3 release notes

Codex OAuth 反向代理:使用 ChatGPT 订阅的 Codex OAuth 反代可能违反 OpenAI 服务条款,详情见 v3.13.0 release notes

Claude Desktop 第三方供应商代理切换:通过 CC Switch 内置代理网关把 Claude Desktop 的请求转到第三方供应商时,第三方供应商对计费、合规与数据留存的约束各不相同,请在使用前阅读目标供应商的服务条款。

用户启用上述功能即表示自行承担所有风险。CC Switch 不对因使用这些功能而导致的任何账号限制、警告或服务暂停承担责任。


下载与安装

访问 Releases 下载对应版本。

系统要求

系统最低版本架构
WindowsWindows 10 及以上x64
macOSmacOS 12 (Monterey) 及以上Intel (x64) / Apple Silicon (arm64)
Linux见下表x64 / ARM64

Windows

文件说明
CC-Switch-v3.15.0-Windows.msi推荐 - MSI 安装包,支持自动更新
CC-Switch-v3.15.0-Windows-Portable.zip便携版,解压即用,不写入注册表

macOS

文件说明
CC-Switch-v3.15.0-macOS.dmg推荐 - DMG 安装包,拖入 Applications 即可
CC-Switch-v3.15.0-macOS.zip解压后拖入 Applications,Universal Binary
CC-Switch-v3.15.0-macOS.tar.gz用于 Homebrew 安装和自动更新

macOS 版本已通过 Apple 代码签名和公证,可直接安装使用。

Homebrew(macOS)

bash
brew tap farion1231/ccswitch
brew install --cask cc-switch

更新:

bash
brew upgrade --cask cc-switch

Linux

Linux 资产同时提供 x86_64ARM64aarch64)两种架构。资产文件名中包含架构标识,请按你机器的 uname -m 输出选择对应版本:

  • CC-Switch-v3.15.0-Linux-x86_64.AppImage / .deb / .rpm
  • CC-Switch-v3.15.0-Linux-arm64.AppImage / .deb / .rpm
发行版推荐格式安装方式
Ubuntu / Debian / Linux Mint / Pop!_OS.debsudo dpkg -i CC-Switch-*.debsudo apt install ./CC-Switch-*.deb
Fedora / RHEL / CentOS / Rocky Linux.rpmsudo rpm -i CC-Switch-*.rpmsudo dnf install ./CC-Switch-*.rpm
openSUSE.rpmsudo zypper install ./CC-Switch-*.rpm
Arch Linux / Manjaro.AppImage添加执行权限后直接运行,或使用 AUR
其他发行版 / 不确定.AppImagechmod +x CC-Switch-*.AppImage && ./CC-Switch-*.AppImage