v4.0.15
farion1231/cc-switchv4.0.15Oct 17, 2026by github-actions[bot]
Upgrading?
AI Summary
This release focuses primarily on bug fixes, addressing critical issues such as Windows settings being reset after updates, Codex version check failures, and session recognition problems via routing. It also introduces new UI features for usage visualization and model list management.
Key Highlights
- Trend chart style toggle allows switching between bar and area charts in usage settings.
- Hermes now supports declaring image input capabilities per model via a new toggle.
- Claude Desktop can now fetch model lists for hosted providers like GitHub Copilot and Codex OAuth.
- Fixed Windows settings reset issues and Codex version check errors that caused unintended uninstallations.
- Resolved session recognition and DeepSeek integration issues via routing.
New Features
- Trend chart style toggle (Bar/Area) in usage settings.
- Hermes vision support configuration per model.
- Desktop model list fetching for hosted providers (Copilot, Codex OAuth, xAI OAuth).
Full Release Notes
# CC Switch v4.0.15 本版本以修复为主:Windows 上更新后隐藏的应用、配置目录覆盖等设置会被重置为默认值的问题已修复;更新 Codex 时,`--version` 响应慢不会再把好好的 Codex 卸掉;macOS 应用图标改为白色圆角方块,macOS 26 不再把它塞进灰色底板。经路由的请求重新认得出 Claude Code 的会话,走 Codex OAuth 时的缓存键和 Claude Desktop 连 Gemini 时的签名回放都恢复正常;Codex 历史里有一条坏掉的工具调用时不再每轮都报错,DeepSeek 也不再拒收回放的工具历史。另外修复了 WebDAV/S3 慢速传输 300 秒被掐断、Windows 上「打开终端」找不到 `claude`、WSL 里的 Hermes 会话读不出、路由切换总是提示重启等问题。新增用量趋势图的柱形图 / 曲线面积图切换、Hermes 按模型声明图片输入,Claude Desktop 表单也能为 Copilot 等托管登录的供应商获取模型列表。4.0 完整的更新内容请见 [v4.0 发布说明](https://github.com/farion1231/cc-switch/blob/main/docs/release-notes/v4.0.4-zh.md)。 **[English →](https://github.com/farion1231/cc-switch/blob/main/docs/release-notes/v4.0.15-en.md) | [日本語版 →](https://github.com/farion1231/cc-switch/blob/main/docs/release-notes/v4.0.15-ja.md)** --- ## 新增 **用量趋势图可以选柱形图或曲线面积图**([#8406](https://github.com/farion1231/cc-switch/issues/8406))。在用量页「设置」页签的「显示」区,「趋势图样式」可以选柱形图(默认)或曲线面积图,两种样式的指标、坐标轴、悬停提示和币种换算都一样。「显示」区的几项设置也重新排成了对齐的两列,汇率单独一行,放在币种下面。 **Hermes 可以按模型声明支持图片输入**([#8464](https://github.com/farion1231/cc-switch/issues/8464))。Hermes 按每个模型的 `supports_vision` 判断能不能看图,没写的未知模型会被当成纯文本、图片被压成文字;以前表单里没有地方设置,手写的值保存后也会被冲掉。现在展开模型详情后有「支持图片输入」开关:打开写 `supports_vision: true`,关掉则删除这个键,交给 Hermes 自己判断。从模型列表选到已知支持图片的模型时会自动打开。 **Claude Desktop 可以为托管登录的供应商获取模型列表**([#8426](https://github.com/farion1231/cc-switch/issues/8426))。GitHub Copilot、Codex OAuth、xAI OAuth 这类供应商以前在 Desktop 表单里没有「获取模型列表」按钮,现在有了,会按登录的账号拉取;还没登录时先提示登录。换了供应商类型或账号后,列表会清空重拉,不会混进别的账号的模型。 ## 改进 **路由下切换供应商,提示写明实际做了什么**([#8347](https://github.com/farion1231/cc-switch/issues/8347))。以前路由模式下切换,Codex、Gemini CLI、Grok Build 总会提示重启客户端。现在提示会说明是记住了供应商、改了路由目标、切换了路由,还是改了聚合默认供应商;只有客户端配置文件确实改了,才提示重启。 **侧栏「今日」不再带「今日」前缀。** 只选一项时也和选两项时一样只显示数值,完整说明在悬停提示里。 **Claude Code 用量导入更快**([#8224](https://github.com/farion1231/cc-switch/issues/8224))。同一次导入里,查过的模型价格会复用,不再每条记录都查一遍;改了价格,下一次导入就会用上。 **土耳其语**:补齐了卸载和套餐额度相关的新文案([#8291](https://github.com/farion1231/cc-switch/pull/8291))。 **预设:** 新增 EveryAPI、AllTokens。 ## 修复 - **Windows 上每次更新后,隐藏的应用、配置目录覆盖等设置被重置为默认值**([#8429](https://github.com/farion1231/cc-switch/issues/8429))。以前直接覆盖写 `settings.json`,个别环境下新内容变短时,旧内容的尾巴没被截掉,下次启动整份解析失败;读取失败时又悄悄用了默认值,更新后弹出的更新摘要一保存,就把默认值写了回去。现在先写临时文件再替换;读取时会去掉 BOM,有尾巴时只读第一段 JSON,解析不了的字段单独丢掉、其余照常保留。没有完整读出的文件会先备份成 `settings.json.broken-<时间>.bak`,备份成功之前不会保存。 - **更新 Codex 时,`--version` 响应慢会把好好的 Codex 卸掉。** 以前更新前检测到 `--version` 超时或启动失败,就会先卸载再重装,重装一失败,Codex 就显示成未安装。现在只有 `--version` 真的运行并报错时才这样修复,其余情况照常升级。 - **macOS 26 把应用图标放进灰色底板并缩小**([#8401](https://github.com/farion1231/cc-switch/issues/8401))。macOS 应用图标现在自带白色圆角方块,macOS 26 和 15 显示一致;Windows 和 Linux 图标不变。 - **经路由的请求认不出 Claude Code 的会话**([#8235](https://github.com/farion1231/cc-switch/issues/8235)、[#8234](https://github.com/farion1231/cc-switch/issues/8234)、[#8418](https://github.com/farion1231/cc-switch/issues/8418))。新版 Claude Code 把会话 ID 写成 JSON 放在 `metadata.user_id` 里,路由以前解析不了,同一个对话的每个请求都被当成新会话;Claude Desktop 的请求也没有读会话头。结果是走 Codex OAuth 时没有稳定的缓存键,Claude Desktop 经路由连 Gemini 时工具调用报错。现在两种格式都认得,Claude Desktop 也读会话头。 - **Codex 历史里有一条参数坏掉的工具调用时,之后每轮都被 Chat 上游拒收**([#5197](https://github.com/farion1231/cc-switch/issues/5197))。例如输出被截断、参数不是完整的 JSON。现在转换时把这条调用改写成普通文字,正常的历史一个字节都不改。 - **Codex 经路由连 DeepSeek 经常报 400**([#8331](https://github.com/farion1231/cc-switch/issues/8331))。回放工具历史时,工具调用和结果之间夹着的空消息、进度文字或思考内容会被拆成单独的消息,DeepSeek 不接受。现在只对 DeepSeek 模型把它们并回工具调用那条消息,其他上游不受影响。 - **Codex 聚合模式去掉了 `x-codex-beta-features` 请求头**([#8435](https://github.com/farion1231/cc-switch/issues/8435))。部分原生 Responses 网关需要这个头。现在发往原生 Responses 上游时保留它,身份相关的请求头仍然去掉。 - **Claude Desktop 原生供应商配模型映射时卡在死循环**([#8441](https://github.com/farion1231/cc-switch/issues/8441))。保存映射要求先开路由,开路由又要求已有映射。现在没填模型列表的原生供应商可以先进入路由,再在同一张卡上保存映射。 - **WebDAV / S3 同步慢速传输到 300 秒就被掐断**([#8428](https://github.com/farion1231/cc-switch/issues/8428))。慢速网络下,传输超过 300 秒的大 Skills 包会失败。现在总超时随文件大小放宽,下载另设 120 秒无数据超时,连接真卡住时仍会及时报错。 - **Windows 上卡片的「打开终端」报「'claude' 不是内部或外部命令」**([#8446](https://github.com/farion1231/cc-switch/issues/8446))。应用内更新自动重启后,或先打开 CC Switch 再安装 CLI 时,进程里缺少用户级 PATH,终端沿用了它。现在打开的终端会带上完整的用户和系统 PATH。 - **Windows 上读不出 WSL 里 Hermes 的会话**([#8205](https://github.com/farion1231/cc-switch/issues/8205))。Hermes 数据在 WSL 里时,改为在对应的发行版内只读读取数据库;需要发行版里有 `python3`(3.7 及以上)。其他路径不受影响。 - **故障转移后,「路由中」标记还停在原来那家**([#7998](https://github.com/farion1231/cc-switch/issues/7998))。 - **Pi 子代理的用量统计不上,或记成 unknown**([#8298](https://github.com/farion1231/cc-switch/issues/8298))。现在从每个子代理自己的会话文件导入,带上真实的模型和供应商;从升级后第一次导入起统计,之前的不补算。 - **拖动排序供应商时卡片被拉伸、互相遮挡**([#8283](https://github.com/farion1231/cc-switch/issues/8283))。 - **Skills 下载失败时,真正的原因被「仓库或分支不存在,请检查地址」盖掉。** 以前配置的分支失败后会依次试 main、master,最后报的是 master 的 404。现在只有 404 才换分支,超时、压缩包过大、解压失败都按原因报错。 - **DeepSeek 一个币种的钱包还有余额,另一个为 0 时显示「余额已用完」**([#8170](https://github.com/farion1231/cc-switch/issues/8170))。现在只要有钱包还有余额,就不再列出空钱包,卡片也不会每次启动都自动展开额度面板。 - **窗口较矮时,Codex 模型列表的思考等级弹窗下半截被截掉**([#8094](https://github.com/farion1231/cc-switch/issues/8094))。现在弹窗不超出窗口,放不下时列表在弹窗里滚动,「默认等级」一直可见。 ## 升级说明 **数据库结构没有变化**,仍然是 20。 - Windows 上已经带尾巴的 `settings.json` 会在首次启动时恢复,原文件保留为 `settings.json.broken-<时间>.bak`;之前更新时已经被重置的设置无法找回。 - Pi 子代理用量从升级后第一次导入开始统计,之前的记录保持原样。 - 在 Windows 上读取 WSL 里的 Hermes 会话,需要发行版里装有 `python3`(3.7 及以上)。 --- ## 致谢 感谢 @Foodie05(Claude Code 会话识别)、@MonsterXia(Codex 坏工具调用历史)、@funkpopo(DeepSeek 工具历史、趋势图样式、拖动排序)、@JfanLiu(聚合模式 beta 请求头)、@ix-prism(Claude Desktop 映射循环)、@Dante-dan(WSL 里的 Hermes 会话)、@SmileMachine(路由切换提示)、@Chaoqi31(Pi 子代理用量)、@Carl723000(用量导入提速)、@alkank(土耳其语)、@NestorRay(面板过渡清理)的贡献。 感谢 @wangding0610、@DiYi1999、@CaiSre、@vincerise、@qiangyidian、@zhouys0725、@qianlongwuyong-zxl、@ElijahHong、@wx2cyj、@rvwmng9rvk-crypto、@luckday888、@ramonmi、@quntaoli、@LwTen2019、@CYRickyArAr、@edwardchenchen、@ximigoo 报告问题、提供复现信息和修复思路。 完整的技术细节请见 [CHANGELOG](https://github.com/farion1231/cc-switch/blob/main/CHANGELOG.md)。
Related Repositories
An open-source remote desktop application designed for self-hosting, as an alternative to TeamViewer.
Build smaller, faster, and more secure desktop and mobile applications with a web frontend.
π RuView turns commodity WiFi signals into real-time spatial intelligence, vital sign monitoring, and presence detection — all without a single pixel of video.
Incredibly fast JavaScript runtime, bundler, test runner, and package manager – all in one
Code at the speed of thought – Zed is a high-performance, multiplayer code editor from the creators of Atom and Tree-sitter.