v4.0.17
farion1231/cc-switchv4.0.17Oct 20, 2026by github-actions[bot]
Upgrading?
AI Summary
This release fixes issues introduced in v4.0.16, improves the tray panel's memory management and display alignment, and addresses bugs related to Codex login, Hermes provider naming, MCP server configuration, and various platform-specific issues on Windows and macOS.
Key Highlights
- Tray panel memory is properly released in lightweight mode on Windows.
- Codex no longer gets stuck on expired ChatGPT login pages when entering routes.
- Hermes now warns users if a provider identifier conflicts with built-in providers.
- Tray icon behavior on Windows changed: left-click opens the main window.
- Fixed multiple bugs including WebDAV sync, TOML quote handling, and macOS API key capitalization.
New Features
- Hermes provider identifier conflict warning system.
- Improved tray panel quota display with better alignment and reset time indicators.
Full Release Notes
# CC Switch v4.0.17 本版本修复了 4.0.16 带来的两个问题,并改进了托盘快捷面板。轻量模式又能释放托盘面板占用的内存,Windows 上的 WebView2 进程能正常退出;Codex 进入路由时不会再还回一份早已过期的 ChatGPT 登录、卡在登录页。托盘面板在应用之间悬停时不再跳动,在高缩放和小屏幕的 Windows 上也能完整显示;额度条对齐了,并显示距重置还有多久,剩余余额标成绿色;Windows 上左键点托盘图标恢复为打开主界面。Hermes 的供应商标识和内置供应商重名时,表单会给出提醒。另外修复了 Windows 上退出后路由端口仍被占用、Codex 远程压缩的用量记成 0、同时勾选多个 MCP 服务器时有的丢失、只有地址的 MCP 服务器同步到 Hermes 和 OpenCode 后是空的、TOML 字符串里的弯引号被改掉、数据胶囊的 WebDAV 同步失败、macOS 把手输的 API Key 首字母改成大写、在便携版目录上安装 MSI 后仍被当成便携版等问题。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.17-en.md) | [日本語版 →](https://github.com/farion1231/cc-switch/blob/main/docs/release-notes/v4.0.17-ja.md)** --- ## 改进 **Hermes 的供应商标识和内置供应商重名时给出提醒**。Hermes 遇到和内置供应商同名的标识(如 `deepseek`、`openrouter`)会改用内置那家,要它自己的环境变量 Key,这张卡的地址和 Key 都不生效;4.0.16 只修了 MiniMax 两个预设([#8538](https://github.com/farion1231/cc-switch/pull/8538))。现在填的标识是 Hermes 内置供应商的标识时,输入框下方会提醒并建议改成 `cc-switch-<标识>`;已经添加、标识改不了的卡,会提示用别的标识重新添加。`kimi` 这类别名不受影响,也不会报。提醒不影响保存。 **托盘面板的额度显示**。各档额度的标签、进度条和重置时间排成整齐的三列,进度条起止对齐,也更长了;重置时间从具体日期改为「还剩多久」,例如「1天23小时后重置」。按量付费的剩余余额只把金额标成绿色,和供应商卡片一致;余额用完时仍显示警告色。 **Windows 上左键点托盘图标恢复为打开主界面**([#8572](https://github.com/farion1231/cc-switch/pull/8572))。右键弹出设置里选的托盘样式(面板或菜单)。macOS 不变,左右键都弹出所选样式。 ## 修复 - **轻量模式下托盘面板一直占着内存**([#8612](https://github.com/farion1231/cc-switch/issues/8612))。4.0.16 起托盘面板默认开启,它是单独的一个窗口,第一次弹出后只隐藏不关闭,进入轻量模式后 Windows 上的 WebView2 进程也不会退出。现在轻量模式下面板一收起就释放,下次点托盘图标再重新打开。 - **Codex 进入路由后卡在 ChatGPT 登录页**([#8573](https://github.com/farion1231/cc-switch/issues/8573))。4.0.16 起,进入第三方路由时如果 `auth.json` 里没有登录,会还回最近收起的那份;这份登录可能是几个月前收起的、早已过期,Codex 桌面版拿着它反复刷新失败,每次进出路由又会被还回来。现在已过期的登录不再还回,仍留在暂存里,切回官方卡时照常还回。 - **托盘面板悬停时来回跳动,Windows 高缩放下显示不全**([#8572](https://github.com/farion1231/cc-switch/pull/8572)、[#8595](https://github.com/farion1231/cc-switch/pull/8595),[#8549](https://github.com/farion1231/cc-switch/issues/8549)、[#8553](https://github.com/farion1231/cc-switch/issues/8553)、[#8564](https://github.com/farion1231/cc-switch/issues/8564))。两栏高度改为以主面板为准,供应商多的列表在右栏里滚动,在应用之间悬停时行不会再挪到鼠标下面,只有一个应用时也不再留出大片空白。Windows 上按显示器的缩放比例换算尺寸,面板会收窄并限制在屏幕可用区域内,底部的「打开主窗口」和「退出」不会再被挤出去;挪到缩放不同的另一块屏幕后,第一次弹出也能正确显示。 - **Windows 上退出 CC Switch 后路由端口仍被占用,下次启动报 os error 10048**([#8552](https://github.com/farion1231/cc-switch/issues/8552))。CC Switch 打开的终端和命令行工具继承了监听端口,CC Switch 退出后端口仍被它们占着,下次启动只能回到直连,直到重启电脑或换端口。现在这些子进程不再继承监听端口。 - **Codex 远程压缩的用量记成 0**([#8479](https://github.com/farion1231/cc-switch/pull/8479))。Codex 0.153 起,远程压缩的用量写在另一种记录里,以前没有读取,这些请求都按 0 计。现在会正常计入;升级前已经扫描过的记录保持原样。 - **同时勾选多个 MCP 服务器时,有的没写进配置文件**([#8580](https://github.com/farion1231/cc-switch/issues/8580))。几次勾选同时写同一个配置文件时会互相覆盖,界面显示已启用,配置文件里却没有。现在会依次写入。 - **只有地址的 MCP 服务器同步到 Hermes 和 OpenCode 后是空的**([#8579](https://github.com/farion1231/cc-switch/issues/8579))。在 JSON 模式里粘贴或通过深链接导入、只写了 `url` 没写 `type` 的服务器,以前被当成本地命令,同步后 Hermes 里只有 `enabled: true`,OpenCode 里命令为空,界面却显示同步成功。现在和 Codex 一样,有地址、没有命令的按远程服务器处理。 - **TOML 字符串里的弯引号(含中文引号)被改成直引号**([#8559](https://github.com/farion1231/cc-switch/issues/8559))。为了兼容中文输入法,导入 MCP 和编辑 Codex 配置时会把弯引号转成直引号,以前连字符串里面的也一起转了,把 `"don’t"` 改成 `"don't"`,有的合法配置还会被拒绝。现在只转换用作字符串边界的引号,字符串里面的保持原样,用中文输入法直接输入引号仍然可以。 - **数据胶囊的 WebDAV 同步上传失败,返回 500**([#8554](https://github.com/farion1231/cc-switch/issues/8554))。现在同步清单改用通用的文件类型上传,内容不变,新旧版本可以互相读取。S3 同步不受影响。 - **macOS 上手输的 API Key 首字母被自动改成大写。** 显示明文时,输入的 `sk-…` 可能被系统改成 `Sk-…` 保存下来,导致认证失败。现在这个输入框关闭了自动大写、自动更正和拼写检查。粘贴的 Key 不受影响。 - **在便携版目录上安装 MSI 后,仍被当成便携版,只能手动下载更新**([#8529](https://github.com/farion1231/cc-switch/pull/8529),[#3132](https://github.com/farion1231/cc-switch/issues/3132))。现在安装时会删掉目录里残留的便携版标记 `portable.ini`,安装后可以在应用内更新。卸载时不会删除这个文件。 ## 升级说明 **数据库结构没有变化**,仍然是 20。 - Windows 上左键点托盘图标恢复为打开主界面(4.0.16 用面板样式时是弹出面板,菜单样式一直如此);右键弹出「设置 → 通用 → 托盘样式」里选的样式。 - Codex 远程压缩的用量只从升级后读到的记录开始计入,升级前已经扫描过的不会补算。 --- ## 致谢 感谢 @funkpopo(托盘面板的滚动与缩放)、@Chaoqi31(Codex 远程压缩用量)、@chonngyi(在便携版目录上安装 MSI)的贡献。 感谢 @SamPheng、@xinxinxiaoxin、@XinwangTao、@ramonmi、@Jdker22、@Geneslves、@Jinmoli、@nanfenggushi、@fereverlove、@hulkbig、@AngryBigCat、@QC2168 报告问题、提供复现信息和修复思路。 完整的技术细节请见 [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.