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

3 hours ago

CC Switch v4.0.12

本版本让「应用」页可以完整管理编程工具:安装、升级、卸载,以及检测安装冲突。同一个工具装了多处时,现在可以直接选择卸载多余的那一处,冲突在 CC Switch 里就能解决;升级前会先检查 Node 版本,新版本要求更高的 Node 时不再显示注定失败的升级按钮;Grok Build 新版的安装方式也能卸载了。另外新增「本地」分组,可以直接添加在本机运行的 Ollama、LM Studio、llama.cpp、vLLM,并新增 Ollama Cloud、Groq、Hugging Face、Vercel AI Gateway 等 14 家云平台的预设。会话日志的后台扫描从每 60 秒一次改为每 10 分钟一次,平时更省资源;打开用量页时按所选间隔扫描,新用量反而显示得更快。界面新增土耳其语(社区翻译);系统语言不在支持范围内时,首次启动改用英文。还修复了云同步恢复 Skills 失败一次后再也恢复不了、Claude Code 经路由连接 Responses 上游时回复结束后又报错等问题。4.0 完整的更新内容请见 v4.0 发布说明。

English → | 日本語版 →


新增

「应用」页:安装、升级、卸载、检测安装冲突都齐了。 v4.0.11 加上卸载之后,这一版补齐了剩下的环节。一个工具装了多处时,「诊断安装冲突」会列出每一处,并标出命令行实际使用的「默认」那处;现在卸载时可以选择其中任意一处,留下想用的那份,冲突直接在 CC Switch 里解决。升级前会先核对 Node 版本,不再给出装不上、或者装完跑不起来的升级。

卸载时可以选择卸载哪一处安装。 以前确认框只提供当前使用的那一处,而装了多处的用户往往想卸载的是另一处;有多处安装又认不出哪处是默认时,卸载会直接失败。现在确认框会列出检测到的每一处安装,带来源、路径、版本和「默认」标记:只有一处能卸载时自动选中,有两处以上时不预选,不能自动卸载的显示原因并禁用。执行前按你选的路径重新核对一遍,和预览不一致就不执行。

  • 支持 Grok Build 0.2.112 起的安装方式(~/.grok/bin/grok-<version>),以前会提示「无法自动卸载」。卸载会删除这套安装的全部程序文件,只删文件不删目录,config.toml 和会话保留。
  • 卸载官方脚本装的工具时,指向同一程序的启动链接(例如 ~/.local/bin/grok)会一起删除,不再留下失效的命令。
  • 已有官方安装、又在 ~/.grok/config.toml 里设置用 npm 更新时,npm 那一份会被 grok update 装回来,确认框会提示这一点。
  • Windows 上卸载 Hermes 时,确认框会提示正在运行的 Python 可能被锁定而留下文件;卸载命令成功但随后的状态检查失败时,改为提示「卸载命令已完成,请检查结果」,不再误报卸载失败。

升级前检查 Node 版本。 OpenClaw 2026.9.3 起要求 Node 24.16 以上,旧版 Node 上升级必然失败,「应用」页却一直显示升级按钮;没有自带检查的 npm 包更糟,npm 只警告一声就装上,装完运行不了。现在发现新版本时会先读取它要求的 Node 版本,和这处安装实际使用的 Node 比较。不满足时这一行写明需要先升级 Node,不显示升级按钮,「全部升级」也会跳过它;执行升级前还会再查一次。认不出的版本写法、查询失败都不会挡住升级;原生程序、Homebrew、Bun 安装和 WSL 里的安装不做这项检查。

「应用」页更整齐。 卸载从每行的红色按钮移进行尾的「…」菜单。表头和各行共用同一套列宽,版本列对齐了;读取版本、发现更新、检查更新期间,表头和各列不再左右跳动(#8293)。隐藏应用的说明改写得更明确:只是不显示,供应商、MCP 等配置都还在,它自己的配置文件也不会被改动。

本地推理服务:Ollama、LM Studio、llama.cpp、vLLM。 添加供应商时多了一个「本地」分组,放在「云服务商」之后,里面是连接本机推理服务的预设,默认地址就是各服务的默认端口(Ollama 11434、LM Studio 1234、llama.cpp 9931、vLLM 8000),llama.cpp 旧版、Homebrew 和 Docker 常用的 8080 端口作为备选地址。这些服务默认不校验 Key,预设里填的是各家文档用的占位值。使用前要先启动服务、下载模型,预设里的默认模型可以换成你本地已有的,也可以点「获取模型列表」从服务读取;上下文窗口以启动服务时设定的长度为准。

  • Claude Code、Codex 直接连本地服务的 Anthropic Messages 和 Responses 接口,Claude Desktop 经路由连接;OpenCode、OpenClaw、Hermes、Pi 按各自已有的内置供应商情况提供(应用自带了的就不重复添加)。
  • 发往本机地址(localhost、127.0.0.1 等)的请求不再走 CC Switch 设置的代理或系统代理。以前设置了代理时,路由转发、测速、获取模型这些请求会被送进代理,连不上本地服务。

预设: 新增 Ollama Cloud、Baseten、Meta Model API、DeepInfra、Vercel AI Gateway、Nebius Token Factory、Groq、SambaNova、DigitalOcean、Hugging Face、Microsoft Foundry、Fireworks AI、Mistral AI、Cloudflare AI Gateway;OpenCode 新增硅基流动国内站和国际站(#4500);StreamLake 新增 Codex 预设,所有 StreamLake 预设改用公开的 KAT-Coder 接入点,不用再自己创建接入点 ID。

改进

会话日志扫描:后台更省资源,用量页更及时。 以前不管用不用得上,后台都每 60 秒把会话日志扫一遍,长时间开着 CC Switch 时,这部分读盘和 CPU 一直在消耗;而用量页的「自动刷新间隔」只是重新查一遍数据库,会话用量仍然要等这 60 秒,选 5 秒也没用(#8301)。现在这个设置改名为「会话日志扫描间隔」:打开用量页时立即扫描一次,窗口重新显示时再扫一次,之后按所选间隔(5、10、30、60 秒,默认 60 秒)扫描;后台扫描改为每 10 分钟一次,只作兜底,平时的后台消耗明显减少。「关闭」选项去掉了,关闭「自动扫描会话日志」时不显示这个设置。经路由的用量本来就是实时记录的,不受影响。

供应商搜索框不再遮挡或推开卡片。 搜索框以前浮在列表上方,会挡住第一张卡片的编辑和更多操作按钮(#8100)。现在它放在卡片上方那一行的最右端:Claude Code、Codex、Gemini CLI、Grok Build 放在模式那一行,其他应用放在「已添加」标题那一行。打开搜索时卡片既不被挡住,也不会被往下推。

界面语言。 新增土耳其语,由社区翻译,还没翻译的文字显示英文(#8208)。首次启动时,如果系统语言是界面不支持的语言(德语、法语、韩语等),界面和托盘改用英文,不再默认简体中文;已经选过的语言不受影响。

修复

  • 云同步恢复 Skills 失败一次之后,再也恢复不了(#8153)。Windows 上下载云同步时如果遇到文件被占用(os error 5),会留下 skills.bak,之后每次恢复都在处理它时失败。现在恢复时把云端的 Skills 完整复制到单独的目录再整体替换,不再复用 skills.bak;替换和回滚都失败时保留原来的完整副本,并在报错里给出它的位置。
  • Claude Code 经路由连接 OpenAI Responses 上游时,回复已经结束又收到一条错误(#8138)。上游在发完结束事件后才断开连接时,CC Switch 会在正常结束之后再补发一个流错误,客户端可能把完整的回复当成失败。现在结束之后的连接错误不再转发。
  • 在 MCP、提示词、定价编辑页再次点击侧栏的当前页面,会丢掉「有未保存的修改」的保护(#7900)。以前会弹出放弃更改的确认,确认后编辑页还开着,但之后离开页面就不再提醒,改动直接丢失。现在点击当前页面什么也不做。
  • 上游返回空错误内容时,错误信息结尾是一个孤零零的冒号(#6910),看起来像 CC Switch 吞掉了上游的说明。现在会写明「上游未返回错误内容」。
  • Pi 会话历史的速度一直显示「—」(#8278)。Pi 会话导入时耗时固定记成 0,现在按每条回复的请求开始时间和写入时间估算耗时,符合条件的记录能显示估算速度。
  • Pi 配置目录指向 WSL 时,每次写入都先尝试 WSL 不支持的系统调用(#8245)。启用 Skills、保存 AGENTS.md 时,现在直接使用在 WSL 路径上可用的写法;自动模式下同步 Skills 改为复制,手动选了软链接的仍会明确报错。
  • Windows 上自动更新重启后,读取 OpenCode、Codex 自带的模型列表时仍可能找不到工具(#8262)。v4.0.11 修好了安装和升级,这次把补全后的 PATH 也用到这两处;PATH 里 %PNPM_HOME% 这样的变量引用也会按用户和系统环境变量展开。

升级说明

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

  • 没打开用量页时,后台每 10 分钟扫描一次会话日志(以前是 60 秒),所以不经路由的用量最多晚 10 分钟进入统计;打开用量页会立即扫描。以前选了「关闭」的,改为 60 秒。
  • Pi 的速度估算只对升级后新导入的记录生效,已经导入的记录仍显示「—」。
  • 新预设和 StreamLake 的改动只影响新添加的供应商,已添加的 StreamLake 供应商仍使用原来的接入点 ID。
  • Claude Desktop 选择本地预设时,表单会清空 Key,需要手动填上占位值:Ollama 填 ollama,LM Studio 填 lmstudio,llama.cpp 填 no-key,vLLM 填 dummy;启动服务时设了 Key 的,填你设的值。

致谢

感谢 @funkpopo(用量页会话扫描间隔、「应用」页列对齐、卸载反馈与 Windows PATH 跟进、Pi 会话速度估算)、@xue-ding-e(Skills 恢复失败、Responses 回复结束后的流错误、搜索框遮挡卡片)、@alkank(土耳其语界面与托盘)、@AristurtleHu(Pi 配置目录在 WSL 时的写入)、@Owlbay(未保存更改保护)、@loulanyue(上游空错误内容)、@xwil1(OpenCode 硅基流动预设)、@Lingbou(Windows CI 测试超时)的贡献。

感谢 @HessianZ、@bubblevv、@JimMoen、@chufeng、@Wikian233 报告问题、提供复现信息和修复思路。

完整的技术细节请见 CHANGELOG。

Don't miss a new cc-switch release

NewReleases is sending notifications on new releases.