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

6 hours ago

CC Switch v4.0.10

4.0 正式版的第六个修复版本

这一版的重点是一键导入链接(ccswitch:// 深度链接):CC Switch 没在运行时点链接不会再丢;链接可以声明接口格式、导入 Pi 供应商、带上网站自己的图标;Codex 和 Grok Build 的链接保留供应商自带的配置,不再被换成固定模板;确认框里可以选导入后是否立即切换。同时发布了中、英、日三语的站长接入指南和在线链接生成器。供应商图标现在可以上传本地图片,存进「我的图标」后所有供应商都能选用;用量页新增首字时间,没开路由也能按会话日志估算。另外修复了路由模式下 Claude Code 的 haiku 档请求被要求思考的上游拒绝、v3.20 及更早用官方账号走路由留下的 Codex 会话打不开、Grok Build 第三方供应商生成不了会话标题等问题。4.0 完整的更新内容请见 v4.0 发布说明。

English → | 日本語版 →


一键导入链接

用户能感受到的变化

  • CC Switch 没在运行时点链接,不会再丢。 以前在 Windows 和 Linux 上,CC Switch 没开着时点一键导入链接,应用会启动,但导入确认框不出现;轻量模式下窗口重建时也会丢。macOS 上同一个链接会弹两次确认框。现在链接会先存下来,确认框显示出来之后才算处理完,中途被打断也不会丢,后到的旧链接也不会盖掉新链接。
  • 确认框里可以选导入后是否立即切换。 供应商链接的确认框新增「导入后立即切换到这个供应商」开关,默认关闭,打开时会提示客户端请求将改发到链接里的地址。OpenCode、OpenClaw、Hermes、MiniMax Code 这类共存式应用是「导入后立即添加到 OpenCode 配置」这样的开关,Pi 是「导入后立即在 Pi 中启用」,这两类默认打开;提示词是「导入后立即启用」。链接里的 enabled 只决定开关的初始状态。关掉开关就只保存供应商,不改客户端配置,即使这是该应用的第一个供应商。
  • 带用量查询脚本的链接,导入后默认开启用量查询。 站长在链接里附上脚本,就是想让你导入后直接看到余额,以前还要再手动打开一次。链接写了 usageEnabled=false 时仍然关闭;不带脚本的链接和以前一样。脚本在沙箱里运行,只能向供应商地址的同源 HTTPS 发一次请求,确认框里照常完整显示脚本内容。
  • Codex 链接保留供应商自带的配置。 链接带完整 config.toml 时,以前只取出 Key、地址和模型,再套进固定模板,供应商的认证方式、请求头、WebSocket 支持和模型目录地址都会丢。现在保留其中属于这个供应商的部分:连接和认证字段、模型、推理强度、上下文窗口、子代理模型等;模型目录地址只在和接口地址同源时保留,因为 Codex 拉取它时会带上供应商的凭据。[features]、MCP、权限这类全局设置不导入。会让 Codex 执行命令或读取本机凭据的供应商配置(auth、aws、gateway_oauth、env_http_headers)整条拒绝。不带配置的链接导入结果和以前逐字一致。
  • Grok Build 链接保留模型配置。 带 config.toml 的链接以前也会被换成固定模板,丢掉显示名、说明、接口类型和上下文窗口。现在保留 [models] default 指向的那张模型表,地址、Key 和模型仍以链接参数为准;用到 auth_provider、env_http_headers、mtls_cert_dir 的链接会被拒绝。一个供应商在 Grok Build 里只占一张表,所以其他模型表不导入。
  • 会被展开执行的值一律拒绝。 共存式应用会展开配置里的一些特殊写法:Pi 里以 ! 开头的值会被当成命令执行,$NAME / ${NAME} 会读环境变量;OpenCode 有 {env:} / {file:};OpenClaw 和 Hermes 有 ${...}。链接里出现这些写法时,可能执行命令,或者把本机的密钥和文件内容发到链接里的地址。现在解析链接、合并配置和生成供应商时都会检查,发现就拒绝导入。
  • 其他: 带 configUrl 的链接现在一打开就提示不支持,不会等你确认后才失败;提示词链接支持 MiniMax Code,MCP 链接支持 Pi 和 MiniMax Code;导入供应商后托盘菜单会立即刷新。

站长能用的新参数

  • apiFormat: 一个参数声明上游的接口格式(anthropic / openai_chat / openai_responses / gemini_native),CC Switch 会换成各应用自己的字段。Claude Code、Codex、Grok Build 的非原生格式需要开启本地路由;应用不支持的组合在解析时就会被拒绝。不带这个参数的链接行为不变。
  • Pi 供应商链接: 新增支持,导入后写进 Pi 的 models.json,链接必须带模型。
  • iconUrl: 填网站自己 logo 的 https 地址。确认框打开时就下载并显示在顶部,导入后作为卡片的自定义图标;下载失败不影响导入,卡片退回内置图标或名称首字母。图片会重绘成小尺寸 PNG 保存,地址本身不保存也不渲染。下载时只连公网地址,并锁定解析结果,防止第二次 DNS 解析指向别处;重定向逐跳检查,最多 3 跳。不走系统代理、不带 Cookie,5 秒超时,最大 256 KB,文件类型必须和内容一致。

站长接入指南和在线生成器

  • 站长接入指南(另有 English、日本語):怎么生成链接、怎么在页面上放「一键导入」按钮(点按钮时再向后端取链接,Key 不会出现在页面源码里)、用户没装 CC Switch 时显示什么、怎么附上用量查询脚本。用 New API 或 Sub2API 搭的站,Key 列表里已经自带「导入到 CC Switch」按钮;区别是 New API 的链接不带用量查询脚本,用户导入后看不到余额。
  • 在线链接生成器:从测试页改成给站长用的生成器,分供应商、MCP、提示词、Skill 四类,按应用列出可选的 apiFormat,内置用量脚本模板,填 icon / iconUrl 时按应用内同样的规则检查。用户手册里原来的生成器链接指向一个从没开通的 GitHub Pages 地址,打开是 404,现在手册和 README 都改指这里。

新增

供应商图标可以上传本地图片,存进「我的图标」反复使用。 图标选择器分成「我的图标」和「内置图标」两组,搜索框同时筛两组。点「我的图标」第一格的「上传」,选一张 PNG、JPG、WebP 或 SVG(不超过 2 MB),起个名字(默认是文件名)就存进「我的图标」并用在当前供应商上;以后其他供应商、其他应用都能直接选,不用再传一次,重复上传同一张图会复用已有的那条。鼠标移到图标上可以重命名或删除;卡片保存的是图片本身,所以重命名、删除都不影响已经在用它的供应商。图片会缩成 96×96 的 PNG,「我的图标」和供应商配置都随云同步带走,不在磁盘上另存文件;SVG 会先转成位图,里面的脚本和外部请求都不会执行,原始文件不进数据库。一键导入链接带来的网站图标会以「当前图标」显示,可以存进「我的图标」。选择器现在点一下图标就选好并关闭,去掉图标点搜索框旁的「清除图标」。

用量页显示首字时间。 路由服务一直记录首字时间,以前只在悬停提示和请求详情里能看到。现在供应商统计和模型统计新增「首字」列,取经路由服务的成功流式请求的中位数,偶尔排队、冷启动的慢请求不会把它拉高;请求日志在「速度」后面也加了「首字」列。没开路由时,按会话日志的时间戳估算,带 ≈ 显示:Claude Code 看以思考开头的回复,Codex 看较新版本写入的时间戳;以正文或工具调用开头的回复没有估算值。升级前导入的记录不补算。

用量查询新增 Sub2API 模板。 「配置用量查询」的模板里新增 Sub2API,只需要供应商的 Key 和地址,地址带不带 /v1 都行;会显示套餐名,额度不限的订阅不再显示成负余额。

新增预设: NekoCode(Claude Code、Claude Desktop、Codex、OpenCode、OpenClaw、Hermes、Pi,MiniMax Code 沿用 Pi 预设)。YYLX 在中文界面显示为「鱼鱼连线」(繁体中文为「魚魚連線」)。

修复

  • 路由模式下 Claude Code 的 haiku 档请求被上游拒绝(#8118)。路由模式往 settings.json 里写的是固定的模型别名,Claude Code 按别名决定怎么发思考参数。haiku 档以前写的是 claude-haiku-4-5,Claude Code 认为这个模型可以关思考,就发出关闭思考的请求,要求必须开思考的上游会直接拒绝。现在改成 claude-haiku-5-5,和 sonnet、opus 档的发法一致。路由本身仍按「haiku」关键词映射,选到哪个模型不变。
  • v3.20 及更早用官方账号走路由留下的 Codex 会话打不开(#7948)。v3.17 到 v3.20 用官方账号走本地路由时,Codex 把会话记在 cc-switch-official 名下;v4.0 不再写这张表,Codex 恢复这些会话时就会报「Model provider cc-switch-official not found」。现在 CC Switch 启动时会把它们移回 Codex 内置的 openai 分组,只改会话记录,不碰 config.toml。这些会话本来就用官方登录,Codex 也一直把它们当 OpenAI 处理,移动后行为不变。
  • Grok Build 用第三方供应商时生成不了会话标题(#7003)。没设 models.session_summary 时,Grok Build 用内置的 grok-4.6 生成标题,却把请求发到默认模型表的地址,第三方上游会拒绝。现在切换供应商时,session_summary 在没设或指向 CC Switch 写的表时会跟着指向当前供应商,切回官方账号时删掉;你自己设的内置模型或自己的表保持不动。
  • OpenRouter、Novita 余额为零时卡片显示「套餐已过期」(#8148)。余额为零或为负时,Key 其实还能用,卡片和托盘却显示套餐已过期。现在显示「余额已用完」;接口返回缺失或格式不对的余额时报错,不再当成零余额。
  • Codex 中途换模型后,用量记在了原来的模型上。 Codex 在线程设置里换模型时,日志里不一定会写新的轮次上下文,用量导入以前会把之后的请求记在上一个模型名下(没有更早记录时记成 unknown),价格也按原模型算。现在会读取这条设置。已经导入的记录不会自动改写,源会话日志还在的话,可以在用量页的「数据来源」里点「重建 Codex 用量」(重建前会自动备份数据库)。
  • 在设置里改了配置目录、还没点保存,改另一项设置时目录也被保存了(#7849)。其他设置自动保存时,现在只会带上已确认的目录;被放弃的草稿也不会再留在输入框里。
  • Windows 上打开添加或编辑供应商页面时窗口闪一下。 v4.0.9 修了编辑页先显示加载页的问题,但整页的淡入淡出在 Windows 上仍会闪。现在这两个页面不再做淡入淡出,其他页面不受影响。
  • Windows 上删掉的桌面快捷方式,每次更新都会被装回来。 MSI 升级会先卸载旧版再完整安装新版,以前每次都会重新创建桌面快捷方式。现在只在全新安装时创建;升级时只有原来的快捷方式还在才保留。

其他: 「连接模式」的说明改为先讲每种模式的长处:直连最原生,路由可热切换供应商、支持故障转移和格式转换,聚合可在客户端内无缝切换多家模型。用量页的所有表格列统一左对齐,请求日志里供应商和模型两列让出一些宽度给数字列。日文界面把「高級オプション」改为「詳細オプション」。

升级说明

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

  • 已经在用路由模式的 Claude Code,升级后启动 CC Switch 时会把新的 haiku 别名写进 settings.json,新开的 Claude Code 会话会用上。
  • Codex 会话的迁移在 CC Switch 启动时自动进行,每个 Codex 配置目录只做一次,改动前的会话记录备份在原有的会话分组迁移备份目录。如果你手动恢复过 cc-switch-official 表并且仍在使用,这次迁移会跳过。
  • 新增预设只影响新添加的供应商。

致谢

感谢 @funkpopo(OpenRouter 余额为零时显示套餐已过期、Codex 中途换模型后用量记错模型)、@hulkbig(设置自动保存时带上未确认的目录)、@NestorRay(Windows 上打开供应商页面时的闪烁)的贡献。

感谢 @hao-lin-lwh、@desmonna、@mossonli、@enderzcx、@nbcoming、@liyangdeamo-svg、@linhay、@aofee 报告问题、提供复现信息和帮忙验证。

完整的技术细节请见 CHANGELOG。

Don't miss a new cc-switch release

NewReleases is sending notifications on new releases.