Skip to content

Releases: farion1231/cc-switch

CC Switch v3.20.4

Choose a tag to compare

@github-actions github-actions released this 22 Sep 14:42

CC Switch v3.20.4

这一版以修复为主,另有一项新接入:MiniMax Code 成为第十个受管应用,供应商、MCP、Skills、提示词、会话浏览与用量统计一并接入,默认模型、登录和会话删除仍由 MiniMax Code 自己管。修复主要集中在经本地代理使用 Codex 的场景,四个会让 Codex 用不下去的问题在本版关闭:Codex 0.154 起放进 additional_tools 的工具让严格的 Chat 网关直接 400;一张 detail: "original" 的截图让整段会话此后每轮都 400;编辑或切走部分 Codex 供应商会悄悄清空已保存的 API Key;绑定到已删除 ChatGPT 账号的卡片既切不走,也改不了绑定。Claude Code 这边,GitHub Copilot 下的 auto mode 恢复可用,/effort 的 xhigh、max 与 Grok 4.6 的推理强度都按所选档位发送。Claude Desktop 的第三方配置现在也支持 Linux。本版含数据库迁移(v18 → v19),建议升级前手动备份一次数据库,见升级提醒。

English → | 日本語版 →


重点内容:你现在可以

  • 用 CC Switch 管理 MiniMax Code(#7383、#7578):第十个受管应用。供应商写进 ~/.minimax/config.yaml,与 MiniMax Code 自己的设置共存,多个供应商可以同时存在;MCP 与 ~/.minimax/mcp.json 双向同步;Skills 与 AGENTS.md 提示词库一并接入;预设来自 Pi 的预设目录,共 41 个。默认模型、登录与会话删除仍由 MiniMax Code 自己管,CC Switch 不碰。
  • 在看板里看到 MiniMax Code 的会话与用量:只读浏览会话、复制 resume 命令;用量以独立的「MiniMax Code (Session)」来源增量导入,首次同步会补齐历史。
  • 在 Linux 上给 Claude Desktop 切第三方供应商(#7331,修复 #4855):配置路径与 macOS、Windows 一致,Flatpak 版也能用。
  • Codex 0.154 及以后版本经 Chat 网关不再 400(#7454,修复 #7451、#6158):additional_tools 里的工具正确并入请求,不再变成一条 content: null 的 system 消息。
  • 一张截图不再毁掉整段 Codex 会话(#7476,修复 #6495、#7458):已经坏掉的会话升级后直接恢复,不用手动改历史。
  • 编辑或切走 Codex 供应商不再清空已保存的 API Key(#7434,修复 #7433)。
  • 删掉 ChatGPT 账号后,绑着它的 Codex 卡片能重新绑定或切走(#7395,修复 #7392)。
  • 在 GitHub Copilot 下用 Claude Code 的 auto mode(#5404,修复 #5175)。
  • /effort 选哪档就发哪档(#7318、#7531,修复 #7314、#5367):xhigh 不再被丢,映射到 Grok 4.6 的模型重新带上推理强度,GPT-5.6 与 GPT-6 Astra 的 max 不再降成 xhigh。
  • 没写描述的工具不再让整轮请求 400(#7319、#7378,修复 #7303)。
  • 在请求日志里看到每秒输出 token 数(#3369,修复 #5936)。
  • 在 OpenCode 供应商表单里搜索并批量添加模型(#7515,修复 #7423)。

使用攻略

  • Claude Desktop:本版新增的 Linux 配置路径、Flatpak 的边界,以及更新后的支持范围表。
  • 添加供应商:Codex 原生 Responses 直连与 Chat 路由转换的区别(「仅 Chat」示例改为点名百度千帆 Coding Plan 与阶跃 Step Plan),以及「隐藏 AI 署名」开关现在写入的三个字段。

Warning

唯一官方渠道声明(请务必阅读)

CC Switch 是完全免费、开源的桌面应用,不会向用户收取任何费用。请仅通过下列官方渠道获取本软件:

类别 唯一官方
官网 ccswitch.io
源码 github.com/farion1231/cc-switch
下载 GitHub Releases
作者 @farion1231
举报山寨 GitHub Issues

任何向你收费、要求充值、或索取登录凭据的"CC Switch"网站或客户端均为假冒。如果你被诱导支付了费用,请立即停止操作并通过 GitHub Issues 反馈。


概览

MiniMax Code 是 MiniMax 的编程智能体,终端版 mcode 与桌面版共用 ~/.minimax 数据目录。CC Switch 以累加模式管理它,与 OpenCode、Hermes、Pi 相同:每个供应商是 ~/.minimax/config.yaml 中 custom_provider 下的一项,多个供应商共存,写入时保留 MiniMax Code 自己的其他设置,并遵守它的配置文件锁。MCP 与 ~/.minimax/mcp.json 双向同步,Skills 部署到 ~/.minimax/skills/,提示词库写入 ~/.minimax/AGENTS.md;会话浏览是只读的,用量从 MiniMax Code 自己的数据库增量导入。接入范围刻意收得很紧:默认模型、登录、云端功能与会话删除都留给 MiniMax Code,本地代理接管、故障转移、托盘、通用配置片段与 Profiles 也不覆盖它。(#7383、#7578)

修复里分量最重的是经本地代理使用 Codex 的一组。Codex 0.154 起把插件、执行命名空间等额外工具放进一个 additional_tools 输入项,转换器把它当成消息,生成一条 content: null 的 system 消息,严格的 Chat 网关直接 400,里面的工具也被丢掉(#7454)。Codex 给截图标 detail: "original",这个值只在 Responses API 里合法,被原样搬进 Chat 请求后,方舟/豆包、日日新、GLM、vLLM 一类网关对整条请求返回 400;Codex 每轮都会重放完整历史,一张图就让这个会话从此每轮失败(#7476)。另外两个是账号数据问题:自带凭据来源的 Codex 供应商在编辑保存或切走时,已保存的 API Key 被 live 里的空 auth 覆盖(#7434);在认证中心删掉并重新登录 ChatGPT 账号后,绑着旧账号的卡片每次切换、接管和启动恢复都报「账号不存在」(#7395)。

Claude Code 经转换的请求也有几处修正:没写描述的工具不再以 "description": null 发出(#7319、#7378);GitHub Copilot 下 auto mode 的分类器不再因 stop 参数 400(#5404);/effort xhigh 不再被丢,映射到 Grok 4.6 的模型重新带上推理强度,GPT-5.6 与 GPT-6 Astra 的 max 不再降成 xhigh(#7318、#7531)。其余修复覆盖 Skills 安装(skills.sh 的 id 与目录名不一致、超过 1 万个文件的仓库,#6381、#7489)、提示词读回外部修改(#7194)、WSL 上的 OMO 统一配置(#7550)、关于页的版本探测(#7346、#7348)与 Windows 任务栏(#6348)。新功能方面,Claude Desktop 第三方配置支持 Linux(#7331),请求日志显示每秒输出 token 数(#3369),OpenCode 供应商表单可以搜索并批量添加获取到的模型(#7515)。

预设做了一轮维护:国内 Codex 预设按各家 Responses 文档对齐(Kimi For Coding 升到 K2.8 Preview、1M 窗口,DeepSeek 默认 deepseek-flash),MiniMax 国内站与百灵迁到当前官方域名,AICodeWith 的 Codex 族端点改正为 /v1,另新增几个预设。DeepSeek 在 2026-09-12 撤回了 V4 Pro 改按 V4.1 Flash 计价的公告,v3.20.3 提前执行的调价在本版改回高峰档。本版含数据库迁移:SCHEMA_VERSION 18 → 19,为 MCP 与 Skills 表加上 MiniMax Code 的启用列。

发布日期:2026-09-22

更新规模:46 commits | 156 files changed | +8,673 / -684 lines


新功能

MiniMax Code 成为第十个受管应用

MiniMax Code(app_type 为 mcode)的终端版与桌面版共用一个数据目录,默认是 ~/.minimax,可以用 MINIMAX_DATA_DIR(或旧的 MAVIS_DATA_DIR)改到别处。(#7383、#7578)

  • 供应商:累加模式,与 OpenCode、Hermes、Pi 相同。每个供应商是 ~/.minimax/config.yaml 中 custom_provider 下的一项,卡片算不算「已添加」只看文件里有没有它的键。表单沿用 OpenCode 风格的结构化编辑器,另有 JSON 编辑器,支持 anthropic-messages、openai-completions、openai-responses 三种 API 格式;预设从 Pi 的预设目录派生,发版时共 41 个。在 MiniMax Code 里新建的自定义供应商会在列表加载时导入,在那边做的修改也会同步回来;账号类供应商(kind 不是 custom 的)既不导入也不覆盖。写入时保留 config.yaml 里其他所有键,遵守 MiniMax Code 自己的 config.yaml.lock 目录锁(超过 10 秒的锁会被回收,否则保存失败并提示重试),原生文件写入失败时数据库改动回滚。在 config.yaml 里删掉某个供应商后,它的卡片会立即刷新为未添加,可以再次添加(#7578)。
  • 默认模型归 MiniMax Code 管:CC Switch 从不写 defaultModel / defaultLightModel。某个供应商或模型正被这两项引用时,CC Switch 拒绝删除或停用它,需要先在 MiniMax Code 里换一个默认模型。
  • MCP:与 ~/.minimax/mcp.json 双向同步。编辑只替换传输字段(command、args、env、url、headers、type),timeout 这类原生选项会保留;同 id 但传输方式不同的服务器会跳过并提示,不会覆盖;全量重新同步不会删除开关关闭的条目,只有显式停用或删除才会移除。数据库提交失败时原生文件会还原。
  • Skills 与提示词:Skills 部署到 ~/.minimax/skills/,沿用 Pi 的归属检查,同名但不是 CC Switch 部署的 Skill 一律不动。提示词库把启用的提示词写进 ~/.minimax/AGENTS.md:切换前先把文件里的外部修改写回当前提示词;还没有启用任何 MiniMax Code 提示词时,文件里对不上的内容先存成一条备份提示词。停用最后一个提示词时清空文件;单个提示词上限 32 KiB(按 UTF-8 字节计)。
  • Deep link:MCP deep link 的 apps 支持 mcode;MiniMax Code 的供应商 deep link 会被拒绝。
  • 不在本版范围内:MiniMax Code 的原生登录与云端功能、本地代理接管与故障转移、托盘入口、通用配置片段、统一供应商、Profiles(MiniMax Code 页面隐藏 Profile 切换器)、单卡供应商检测、设置里的目录覆盖,以及在「设置 → 关于」里安装或升级。

MiniMax Code 的会话与用量进入看板

会话浏览器以只读方式打开 ~/.minimax/v2/sqlite/runtime-state.sqlite,列出 MiniMax Code 的对话(隐藏、归档、子会话以及 peek/channel/cron 会话不列),每个会话提供 resume 命令 env MINIMAX_DATA_DIR=<dir> mcode --session <id>(Windows 上是 PowerShell 写法)。会话与 MiniMax Code 的运行状态绑定,所以界面上不能删除,后端也会拒绝。

用量从同一个数据库的 local_runtime_token_usage 表增量导入,来源为「MiniMax Code (Session)」,看板有独立的应用筛选。推理 token 计入输出;模型 id 取第一个 / 之后的部分(custom_provider:router/vendor/model 记为 vendor/model)。MiniMax Code 自己算出的 cost_usd 是有限的非负数时直接采用,缺失、为负或非有限值时改按 CC Switch 的定价表计算;原生费用恰好为 $0 的行按 $0 入库,但和其他有 token 的 $0 行一样,一旦该模型在定价表里有了价格,就会被共享的费用回填重新计价。与 Pi 一样,含 MiniMax Code 的合计带「缓存写入数据不完整」的提示。(#7383)

Claude Desktop 第三方配置支持 Linux

此前在 Linux 上写 Claude Desktop 第三方配...

Read more

CC Switch v3.20.3

Choose a tag to compare

@github-actions github-actions released this 11 Sep 16:10

CC Switch v3.20.3

如今主流开源模型的官方 API 大多已原生支持 OpenAI Responses 格式。本版把 Codex 里 Kimi 的两条预设也从 Chat Completions 转换改为原生 Responses 直连——至此 DeepSeek、智谱 GLM、千问、MiniMax、小米 MiMo、LongCat、Kimi 这些主流开源模型的官方 Codex 预设全部直连厂商端点,连同火山豆包与腾讯混元,不再需要开本地路由做格式转换。如果你的 Codex 卡片还是早先添加的 Chat 格式,重新添加一次预设,或在编辑页把「上游格式」改成 Responses,就能直连。其余是一波由贡献者主导的正确性修复:空 reasoning_content 占位符不再让 Claude Code 被空 Thought 块刷屏、Codex 长任务不再在一句进度汇报后戛然而止、Claude Desktop 的模型探针不再在 Responses 上游下误报「不可用」、每次退出都把 Claude 的代理重试与超时抄给 Codex/Gemini/Grok Build 的串写关闭、统一供应商同步不再清空子卡设置;Codex 侧补上省略 model_provider 时的代理路由、Windows 上正在增长的会话用量、托盘里托管账号的额度。预设与定价做了一轮维护:聚合平台目录刷新、千问AI平台改名并升到 Qwen 3.8、MiniMax 默认 M3、DeepSeek V4 家族按 V4.1 Flash 档调价。本版不含数据库迁移。

English → | 日本語版 →


重点内容:你现在可以

  • 在 Codex 里直连 Kimi,走原生 Responses:Kimi 开放平台与 Kimi For Coding 两条预设从 openai_chat 改为 openai_responses,Codex 直接连厂商的 /v1/responses,不再需要开本地路由做 Responses→Chat 转换。至此 DeepSeek、智谱 GLM、千问、MiniMax、小米 MiMo、LongCat、Kimi 这些主流开源模型的官方 Codex 预设全部直连;仍只提供 Chat Completions 的端点(百度千帆、腾讯 Token Plan、QwenCloud For Coding、StepFun、百灵、ModelScope 与各聚合平台)继续经本地路由转换。如果你现有的卡片还是早先添加的 Chat 格式(Kimi,以及前几版已切换的 DeepSeek、GLM 等),重新添加一次预设,或在编辑页把「上游格式」改成 Responses,即可直连;详见升级提醒。
  • Claude Code 不再被空 Thought 块刷屏(#7227,修复 #5028、#4404):GLM、Qwen、DeepSeek 一类在每个 chunk 里带空 reasoning_content 占位的上游,不再让每个 token 变成一行外加一个空思考块。
  • Codex 长任务不再在一句进度汇报后戛然而止(#7280,修复 #6529):经 Chat 上游时,commentary 与紧随的工具调用合并进同一条 assistant 消息,上游不再提前 stop。
  • Claude Desktop 在 Responses 上游下不再报「模型不可用」(#7287,修复 #7103):探针的 max_tokens=1 在转换时夹到 Responses API 允许的最小值 16。
  • 退出后 Codex、Gemini、Grok Build 的代理重试与超时设置不再被 Claude 的覆盖(#7210,修复 #7204)。
  • 同步统一供应商不再清空子卡的用量脚本、通用配置退出与排序(#7212,修复 #7134)。
  • 没写 model_provider 的 Codex 卡接管时也走本地代理(#7263,修复 #6256),不再悄悄直连 api.openai.com。
  • Windows 上正在增长的 Codex 会话用量不再漏采(#7219,修复 #6060):mtime 不动时也按文件大小判定。
  • 托盘显示托管 Codex 卡所绑 ChatGPT 账号的额度(修复 #7267):绑定多个账号时不再只剩名字。
  • 看到 Claude Fable 的周限额:供应商卡片与托盘都解析用量 API 新的 limits[] 数组。
  • 一键禁用 Claude Code 的 Artifact 工具:DeepSeek 等严格校验工具 schema 的网关不再对每个请求返回 400。
  • DeepSeek 官方 Codex 预设能读图(#7286,修复 #7283);deepseek-flash 与 V4 家族按 V4.1 Flash 档记账,不再按 $0 或旧高峰价。
  • 一键添加 千问AI平台 Token Plan(#7183);千问AI平台升到 Qwen 3.8、MiniMax 默认 M3(#7255)、聚合平台 Codex 目录刷新。

使用攻略

  • 添加供应商:Codex 的原生 Responses 直连与 Chat 路由转换的区别、Claude 快捷开关表(含新增的「禁用 Artifact 工具」),以及「预设改动只影响新建供应商」的含义。
  • 请求路由:接管模式下的配置改写与恢复——本版 Codex 缺 model_provider 时的路由修复落在这条路径。
  • 用量统计:Codex 会话解析与定价配置,本版的字节游标与定价回填口径。

Warning

唯一官方渠道声明(请务必阅读)

CC Switch 是完全免费、开源的桌面应用,不会向用户收取任何费用。请仅通过下列官方渠道获取本软件:

类别 唯一官方
官网 ccswitch.io
源码 github.com/farion1231/cc-switch
下载 GitHub Releases
作者 @farion1231
举报山寨 GitHub Issues

任何向你收费、要求充值、或索取登录凭据的"CC Switch"网站或客户端均为假冒。如果你被诱导支付了费用,请立即停止操作并通过 GitHub Issues 反馈。


概览

主流开源模型的官方 API 如今大多已原生提供 OpenAI Responses 端点,Codex 也早已以 Responses 为唯一原生协议。此前 CC Switch 对这些模型的 Codex 预设分两种形态:厂商端点原生支持 Responses 的直连,只提供 Chat Completions 的则由本地代理把 Codex 的 Responses 请求转换成 Chat、再把流式响应转换回来。转换路径能用,但多一层翻译就多一处出错的地方——本版修的 #7280 正是这类转换缺陷。Kimi 开放平台与 Kimi For Coding 的端点现在都原生提供 /v1/responses,官方 Codex 接入指南也要求 wire_api = "responses",于是这两条预设改为原生 Responses 直连。至此 DeepSeek、智谱 GLM、千问(千问AI平台 / QwenCloud)、MiniMax、小米 MiMo、LongCat、Kimi 这些主流开源模型的官方 Codex 预设全部直连厂商端点,连同火山豆包与腾讯混元;仍只提供 Chat Completions 的端点(百度千帆、腾讯 Token Plan、QwenCloud For Coding、StepFun、百灵、ModelScope 与各聚合平台)继续经本地路由转换,手册的「仅 Chat」示例也改为点名这些供应商。

其余是一波由贡献者主导的正确性修复,关闭了几个挂了数月的 issue。代理侧:在每个 chunk 里保留空 reasoning_content 占位的 OpenAI 兼容上游不再让 Claude Code 被空 Thought 块刷屏、逐 token 换行;Codex Responses→Chat 转换器不再把 commentary 消息与紧随的工具调用拆成两条 assistant 消息——这曾让长任务在一句进度汇报后就结束;Claude Desktop 的一 token 模型探针夹到 Responses API 的最小值,映射模型不再被报为「不可用」;Codex 路由下的图片生成补上贴完整端点、大小写后缀与流式用量三处。两个数据完整性问题关闭:每次正常退出都把 Claude 的重试与超时设置抄到 Codex、Gemini、Grok Build 的代理行;同步统一供应商会清空子卡的用量脚本、通用配置退出与端点自动选择,并把卡片挤到列表底部。Codex 侧:卡片省略 model_provider 时接管现在尊重代理地址;用量导入经持久化的字节游标在 Windows NTFS 上识别正在增长的 rollout;托盘为托管 Codex 卡显示所绑 ChatGPT 账号的额度;Claude Fable 的周限额出现在卡片与托盘。Claude 供应商编辑器新增「禁用 Artifact 工具」快捷开关,给拒收 Claude Code Artifact 工具 schema 的网关用。

预设侧:聚合平台 Codex 预设刷新到当前目录,DashScope/百炼改名千问AI平台并升到 Qwen 3.8(#7183),MiniMax 默认改到 M3(#7255),内置 DeepSeek Codex 目录镜像支持视觉的 deepseek-flash(#7286),DeepSeek V4 家族按 V4.1 Flash 档调价。本版不改数据库 schema。

发布日期:2026-09-11

更新规模:22 commits | 62 files changed | +3,458 / -802 lines


新功能

Claude 供应商编辑器新增「禁用 Artifact 工具」快捷开关

部分第三方 Anthropic 兼容网关(DeepSeek 在列)用严格的正则校验器检查工具 JSON Schema,拒收 Claude Code 的 Artifact 工具在其 str_replace 数据库能力铺开后发出的 Unicode 属性转义(\p{Cc}、\p{Cf} 等)——此后每个请求都 400 Invalid schema for function 'Artifact',与所选模型无关。Claude 快捷开关旁新增第六个复选框,在供应商上设置 env.CLAUDE_CODE_DISABLE_ARTIFACT="1",把 Artifact 工具整个排除出 tools 数组;取消勾选时像其他开关一样删掉该键。四语文案与手册(zh/en/ja)的开关表已同步。

Claude Fable 的周限额出现在供应商卡片与托盘

Claude OAuth 用量 API 现在把按模型的周限额放在顶层 limits[] 数组里(kind: "weekly_scoped",带 scope.model.display_name 与 percent),不再是独立的顶层窗口;解析器只读旧窗口,Fable 的限额从未显示过。limits[] 现在解析进 seven_day_fable、seven_day_opus 与 seven_day_sonnet——scoped 行覆盖同名旧窗口,重复与畸形行跳过,旧窗口、额外用量与未知窗口都保留。托盘给 Fable 单独一组标签,不再并进周 max 值;四语补「Fable」标签。

新增预设

千问AI平台 Token Plan(#7183)加入 Claude Code、Claude Desktop、Codex、Hermes、OpenClaw、OpenCode 与 Pi 七个应用的预设库,与下文的改名同批。存量供应商不受影响。

deepseek-flash 与 deepseek-v4-flash-vision-exp 的定价行

deepseek-flash 是 DeepSeek 目前唯一推荐的 id,deepseek-v4-flash-vision-exp 是官方安装脚本 1.2.0 之前写入的旧视觉名;两者都由 V4.1 Flash 服务,按其 $0.30/$1.20 每百万、缓存读 $0.006 计费。此前两者都没有行,而 LIKE '{id}-%' 的前缀回退只匹配更长的 id,这两个 id 下的请求一律按 $0 入账。


变更

Kimi 的 Codex 预设改为原生 Responses 直连

Kimi 开放平台(api.moonshot.cn/v1)与 Kimi For Coding(api.kimi.com/coding/v1)现在都原生提供 /v1/responses,官方 Codex 接入指南要求 wire_api = "responses",于是两条预设从 openai_chat(本地代理做 Responses→Chat 转换、必须开路由接管)改为 openai_responses(Codex 直连)。两个端点都用真实密钥按 Codex 0.153.4 的完整请求形态实测(reasoning.encrypted_content、reasoning.summary、托管 web_search、回放的 reasoning 项),并用 codex exec 跑通端到端工具循环。kimi-k3 成为开放平台的默认模型与目录首行,kimi-k2.7-code 保留为第二行;只对 Chat 转换有意义的 codexChatReasoning 从两条预设移除,Kimi For Coding 的 promptCacheRouting 也去掉——原生路径上 Codex 自己发 prompt_cache_key;每个 Kimi 行声明 supportsParallelToolCalls,与官方 Kimi Code models.json 一致;不声明 reasoning 默认值,因为 config.toml 的 model_reasoning_effort 优先于目录默认值,后者只标记 /model 选择器。手册(zh/en/ja)的「仅 Chat」示例改为点名仍走 Chat 路由的供应商,「Kimi Code 拒收 codex-cli user agent」的过时说明已纠正。无后端改动。

聚合平台的 Codex 预设刷新到当前目录

SiliconFlow(.cn)默认改为 deepseek-ai/DeepSeek-V4-Flash(1M 窗口,high/max 档,显式的 enable_thinking/reasoning_effort 约定),因为国内站的 MiniMax M2.5 已下线;Atlas Cloud 改为 zai-org/glm-5.2,其 Coding Plan 包含的最新 GLM(1M 窗口);Novita 改为 zai-org/glm-5.3(1M,纯文本);NVIDIA NIM 改为 moonshotai/kimi-k3(1M,文本+图片;NIM 接受 reasoning_effort 的 low/high/max、字段缺省时按 max,预设显式钉 high 与其 config.toml 一致);OpenCode Go 的 GLM/Kimi 条目更新——glm-5.3(新默认)、glm-5.3-flash 与 kimi-k3 替换 glm-5.2、glm-5.1 与 kimi-k2.7-code,窗口、模态与档位按 models.dev 镜像,DeepSeek V4 Pro/Flash 与 MiMo V2.5 Pro 行保留。平台未文档化新模型思考/档位约定的(Atlas Cloud、Novita),预设带一条显式的空覆盖,后端不再按模型名注入厂商原生思考字段。

DashScope/百炼预设改名千问AI平台并升到 Qwen 3.8(#7183)

国内百炼预设改名千问AI平台,配专属图标,控制台与 API Key 链接改到 platform.qianwenai.com;Qwen 系列在 Claude Code、Claude Desktop、Codex、Hermes、OpenClaw、OpenCode 与 Pi 七处升到 3.8 代——Opus/Sonnet/Haiku 角色对应 qwen3.8-max / qwen3.7-plus / qwen3.8-flash,统一使用官方的 983,616 token 窗口;国内 Bailian For Coding 预设(Claude Code、Claude Desktop、Hermes)改名 千问AI平台 Coding Plan,端点不变;OpenClaw/OpenCode/Pi 的模型元数据对齐官方客户端文档。国际 QwenCloud 预设保留名称、换专属图标;按量付费预设升到 Qwen 3.8,Token Plan 预设与之对齐(Codex 与 Hermes 本已带 3.8 行),QwenCloud For ...

Read more

CC Switch v3.20.2

Choose a tag to compare

@github-actions github-actions released this 07 Sep 14:25

CC Switch v3.20.2

这一版仍以 Codex 为主线,但形态从上一版的「一次重设计」变成「一波兼容性修复」:Grok 终于能经 xAI 原生 Responses API 在 Codex 路由下跑通——xAI 拒收的工具 schema、Codex 拒收的整数浮点、多智能体注入的邮箱消息、xAI 不认识的 Codex 角色型号,四道坎逐一拆掉;围绕它的一族「一因一果」修复:Grok OAuth 卡不再被 v3.20.1 的切换闸误拦、接管不再把 Codex 卡在登录屏、GPT-6 走 Codex OAuth 不再报「需要更新 Codex」、Claude Code 在 Codex OAuth 上恢复并行工具调用、内置图片生成走通本地路由、四个 catalog 缺陷(旧版 Codex 拒载、DeepSeek 下 MCP 工具全隐身、视觉型号被判纯文本、Kimi 工具 schema 400)关闭,智谱 GLM 预设改指官方 Responses 端点。用量侧,Codex resume 后统计停摆与代理每轮打断前缀缓存两条硬修复落地。预设阵营新增腾讯云 Token Plan、QwenCloud、AICodeWith 与两家赞助商 9527CODE、SoleAPI,定价表补入七个新模型并做了一轮九月调价。本版不含数据库迁移。

English → | 日本語版 →


重点内容:你现在可以

  • 在 Codex 里经 xAI 原生 Responses 跑 Grok(#6917,修复 #6815):xAI 拒收的 Codex Desktop 工具 schema 被折叠、Grok 回传的整数浮点被改写、多智能体子任务的 agent_message 被翻译成普通消息、gpt-5.6-sol 一类角色型号被映射到你配置的 Grok 模型——子智能体不再 422,工具调用不再被拒。
  • 正常切换 Grok OAuth 卡、正常接管:v3.20.1 的无密钥安全闸误拦了代理注入令牌的 OAuth 卡;接管在直接切换删除 auth.json 之后不再把 Codex 困在登录屏。
  • 用 GPT-6 走 Codex OAuth 接管(#7132):自报的 Codex 客户端版本升到 0.153.4,不再被 ChatGPT 后端以「需要更新 Codex」拒绝。
  • 让 Claude Code 在 Codex OAuth 上并行调用工具(#7024,修复 #5719):parallel_tool_calls 默认改为 true,每轮不再只允许一个工具调用。
  • 在 Codex 路由下使用内置图片生成与编辑(#7036,修复 #5429、#6745):/images/generations 与 /images/edits 两条路由经本地代理透传,用量按 token 记账。
  • 在 DeepSeek 原生预设下看到 MCP 工具(#6653,修复 #6647):catalog 不再声明 DeepSeek 不支持的 tool_search,MCP 工具直接列出。
  • Codex 桌面端经本地代理接 Kimi/Moonshot 不再必现 400(#6863,修复 #6867):带兄弟关键字的 $ref 只对 Moonshot 域名改写成 allOf,其他供应商的 schema 逐字节不变。
  • 让智谱 GLM 在 Codex 直连(#6957,修复 #6944):预设改指官方 Responses 端点 /api/v1、默认 glm-5.3,存量卡需重新导入。
  • resume 之后用量继续累计(#6905,修复 #6904):回退过的线程再 resume 时写入的双 UUID rollout 文件不再被永久搁置,积压用量自动回填到原日期。
  • 在 OpenAI 格式上游重新命中前缀缓存(#6941,修复 #6789):Claude Code 每轮注入的中途 system 消息不再被合并到对话开头,DeepSeek、GLM、Kimi 一类端点的缓存命中率不再从 99% 掉到 20%。
  • 一键添加新供应商:腾讯云 Token Plan(六应用,#7011)、QwenCloud(七应用,#6214)、AICodeWith(八应用)、赞助商 9527CODE 与 SoleAPI(九应用);Pi 补齐腾讯 TokenHub / Token Plan(#7159)与 PPIO(#6870)。
  • 看到 Fable 5.1 / Mythos 5.1、GPT-6 Astra、GLM-5.3、Gemini 3.8 Flash 的真实成本:此前这些请求按 $0 记账;Sonnet 5 按 Anthropic 转正口径改回 $2/$10。
  • 再次看到 Hermes 的升级按钮:最新版本改读 GitHub Releases,不再永远停在 PyPI 的 0.19.0。

使用攻略

  • 添加供应商:新增预设的导入入口,以及「预设改动只影响新建供应商」的含义。
  • 请求路由:Grok 经 xAI 原生 Responses、Codex 图片端点透传都走这条路径。
  • 用量统计:定价表回填与 resume 积压用量的记账口径。

Warning

唯一官方渠道声明(请务必阅读)

CC Switch 是完全免费、开源的桌面应用,不会向用户收取任何费用。请仅通过下列官方渠道获取本软件:

类别 唯一官方
官网 ccswitch.io
源码 github.com/farion1231/cc-switch
下载 GitHub Releases
作者 @farion1231
举报山寨 GitHub Issues

任何向你收费、要求充值、或索取登录凭据的"CC Switch"网站或客户端均为假冒。如果你被诱导支付了费用,请立即停止操作并通过 GitHub Issues 反馈。


概览

v3.20.1 之后的开发依旧由 Codex 领衔,但这一次是一波兼容性修复而不是一次重设计。最长的一条线是 Grok:xAI 的原生 Responses API 在几处与 Codex 的假设相左——它在采样前就拒收 Codex Desktop 的工具 schema、Grok 回传的 JSON 整数带小数点而 Codex 的解析器拒收、Codex 多智能体模式注入的 agent_message 邮箱项 xAI 无法反序列化、Codex 自己的角色型号(如 gpt-5.6-sol)xAI 直接 404。本版把这四道坎在同一个原生 Responses 闸门后逐一拆掉,Grok 终于能在 Codex 路由下完整工作,包括子智能体。

围绕它是一族「一因一果」的修复:v3.20.1 引入的无密钥安全闸误拦了代理注入令牌的 Grok OAuth 卡;直接切换删掉 auth.json 之后再开接管,Codex 会被过时的 requires_openai_auth = true 困在登录屏;GPT-6 走 Codex OAuth 接管被后端以客户端版本过旧拒绝;Claude Code 在 Codex OAuth 上被强制串行调用工具;内置图片生成在本地路由下 404;四个 catalog 缺陷——旧版 Codex 拒载 catalog、DeepSeek 预设下 MCP 工具全部隐身、DeepSeek 视觉型号被判纯文本、Kimi 工具 schema 必现 400——各自关闭;智谱 GLM 预设从 Chat 端点改指官方 Responses 端点。用量侧两条硬修复:Codex resume 之后统计静默停摆,以及代理把 Claude Code 每轮注入的中途 system 消息合并到开头、打断上游前缀缓存。

预设库新增腾讯云 Token Plan、QwenCloud、AICodeWith 与赞助商 9527CODE、SoleAPI,Pi 补齐腾讯与 PPIO;定价表补入七个新模型行并按各厂商九月官方价页做了一轮调价。本版不改数据库 schema。

发布日期:2026-09-07

更新规模:52 commits | 71 files changed | +10,483 / -573 lines


新功能

新增预设

腾讯云 Token Plan(六产品 × 六应用,#7011)、QwenCloud(三计划 × 七应用,#6214)、AICodeWith(八应用)与两家赞助商 9527CODE、SoleAPI(九应用)加入预设库;Pi 补齐腾讯 TokenHub / Token Plan(#7159)与 PPIO(#6870)。存量供应商不受影响;需要重新导入的情形见升级提醒。

七个新模型的定价行

Claude Fable 5.1 与 Mythos 5.1:$10/$50 每百万,缓存读 $0.25、缓存写 $12.50(#7051,修复 #7050)——此前没有行,这些请求一律按 $0 入账,因为前缀规则只找更长的带日期 id、无法回落到 claude-fable-5;GLM-5.3:$1.40/$4.40,缓存读 $0.26,与 Z.ai 官方价一致(#6591);GLM-5.3 Flash:$0.15/$0.50,缓存读 $0.03(#7163);GPT-6 Astra:$10/$50,缓存读 $1、缓存写 $12.50,low/medium/high/xhigh 后缀回落到基础行(#7162);Gemini 3.8 Flash:$0.75/$3.75,缓存读 $0.075,无缓存写费(#7164);Qwen3.8 Flash:$0.15/$0.47,1M 窗口内不分档,缓存读/写 $0.016/$0.20。全部只是 seed 行、不改 schema;存量安装下次启动即拿到,启动时的成本回填会把这些 id 此前按 $0 记录的历史行补上价格。


变更

2026 年 9 月定价刷新

Sonnet 5 改回 $2/$10——Anthropic 价页现已注明介绍价即标准价、9 月 1 日涨到 $3/$15 的计划不再执行——并带一条守卫修复:仍是 seed 值 3/15/0.30/3.75 的安装被纠正,用户自定义过的行不动(#7051)。GPT-5.6 Sol、裸名 gpt-5.6 及其五个档位后缀行同步从 $5/$30(缓存读 $0.50、写 $6.25)降到促销价 $4/$20(缓存读 $0.40、写 $5),至少持续到 2026-11-21。Gemini 3.6 Flash 从 $1.50/$7.50/$0.15 降到与 3.8 Flash 相同的介绍价 $0.75/$3.75/$0.075,至 2026-12-31。MiniMax M2、M2.1、M2.5 统一为官方按量价 $0.30/$1.20,缓存读 $0.03、缓存写 $0.375——后者此前记为零。每项调价都是 seed 加一条按旧值守卫的修复条目,追加在既有链条之后,老数据库会逐级经过中间价位。


修复

Grok 经 xAI 原生 Responses API 在 Codex 路由下跑通

一组贡献者提交关闭了原生 Responses 通往 xAI 路径上四个互相独立的故障。xAI 在采样前就拒收 Codex Desktop 的内置工具 schema,于是请求路径上折叠根级 oneOf/anyOf 函数参数(#6815),各分支的 required 取交集而不是并集,压平后的 oneOf 不会强求所选分支没有的字段。Grok 回传的 JSON 整数带小数点,Codex 的解析器拒收为整数,于是已完成 function_call 参数里的整数浮点被改写(恰好 2^64 现在直接拒绝而不是静默改写差一)。Codex 多智能体模式注入的 agent_message 邮箱项 xAI 无法反序列化,每个子任务在任何工具运行前就 422,于是这些项被改写成普通 user 消息、加密内容压平为文本。xAI 对 Codex 的角色型号(如 gpt-5.6-sol)直接 404,于是未知的请求模型被映射到供应商配置的模型(catalog 里的 grok-4.5 一类与任何 grok 前缀 id 原样放行),且映射先于清洗执行,落到 grok-4.5 上的子智能体也会被剥掉不支持的采样字段。全部逻辑收在一个原生 Responses 闸门后的独立模块里,便于在上游覆盖同样场景之前 rebase 或 cherry-pick。grok-4.5 的 xAI 预设现在声明 low/medium/high/xhigh:2026-08-30 实测该端点接受这四档、对 max 报 HTTP 400,而 Codex 不会把目录外的档位夹回范围。(#6917)

切换到 Grok OAuth 的 Codex 卡不再被拒绝

v3.20.1 的 config-only 切换重构把无密钥安全闸推广到所有写入路径,误伤了代理托管的 OAuth 卡(xAI Grok OAuth):它们本来就无密钥——本地代理逐请求注入真实令牌——但预设快照继承了 0.149 之前模板的 requires_openai_auth = true,安全闸把它当作「会回落到官方登录」而拒绝切换。修的是快照而不是给闸门开例外:对代理注入的 OAuth 供应商(xAI OAuth 与 GitHub Copilot;Codex OAuth 刻意排除,官方登录就是它的凭据)在活跃自定义表上把该标志强制为 false,挂在共享的有效供应商构建器里,预检、普通写入与代理备份/接管投影看到同一形状,Codex 0.149 无需读 auth.json 即判定为未鉴权。预设源头现在就输出 false,存量卡在下一次切换时自愈。

接管不再把 Codex 困在登录屏

「非接管切换时保留官方登录」关闭(默认)时,直接切换到第三方供应商会删除 ~/.codex/auth.json;此后再开启代理接管,config.toml 从存量卡重建,而卡上仍带 0.149 之前的 requires_openai_auth = true,于是 Codex ≥ 0.149 即使已有代理占位 bearer token 也停在登录屏——接管中执行 codex logout 后热切换也踩同一个坑。接管写入器现在按 Codex 自己会观察到的登录状态戳记活跃自定义表的标志,与直接切换的计划对齐:先按 Codex 的规则解析鉴权模式(显式 auth_mode 优先,其次个人访问令牌、Bedrock API 密钥、Bedrock 访问密钥、OPENAI_API_KEY、ChatGPT)再核对凭据,紧邻过期 API 密钥的 Bedrock 凭据永远不会被抬举为 OpenAI 登录;先判定凭据存储再碰 auth.json——keyring 与 auto 存储无法从磁盘判定、保留卡上原值,ephemeral 存储一律视为未登录,只有 file 存储才读文件,文件缺失、不可读或损坏都视为未登录且不再让接管写入失败。代理注入的 OAuth 卡无论磁盘上是什么都保持中和后的 false;官方透传与托管官方分支不动。

重复的托管 ChatGPT 账号会被拒绝

普通托管账号登录若 ChatGPT workspace 与 稳定用户身份(id_token 的 subject)同时匹配已有账号,会以本地化提示拒绝而不是新建第二行。检查在存储锁内执行,并发完成的登录无法漏进重复;刷新锁现在只在定向重鉴权时获取,被拒的添加不会留下锁条目。同一 workspace 的不同用户仍可并存。(#7061)

GPT-6 走 Codex OAuth 接管不再被拒为「需要更新 Codex」

Claude 转 Codex OAuth 路由上的 gpt-6-astra 请求自报 Codex 0.144.1,低于该模型 0.153.0 的最低客户端版本,ChatGPT 后端回 HTTP 400。自报版本升为 0.153.4,originator 与版本常量在生成与模型发现之间共享——后者此前发的是 cc-switch 自己的包版本与 o...

Read more

CC Switch v3.20.1

Choose a tag to compare

@github-actions github-actions released this 28 Aug 00:43

CC Switch v3.20.1

这一版围绕 Codex 补两笔硬账:适配 Codex CLI 0.149——第三方切换 401「Missing API key」的根治:切换改为 config-only,密钥随供应商表走、不再进 auth.json,一族让 0.149 拒绝启动的历史配置形态也在每次切换时自动修复;同一 ChatGPT Team workspace 的多个账号不再互相覆盖——存量托管账号需逐个重新登录一次(见升级提醒)。数据可靠性另有三条硬修复:供应商编辑必达 live 配置、Codex 编辑框不再串染别张卡的密钥、恢复备份不再清空手写的 prompt 文件。用量侧新增「自动扫描会话记录」开关,大会话文件的扫描从秒级降到毫秒级。本版包含数据库迁移(v17 → v18),升级前自动备份,降级需还原备份。

English → | 日本語版 →


重点内容:你现在可以

  • 在 Codex CLI ≥ 0.149 上正常切换第三方供应商(#6744):0.149 起自定义 provider 不再从 auth.json 继承环境凭据,以旧默认方式(密钥只写 auth.json)完成的第三方切换一律 401。切换现已整体改为 config-only——密钥写进供应商自己的 [model_providers.*] 表(experimental_bearer_token,Codex 0.48 起支持),auth.json 回归纯粹的官方 ChatGPT 登录文件。
  • 让同一 Team workspace 的多个 ChatGPT 账号安全共存(#6780,修复 #2245):此前账号以 workspace ID 为主键,同一 Team 两名成员会合并成一条记录、后登录者静默覆盖前者的令牌。现在同 workspace 登录并存为独立账号行,接管下的请求还会校验账号一致性——绝不把账单记到另一名成员头上。
  • 相信「保存成功」四个字(#6779):崩溃残留的接管备份行曾让活跃供应商的编辑只更新数据库、真正的配置文件纹丝不动。所有权判定已重建,编辑必达 live 配置。
  • 在编辑框里看到这张卡自己的密钥(#6534,修复 #6414):共享的 auth.json 没有供应商身份,编辑活跃 Codex 供应商可能显示——保存后固化——另一张卡遗留的 key,同 base URL 的卡密钥互相趋同、报「model not found」。表单现在从 config.toml 里该卡自己的 bearer token 重建密钥。
  • 放心恢复备份(#6810,修复 #6778):云端快照没有任何已启用 prompt 时,WebDAV/S3 下载或备份导入不再把本地手写的 CLAUDE.md / AGENTS.md / GEMINI.md / SOUL.md 清成空文件。
  • 关掉后台会话扫描:用量页新增「自动扫描会话记录」开关,关闭即手动模式——仅在点击「立即同步」时扫描本地会话记录;代理接管的请求记账实时落库、与会话文件无关,照常记录。
  • 看到 OpenCode Go 的订阅额度:用量脚本的 Token Plan 查询现在识别 OpenCode Go,5 小时 / 周 / 月三个窗口的用量百分比与重置时间进入用量卡与托盘。
  • 在 macOS 上把终端设为 Otty(#6620):会话恢复、供应商终端与工具命令三处入口都可选。
  • 让大会话文件的扫描从秒级降到毫秒级:Claude 会话日志改为字节游标增量扫描,12 MB 活跃会话文件从整读 6.04 秒降到增量 9.3 毫秒。

使用攻略

  • 添加供应商:Codex config-only 切换后的供应商管理入口。
  • 用量统计:会话扫描开关与 Token Plan 额度查询的口径。

Warning

唯一官方渠道声明(请务必阅读)

CC Switch 是完全免费、开源的桌面应用,不会向用户收取任何费用。请仅通过下列官方渠道获取本软件:

类别 唯一官方
官网 ccswitch.io
源码 github.com/farion1231/cc-switch
下载 GitHub Releases
作者 @farion1231
举报山寨 GitHub Issues

任何向你收费、要求充值、或索取登录凭据的"CC Switch"网站或客户端均为假冒。如果你被诱导支付了费用,请立即停止操作并通过 GitHub Issues 反馈。


概览

这一版的主线在 Codex,起点是一次上游的兼容性断裂:Codex CLI 0.149 收紧了凭据继承,自定义 provider 不再读取 auth.json 里的环境凭据,以旧默认方式写入的第三方切换全部 401。CC Switch 的应对不是打补丁,而是把第三方切换整个改成 config-only——密钥随供应商自己的配置表走,auth.json 回归纯粹的官方 ChatGPT 登录文件;同时一族让 0.149 拒绝加载的历史配置形态(占用保留 id 的旧表、缺 name 的表、顶层 openai_base_url 旧式路由)在每次切换与接管投影时自动修复,并新增写前预检——0.149 无法加载的组合会被点名拒绝,而不是「切换成功」之后 Codex 起不来。

第二条主线是账号与数据安全:同一 ChatGPT Team workspace 的成员在认证中心不再互相覆盖(存量托管账号需重登一次);供应商编辑保证必达 live 配置;Codex 编辑框不再串染别张卡的密钥;恢复备份不再清空手写的 prompt 文件。用量侧,会话扫描获得自动/手动开关与字节游标增量扫描(6.04 秒 → 9.3 毫秒),并顺手修掉三个 Claude 会话记账的正确性缺陷——这也是本版唯一数据库迁移(v17 → v18)的由来。

发布日期:2026-08-28

更新规模:26 commits | 66 files changed | +7,474 / -1,000 lines


新功能

会话记录扫描:自动/手动模式

用量页新增「自动扫描会话记录」卡片与开关(默认开启,升级后行为不变)。关闭后停止一切后台会话扫描——包括启动时的首轮——并出现「立即同步」按钮作为手动入口,完成后以提示显示导入条数、扫描文件数与错误计数。代理接管的请求记账是实时落库、从不读会话文件,无论开关如何都照常记录;启动时的成本回填只修数据库既有行,手动模式下也照常执行。

OpenCode Go 订阅用量

用量脚本的 Token Plan 查询现在识别 OpenCode Go,在用量卡与托盘显示 5 小时 / 周 / 月三个窗口的用量百分比与重置时间,复用既有的配额层级展示。该端点只认 Bearer 认证(与推理侧只认 x-api-key 恰好相反);密钥有效但未订阅 Go 计划时显示明确的提示(HTTP 403)而不是笼统的认证失败,零用量窗口会丢弃上游的占位重置时间,无法识别的响应形状报错而不是空卡。在 Claude Code、Claude Desktop、Codex、OpenCode 与 Pi 新添加的 OpenCode Go 供应商自动启用查询;OpenCode Zen 按量付费刻意不覆盖——该计划上游没有用量 API。

Otty 终端支持(macOS)

「Otty」加入 macOS 终端选择器,覆盖会话恢复、供应商终端与工具命令三处入口。启动时先尝试经 Otty CLI 在既有窗口开新标签页,再退到新开 Otty 窗口;供应商终端与工具命令在失败时进一步回退到 Terminal.app,而会话恢复失败则直接报错——Otty CLI 缺失时附明确的安装提示——并把命令复制到剪贴板。CLI 探测覆盖应用包(系统与用户级)、Homebrew 路径与 PATH。用户手册的 macOS 终端表格也顺带修正——Kaku 与 Warp 早已支持却漏在表外。(#6620)


变更

Codex 第三方切换改为 config-only

切换到第三方 Codex 供应商时,密钥现在写进该供应商自己的 [model_providers.*] 表(experimental_bearer_token 字段,Codex 0.48 起支持),不再写进 auth.json——它回归纯粹的官方 ChatGPT 登录文件。背景是 Codex 0.149 停止让自定义 provider 从 auth.json 继承环境凭据,以旧默认方式(密钥只写 auth.json)完成的第三方切换从此 401。

「非接管切换时保留官方登录」开关随之只剩一个含义:开启时官方 ChatGPT 登录在第三方切换中完全不被触碰;关闭时删除 auth.json 而不是用 API 密钥覆盖它(删除失败会弹出警告,提示官方登录仍留在 Codex 配置目录中)。两道安全闸现在在每次第三方切换都执行、不再只限保留模式:有密钥却没有任何 provider 表可以承载,或没有密钥却会回退到官方登录(requires_openai_auth = true 且无自有凭据,或裸的顶层 openai_base_url 路由),都会被点名拒绝——包括配置为空的第三方卡,它们此前一直静默搭乘 auth.json。活跃的带密钥第三方表上的 requires_openai_auth 会在每次直接切换时按保留开关重新戳记,让 Codex 的登录界面与磁盘上的实际状态一致。(#6744、#6746)

TeamoRouter 预设迁至 teamorouter.cn

八个应用的预设全部指向 api.teamorouter.cn,旧 .com 端点在 Claude Code、Claude Desktop、Codex 与 Grok Build 上注册为可选择、可测速的后备端点。已保存的存量 TeamoRouter 供应商保持各自原有的 Base URL 不变。


修复

同一 workspace 的 ChatGPT 账号不再在认证中心合并

托管的 Codex OAuth 账号此前以 chatgpt_account_id 为主键——它标识的是 ChatGPT workspace 而不是人:同一 Team workspace 的两名成员会坍缩成一条记录,后登录者静默覆盖前者的令牌,供应商绑定跟着指向最后登录的人。账号现在以本地身份建键、保留 OIDC subject 作为用户身份凭证,同 workspace 登录并存为独立账号行。经接管路由的请求会额外对照绑定账号的 live 令牌校验:仍持有另一名成员登录态的 Codex 会话得到「请重启 Codex」的明确报错,而不是以错误身份被转发;外发的 workspace 请求头一律来自账号绑定而不是客户端自报。收养 CLI 轮转过的刷新令牌、以及移除账号时删除 auth.json,现在都要求可证明的所有权——CC Switch 不再可能收养或删除同 workspace 另一名成员的登录。每条账号行提供就地「重新登录」(绑定保留);取消或被取代的设备登录会在 CC Switch 内部丢弃等待中的流程——被放弃的浏览器授权无法在几分钟后被提交、悄悄覆盖账号。不是合法 JWT 形状的 id_token 不再产生任何身份——畸形或截断的令牌永远无法冒充用户。(#6780、#6831,修复 #2245)

Codex 0.149 兼容修复族:存量配置不再让 Codex 拒绝启动

一族让 Codex 0.149 拒绝加载的配置形态——用户侧表现为「CC Switch 显示切换成功,Codex 却起不来」——现在在每次供应商切换与接管投影时自动修复。具体包括:早期接管投影写下的 [model_providers.openai] / .ollama / .lmstudio 遗留表(覆盖保留 id 会导致校验失败)被无损改名为 CC Switch 自有 id 并归一为可加载形状;没有 name 的 provider 表被回填(0.149 会因任何一张缺名表拒绝整份配置——Bedrock 表刻意保持无名,命名会破坏其内置合并);携带可用密钥的旧式顶层 openai_base_url 路由被迁移成正规的自定义 provider 表(无密钥的这类路由会被切换时的安全闸拒绝);新的写前预检对 0.149 无法加载的字段组合点名拒绝,而不是写出去当作「切换成功」。接管路由指向内置 openai provider 的卡改用官方支持的顶层字段而不是制造保留表,指向 ollama / lmstudio 的卡接管时显式报错。保留 id 清单与上游完全一致(大小写敏感;补入 amazon-bedrock-runtime,旧的 oss / ollama-chat 按普通自定义 provider 对待——它们的密钥终于能到达自己的表),内联的 model_providers 表也能接到注入的令牌,而不是留下一个死的顶层字段。

被拒绝的切换不再腐坏被拒的那张卡

live 写入校验现在作为预检、在当前供应商指针移动之前执行。此前写入层的拒绝发生在 current 已提交之后——下一次切换会把旧的 live 配置回填进这张被拒供应商的已存设置。

供应商编辑必达 live 配置文件

崩溃或恢复失败残留的接管备份行,会让活跃供应商的保存(Claude Desktop 除外)走上接管路径——只更新数据库与备份行,真正的配置文件无限期保持旧端点旧密钥。所有权现在由单一谓词裁定,要求接管的实际证据(live 文件中有占位符,或代理已启用且运行中且有备份行,或切换过程持有 per-app 锁且有备份行);过期的备份行被刷新为与所编辑供应商一致,而不是劫持写入。统一供应商保存现在还会把每个生成的子配置重新投影到以它为活跃供应商的应用的 live 配置,逐应用报出失败名称而不是一律报成功。(#6779)

Codex 编辑框不再显示另一张卡的密钥

开启官方登录保留时,auth.json 是一个没有供应商身份的共享槽位,而编辑框播种表单时曾优先读它——编辑活跃的 Codex 供应商可能显示、并在保存时固化另一张卡遗留的密钥,让共享同一 Base URL 的卡密钥互相趋同(表现为「model not found」)。编辑框现在从 config.toml 里该供应商自己的 bearer token 重建密钥;官方类与纯 OAuth 供应商不受影响,而 config.toml 里没有自有 bearer token 的卡——旧版或手工维护的形态,本版起每次第三方切换都会写入——保持原有行为、继续读取 live auth.json(含手工修改)。(#6534,修复 #6414)

恢复不再清空非受管的 prompt 文件

WebDAV/S3 下载或备份导入时,若快照里某应用没有任何已启用的 prompt,该应用的 live prompt 文件(CLAUDE.md / AGENTS.md / GEMINI.md / SOUL.md)会被截断为空——摧毁从未进入同步载荷的本地手写内容。这样的恢复现在完全不碰该文件;从提示词面板里禁用最后一条 prompt 仍会照旧清空它。(#6810,修复 #6778)

恢复界面的退出按钮真的能退出了

process:allow-exit 权限缺失,v3.20.0 上「数据库版本过新」恢复界面的退出按钮、以及配置加载失败后的退出调用都被 IPC 层静默拒绝:退出按钮毫无反应(关闭窗口仍可退出),配置加载失败后应用径直进入正常界面而不是按设计退出。该问题由 @SaladDay 在 #6567 更早独立发现并率先修复。

Claude 会话记账正确性三修

随增量扫描器落地的三个数据准确性修复,均针对 Claude 会话日志路径。写到一半的日志行曾被旧的行号游标永久跳过(未完成的尾部推进了游标,补全后的消息再也不会被导入)——字节游标只在完整行之后提交,该消息下一轮即被拾取。被外部截断或改写的会话文件从不重放:重新导入明细行已被 30 天汇总清理的条目会让总数永久虚高,因此游标钉在新的文件末尾,被跳过的范围报告进同步结果的错误列表而不是静默丢弃(截断由游标越界发现,同尺寸改写由游标前字节的指纹发现)。文件中途的读取错误现在保留已提交的进度、下一轮从原处续读并上报,而不是返回一次干净的成功;游标预取失败会中止本轮,而不是表现得像首次扫描、把历史重复导入一遍。


性能

Claude 会话日志:字节游标增量扫描

每轮扫描现在直接定位到上次提交的字节偏移、只读新追加的部分,而不是把变更过的文件从头读到尾——按改动自带的基准测试,12 MB 的活跃会话文件从整读解析 6.04 秒降到增量读取 9.3 毫秒。Claude、Gemini、OpenCode、Grok Build 与 Pi 的逐文件游标改为每个导入器每轮一次整表预取,而不是逐文件查询;Claude 路径上每个文件的导入与游标推进在同一事务中提交。1,017 个会话文件(409 MB)的冻结快照回放产出与旧扫描器逐位一致的汇总。需要一次 schema 迁移(v17 → v18),新增两个可空列——字节游标与尾部指纹;既有的行号游标在首轮扫描时就地转换,不重复导入任何内容。

Pi 会话去重走上身份索引

合并的去重查询(跨两个身份列的 OR)只能约束数据源前缀,每条解析记录都要扫过账本里整个 Pi 区段——Pi 导入随用量历史增长越来越慢。现拆分为可走索引的点查询、结果完全一致,导入耗时不再随历史规模退化。(#6667)


升级提醒

本版包含数据库迁移,降级需还原备份

schema 从 v17 迁移到 v18(会话扫描游标表新增字节游标与尾部指纹两列),迁移前自动创建备份。本版运行过一...

Read more

CC Switch v3.20.0

Choose a tag to compare

@github-actions github-actions released this 18 Aug 09:11

CC Switch v3.20.0

这一版由三条结构性主线撑起:Pi 成为第九个受管应用——供应商、提示词、Skills、会话浏览与用量统计一站接入;Codex 支持多个 ChatGPT 账号——认证中心随便登几个,每张官方卡各绑各的,切换永不串账;Claude Code 内置 WebSearch 在 GPT 路由下终于可用。紧急修复也有一条:v3.19.2 在 WSL 路径上已有配置无法更新或切换,受影响用户请直接升级本版。同一批 Windows 修复还包括版本检测大修(五个 issue 一次修)、启动闪屏与 MSI 注册表垃圾键。本版包含数据库迁移(v16 → v17),升级前自动备份,降级需还原备份。

English → | 日本語版 →


重点内容:你现在可以

  • 用 CC Switch 管理 Pi:第九个受管应用(#6064)。供应商表单是针对 Pi 原生 schema 的结构化编辑器,内置 58 个预设与 57 个模型的能力目录;提示词库、SYSTEM.md / APPEND_SYSTEM.md 编辑器、斜杠命令模板、Skills、会话浏览与安装升级一并接入。Pi 自己的登录、默认供应商与默认模型永远不被触碰。首启会导入 models.json 里已有的供应商,见升级提醒。
  • 在看板里看到 Pi 的会话用量:逐模型的 token、成本、错误与中断轮次,独立的「Pi (Session)」来源与应用筛选;增量同步只解析文件新增部分(#6463)。
  • 添加 Codex 官方供应商时直接选择已授权的 ChatGPT 账号:认证中心登录任意多个账号,新建官方卡时下拉直选其一完成绑定;也可以照旧添加一张不绑定的空官方卡,跟随 Codex CLI 本地登录、读取本地的 access token。切换到绑定卡会写入该账号完整的令牌包——裸 codex CLI 也以该账号运行、且能自行续期。接管下的请求会校验账号一致性,绝不静默把账单记到另一个账号头上(#3879、#6535)。
  • 在 GPT 路由下使用 Claude Code 的内置 WebSearch:搜索在上游执行、结果带引用返回、次数进用量;Codex 新客户端的 Alpha Search 端点也不再 404(#5681)。
  • 从 v3.19.2 的 WSL 故障中脱困:v3.19.2 在 \\wsl.localhost 路径上无法更新或切换已有配置(#6188),该版本内无任何绕过手段——请直接升级本版,并且 CI 从此在真实 WSL2 文件系统上跑测试(#6233)。
  • 让 Windows 版本检测和你的终端看到的一致:检测改为合并注册表 PATH(用户+机器)、扫描独立安装器目录、优先探测 PATH 默认项——应用内自更新后「未安装」、winget 装的 Claude Code 找不到、旧 npm shim 遮住新版本,五个 issue 一网打尽(#6284)。
  • 给每个模型声明它真实支持的思考档位:Codex 模型目录支持逐模型多选八个标准档位并指定默认值,各家预设按厂商文档预填了真实档位(#6228)。
  • 信任你的备份:SQL 备份逐值保真往返、截断文件导入前即被拒绝(#6146);备份文件原子发布、恢复先在暂存库整体校验、.db 恢复会把各应用 live 配置一并重建,所有同步/恢复路径严格串行(#6147)。
  • 在几百个模型里直接搜:所有应用的模型下拉都换成了可输入过滤的组合框,按模型 id 和厂商名都能匹配(#6285)。
  • 启动不再白/黑闪屏:主题在页面绘制前同步应用,Windows 上窗口加载完成前保持隐藏(#6252)。

使用攻略

本版改动集中在供应商管理与用量统计上,建议结合以下文档了解:

  • 添加供应商:Pi 与新预设的入口。
  • 用量统计:Pi 会话用量的来源与口径,以及 DeepSeek 调价对读数的影响。
  • 请求路由:WebSearch 桥接生效的路由场景。

Warning

唯一官方渠道声明(请务必阅读)

CC Switch 是完全免费、开源的桌面应用,不会向用户收取任何费用。请仅通过下列官方渠道获取本软件:

类别 唯一官方
官网 ccswitch.io
源码 github.com/farion1231/cc-switch
下载 GitHub Releases
作者 @farion1231
举报山寨 GitHub Issues

任何向你收费、要求充值、或索取登录凭据的"CC Switch"网站或客户端均为假冒。如果你被诱导支付了费用,请立即停止操作并通过 GitHub Issues 反馈。


概览

CC Switch v3.20.0 横跨了几乎每个子系统,主线有三条。第一条是接入面扩张:Pi 成为第九个受管应用,从供应商编辑到会话用量全链路接入,并带来本版唯一的数据库迁移(v16 → v17,Pi 用量去重账本);Codex 侧则补上了呼声已久的多 ChatGPT 账号管理,官方卡从此可以逐卡绑定账号,且刻意退出自动故障转移——重试永远不会把账单记到另一个账号。第二条是代理能力:Claude Code 内置 WebSearch 桥接到 OpenAI Responses 与 Codex OAuth 后端,Codex 的 Alpha Search 端点注册为语义透传,「GPT 路由下没有网页搜索」成为历史。

第三条是把 Windows 与数据可靠性欠的账还上:v3.19.2 的 WSL 写入回归热修(并新增真实 WSL2 CI 覆盖)、版本检测按注册表 PATH 大修、启动闪屏消除、MSI 自 v3.4.0 起写入的垃圾注册表键修正;备份/同步经外部贡献者审计后两波加固——SQL 逐值保真、原子发布、暂存校验、严格串行。此外还有 Codex 思考档位体系的整轮梳理(逐模型档位+各厂真实档位预填+聚合平台方言修正)、一轮供应商表单一致性打磨、macOS 中日文输入法修复,以及 DeepSeek V4 按厂商新牌价重定价。

发布日期:2026-08-18

更新规模:69 commits | 284 files changed | +53,108 / -6,678 lines


新功能

Pi 成为第九个受管应用

Pi 以累加模式接入(与 OpenCode、Hermes 同类):供应商的启用与否等于其键是否存在于 ~/.pi/agent/models.json,多个供应商共存。供应商表单是针对 Pi 原生 schema 的结构化编辑器——API 格式、逐模型的思考等级映射(Pi 的七个等级)、兼容键——内置 58 个预设(覆盖表单五种 API 格式中的四种)与一份人工复核过的 57 模型能力目录;原始 JSON 编辑器与「拉取模型」按钮兜底,既有节点里的未知字段原样保留。每次读改写都有内容版本校验,别的进程改过的文件会以冲突报错拒绝、绝不覆盖。

边界刻意划清并写进文档:CC Switch 绝不把 Pi 的内置供应商物化进 models.json、绝不读写 Pi 的 auth.json、绝不碰 defaultProvider / defaultModel——Pi 自己的登录与模型选择归 Pi。供应商之外:提示词库把选中的一条写入 Pi 全局 AGENTS.md(已有的不匹配内容先自动备份成库条目)、SYSTEM.md(替换 Pi 基础提示词)与 APPEND_SYSTEM.md 各有专属编辑器、~/.pi/agent/prompts/*.md 斜杠命令模板管理、Skills 按「存在即启用」规则接入(同名但非 CC Switch 所有的 Skill 拒绝覆盖或删除)、JSONL 会话浏览器,以及设置 → 关于里的 Pi 安装与升级。Pi 没有原生 MCP 注册表,因此刻意不参与 MCP 同步;也没有代理接管、故障转移与托盘存在——代理与故障转移命令现在对所有无本地网关的应用显式拒绝,而不是写下一堆死配置。(#6064)

Pi 会话用量进入看板

新导入器读取 Pi 的会话文件,在独立的「Pi (Session)」来源下逐模型记录 token、成本、错误与中断轮次,带专属应用筛选。Pi 每条记录自带成本,为正时优先采用;缺失或全零则回退 CC Switch 的价格表。增量同步对每个文件的尾部做指纹,只解析新追加的字节;被改写或分叉的会话通过新的持久去重账本识别——session_usage_dedup 表,本版 v16 → v17 迁移的由来——该账本在明细行清理后仍存活,且保持设备本地(云同步排除、导入保留)。由于一个 Pi 会话可能混用 Anthropic 系与 OpenAI 系 API,含 Pi 的汇总带「缓存写不完整」的口径标注而非一个未加限定的数字。(#6463)

Codex:多个 ChatGPT 账号,逐卡绑定

认证中心可以持有任意数量的 ChatGPT(Codex OAuth)登录。添加 Codex 官方供应商时,直接从已 OAuth 授权的账号里选一个完成绑定——不必先建卡再回头配置;也可以沿用旧方式添加一张不绑定账号的空官方卡,它跟随 Codex CLI 自己的登录、读取本地的 access token。官方卡数量不限,两种方式的卡可以共存,绑定与解绑保留卡的身份、端点与健康历史。切换到绑定卡会把该账号完整的令牌包写入 ~/.codex/auth.json——裸 codex CLI 也以该账号运行,且能在访问令牌过期后自行续期;CLI 轮转过的刷新令牌会在每次写入前被回采,重复切换绝不会用旧登录盖掉新登录。

账号选择器是带标签的下拉框,可直接跳转认证中心;账号状态加载失败时显示带重试的警告而不再冒充「未登录」,也不再在下次保存时静默解绑。登出与移除账号和供应商切换严格互斥;OAuth 请求超时从十分钟收紧到 30 秒;登出还会取消仍在网络往返中的设备登录——被放弃的登录流程无法再在后台悄悄完成并复活账号(#6506)。接管下的请求会对照绑定账号校验:仍以另一个 ChatGPT 账号认证的 Codex 会话会得到「请重启 Codex」的明确报错,而不是静默把账单记到错误账号。(#3879、#6535、#6506)

Codex 模型目录:逐模型思考档位

Codex 供应商表单里的每个模型行现在可以声明其上游真实接受的思考档位——在八个标准档位(none 到 ultra)上多选,外加可选的默认档——生成的目录把它们带进 Codex 的选择器,不再继承基础模板的档位。未知值会被丢弃(笔误永远到不了 Codex),显式默认值会对照声明集校验,覆盖在原生 Responses 与 Chat 转换两条路径上都生效。代理转换层同时学会了 ultra:此前在路由供应商上选最深档会静默关闭扩展思考(Anthropic 路径)或丢掉 effort 参数,现在映射到上游合法的最深档。(#6228、#6181)

各厂预设按官方文档预填真实思考档位

预设现在带上各厂商实际文档化的档位——火山方舟 low/medium/high、DouBaoSeed minimal 到 high、混元 low/high、DeepSeek low/high/max、xAI Grok low/medium/high(无 none:思考关不掉)、智谱 GLM none/high 等——新建供应商的 Codex 选择器从此以事实起步;对智谱 GLM 来说,「关闭思考」终于能在 Codex 里选到。两个 Kimi 预设按 Moonshot 自家接入指南启用推理强度(顶层 reasoning_effort,只列网关接受的档位),Kimi For Coding 从一个模型扩到四个官方模型。百度千帆 Coding Plan 预设用平台文档化的 thinking 对象获得真实的思考开关。档位一律出自厂商文档或厂商自己的 Codex 目录,并收窄到真正行为有别的档——完全没有依据的模型保持不填。

Claude Code WebSearch 与 Codex Alpha Search 走通本地代理

两条此前在代理上走死胡同的网页搜索路径打通了。Claude Code 内置 WebSearch 工具桥接到 OpenAI Responses 与 Codex OAuth 后端:搜索在上游执行,结果以成对的 Anthropic 搜索块返回、引用保留并合并、搜索次数计入用量。max_uses 在 Responses API 支持处用 max_tool_calls 原生限额;Codex OAuth 后端拒绝该参数,仅在请求强制使用该工具时以流中截断本地限额,未强制却带 max_uses 的请求显式报错。Responses API 无法表达的约束(blocked_domains、非直连调用方、response_inclusion、未知工具版本)同样显式报错,绝不悄悄放宽搜索范围。桥接只覆盖 Responses 转换路径——Chat Completions 上游仍不支持托管 WebSearch。另外,Codex 独立的 Alpha Search 端点注册为语义透传,带完整的供应商选择、鉴权、模型映射、重试与日志流水线,新版 Codex 客户端的 404 就此终结。Claude-in-Codex 路由攻略已三语更新:「GPT 路由下没有网页搜索」在这些路径上不再成立。(#5681、#5363、#5378)

百度千帆 Token Plan 预设

千帆 Token Plan(个人版)——2026 年 7 月起替代 Coding Plan 面向新购用户——获得 Claude Code、Claude Desktop、Codex、OpenCode、OpenClaw 与 Hermes 六个应用的预设,走 /tokenplan/personal 端点。Codex 预设带六模型目录(DeepSeek V4 Pro / V4 Flash / V4 Flash 0731、GLM 5.2/5.1、Kimi K2.6),是首个思考开关与推理强度选择器都真实可用的千帆预设。密钥必须用 Token Plan 订阅的专属 key,而不是通用的千帆应用 key;老的 Coding Plan 预设为存量订阅保留。

模型选择器全面支持模糊搜索

供应商表单里所有「选模型」下拉——Claude Code(含 Copilot)、Claude Desktop 映射行、Codex、Gemini CLI、OpenCode、Hermes、OpenClaw 与 Pi——都换成了可输入过滤的组合框,按模型 id 和厂商名都能匹配,顺手把四份内联重复组件合而为一。对着返回几百个模型的供应商尤其好用。(#6285、#6353)

其他新增

  • 接管开启确认动画:为当前应用打开路由接管时头部品牌区播放一次性彩带——应用启动、切换应用或系统偏好「减少动态效果」时绝不触发。同一改动补上一个真实缺口:接管开关在初始代理状态加载完成前置灰,对未知状态的点击不再可能把接管拨错方向。(#6209)
  • Codex 表单 1M 上下文开关回归:上游 Codex 重新接受 model_context_window = 1000000,四月隐藏的开关(连同配套的自动压缩阈值输入)回来了,写的还是原来那两个 config.toml 字段。
  • 新预设:PPIO(厂商贡献)、JieKou AI(厂商贡献)、XycAi(合作伙伴)分别接入各自支持的应用。(#6239、#6356)

变更

Codex 官方账号卡退出自动故障转移

官方 ChatGPT 卡不再被加入、列出或经由故障转移队列重试,官方路由上的所有错误类别一律不可重试——对着另一个供应商重试会把入站的 ChatGPT 授权用到别的账号头上。内置官方卡的存量队列行在读取时过滤。官方卡判定也不再只看类别标签:存了真实 API key 或显式第三方上游的卡按普通供应商对待,保留直连路径与故障转移资格。(#3879、#6535)

Codex OAuth 配额显示逐卡可配置

绑定 ChatGPT 账号的卡获得与脚本类供应商相同的「配置用量查询」入口:配额页脚可以关闭、刷新间隔可改(此前硬编码五分钟且没有关闭开关),对话框的测试按钮查询的是绑定的账号而不是 CLI 恰好登录的账号,托盘也不再给账号绑定卡装饰全局订阅百分比。(#6537)

#...

Read more

CC Switch v3.19.2

Choose a tag to compare

@github-actions github-actions released this 06 Aug 04:39

CC Switch v3.19.2

这一版的主线是把数字算对、把边界扎紧:Codex 用量统计修掉一个会把交错计数器文件多算数倍的缺陷——升级后新数据即刻正确,历史虚高可用一次手动重建回正(见「升级提醒」);一轮六项安全加固把用量脚本、会话日志、目录文件与代理缓冲响应体的无界读取全部封顶。日常顺手的部分也补齐了:MCP / 提示词 / Skills 面板可以搜索,MCP 与 Skills 还能按应用一键批量开关;认证中心逐账号显示 ChatGPT 订阅用量;OMO 用户拿回可用的集成。两条写盘路径批量化之后,大数据库的备份导入、自动同步与用量重导入不再动辄卡住。本版没有数据库迁移。

English → | 日本語版 →


重点内容:你现在可以

  • 拿到正确的 Codex 用量数字:真实日志里存在计数器交错的文件——同一份快照被网关换着限额桶反复重播,或两个累计计数器交替出现——旧算法会把它们当成新增量,现场文件实测有 6 到 8 倍虚高。修复经近 1,900 份真实会话文件回放验证,与独立重算的理想值偏差 0.001%。历史数据不会被自动改写,回正方法见升级提醒。
  • 在 MCP、提示词、Skills 面板里直接搜索:三个面板都有了搜索框;MCP 与 Skills 列表上的应用徽章还变成了三态开关,一键把某个应用在整张列表上批量启用或停用(#5954、#5935 都是用户之声)。
  • 让新版 Claude Code 直接进入 Copilot 接管的会话:新版 Claude Code 对不认识的 API key 会弹确认框、且默认选中「No (recommended)」,此前接管写入的占位符正好撞上它,用户看到的是一个未登录的会话。现在改写 ANTHROPIC_AUTH_TOKEN 占位符,零弹窗直接进入。
  • 继续用 CC Switch 管理 OMO:OMO 4.19.3 起配置统一进 ~/.omo/omo.jsonc,旧文件不再被读取,此前的供应商切换看似成功、实则全部落空。现在检测到统一配置文件(omo.jsonc 或 omo.json)就写进它的 "[opencode]" 分区。OMO 表单的模型选择器还会合并 opencode models 实际报告的运行时模型。
  • 在认证中心看到每个 ChatGPT 账号的订阅用量:多账号场景下不再需要逐个切换查看。
  • 在大数据库上不再动辄卡住:备份导出改为批量 INSERT、同步恢复改为单事务——此前每行一次 fsync 正是自动同步周期性卡顿的元凶;Codex 用量全量重导入在真实语料上从 36.3 秒降到 11.1 秒(macOS),Windows 收益更大。
  • 看到被网关吞掉的工具调用,而不是被静默晾在原地:第三方 Chat 网关返回缺函数名的工具调用时,转换层此前把它们丢掉还报「本轮完成」,Codex 于是无声地结束了循环。现在这种情况会明确报错,且丢弃点带结构化日志,#4341 这类问题终于可以从真实流量里诊断。
  • 让 Hermes 提示词真正生效:写入 Hermes 实际加载的 ~/.hermes/SOUL.md,而不是它从不读取的 AGENTS.md。
  • 装上此前装不了的 Skill:ast-grep 这类带同名空壳目录的仓库能装了;skills.sh 嵌套 Skill 的 README 链接不再 404(存量记录需重装一次恢复,见升级提醒)。

使用攻略

本版的改动集中在用量统计与扩展管理面板上,建议结合以下文档了解:

  • 用量统计:用量看板的数据来源与统计口径,理解交错计数器多算是怎么发生的、什么情况下需要手动重建。
  • MCP 管理 与 Skills 管理:新的搜索与批量开关所在的两个面板。

Warning

唯一官方渠道声明(请务必阅读)

CC Switch 是完全免费、开源的桌面应用,不会向用户收取任何费用。请仅通过下列官方渠道获取本软件:

类别 唯一官方
官网 ccswitch.io
源码 github.com/farion1231/cc-switch
下载 GitHub Releases
作者 @farion1231
举报山寨 GitHub Issues

任何向你收费、要求充值、或索取登录凭据的"CC Switch"网站或客户端均为假冒。如果你被诱导支付了费用,请立即停止操作并通过 GitHub Issues 反馈。


概览

CC Switch v3.19.2 是一次以正确性为主的维护版本,主线有三条。第一条是把数字算对:Codex 会话导入器在计数器交错的文件上会把用量多算数倍(#3011),本版换用「优先取每轮增量、按完整签名识别重播」的算法,并以近 1,900 份真实会话文件的回放验证收口;备份与用量导入两条写盘路径同时批量化,大数据库导入卡顿显著缓解(#2100 或将受益)。

第二条是把边界扎紧:一轮外部贡献的安全加固把用量脚本运行时、Grok 会话日志、Codex 目录文件与代理缓冲响应体的无界读取全部封顶,深链导入确认框补上两个此前收集却不显示的凭据字段。第三条是把日常顺手的东西补齐:MCP / 提示词 / Skills 三个面板的搜索、MCP 与 Skills 的批量应用开关、认证中心的逐账号订阅用量,以及 OMO 的统一配置与运行时模型两项适配。此外还有 Copilot 登录、Hermes 提示词、Skill 安装等七个具体故障修复。本版没有数据库 schema 迁移(版本号保持 v16),升级轻量。

发布日期:2026-08-06

更新规模:24 commits | 109 files changed | +12,340 / -1,897 lines


新功能

管理面板:搜索与批量应用开关

MCP、提示词、Skills 三个面板都有了共享的搜索框——按 Esc 清空,且只在有内容时拦截全局返回快捷键,不影响你平时的操作习惯。MCP 与 Skills 列表顶部的应用计数徽章变成了三态开关按钮:一键把某个应用在整张列表上批量启用或停用,逐条点开关的日子结束了(#5954、#5935)。

批量操作刻意串行执行而不是并发——每个应用的 live 配置是单个文件,并发写会互相覆盖;失败的条目会被收集起来一次性报告。批量开关作用于整张列表而不是搜索过滤后的子集,避免「以为只开了过滤结果、实际状态不明」的歧义。

底层还顺手修掉两个数据层的老问题:MCP 开关从「读整行、改内存、写整行」改为单列原子 UPDATE,两个应用几乎同时切换时不再互相丢失更新;Skill 更新落库前会重新确认记录仍然存在、安装代数未变,慢速更新任务不再可能复活一个刚被卸载的 Skill。搜索索引是显式白名单——环境变量与请求头永远不进可搜索文本。

认证中心:逐账号订阅用量

设置 → 认证中心现在给每个 ChatGPT(Codex OAuth)账号内联显示订阅用量,复用供应商卡片页脚已有的查询——按账号去重、缓存五分钟、挂载时拉取一次不轮询。多账号用户不用再逐个切换查看余量。(#4887)

OMO 模型选择器合并运行时模型

OMO 表单的模型选择器此前只有静态列表;现在还会运行 opencode models,把本机安装的 OpenCode 实际报告的模型合并进来。这个辅助进程被刻意关进沙箱:禁用项目级配置发现、工作目录钉死在 OpenCode 配置目录——打开一个表单绝不会执行某个项目的 .opencode/ 插件;整个过程限时 20 秒,超时后杀掉完整进程树(macOS / Linux 用进程组,Windows 用 taskkill /T,WSL 在发行版内部用 timeout)。任何失败都回落到静态列表并弹提示。(#5522)

Qwen3.8 Max 内置定价

qwen3.8-max 按官方牌价播种:每百万 token 输入 $2 / 输出 $6,缓存读取 $0.25,缓存写入 $2.50(输入价的 125%,官方显式上下文缓存费率)。按「不存在才插入」播种,你自己改过的价格不受影响。(#6053)


变更

预设清单维护

NekoCode 与 Unity2.ai 的合作伙伴预设从所有应用、README 与语言文件中移除;七牛预设的排序调整。


修复

Codex 用量在计数器交错时被多算(最高数倍)

会话导入器此前从单一高水位线对累计值求差——一份文件里只有一个单调计数器时这是对的,但真实日志里存在两种交错形态:网关把同一份未变化的快照换着限额桶反复重播,以及两个真正不同的累计计数器交替出现。旧算法在这两种形态上都会把重播或交替当成新增量,现场文件实测有 6 到 8 倍虚高。

现在导入器优先读取每个事件显式携带的「本轮用量」,并按完整 token 签名识别重播。去重刻意收窄:一份快照只与同一来源自己的上一份签名或紧邻的前一个 token 事件比对——不与其它来源的旧签名比对,因为合法的计数器重置会重现旧数值,扫全表会把它误吞。只有累计值的旧格式回退到单一全局基线,语义与从前一致。

修复用近 1,900 份、共 1.7 GB 的真实会话文件回放验证:与独立重算的理想值偏差 0.001%,残余差异全部是旧算法把计数器重置截断吞掉、新算法合法救回的请求。历史数据刻意不改写——回正方法见「升级提醒」。(#3011、#3015)

被丢弃的工具调用不再伪装成「本轮完成」

第三方 Chat 网关偶尔会返回缺函数名的工具调用,Chat → Responses 转换层此前把它们静默丢弃、还照样报告本轮 completed——Codex 看到一个「成功但无事可做」的回合,就安静地结束了智能体循环,一个本可诊断的上游故障变成了无声停摆。

现在,当一轮里的工具调用全部被丢弃、没有任何可用项时,流式路径发出 response.failed,非流式路径报转换错误;判定挂在 status == "completed" 上,finish_reason: length 的截断保持自己的 incomplete 语义不受影响。三个丢弃点都会记录结构化、不含内容的日志字段——是否有 call id、参数字节数、结束原因——#4341 这类问题终于可以从真实流量里诊断。含有效工具调用的回合、纯文本回合与截断回合行为不变。

OMO 的配置写进了它不再读取的文件

OMO 4.19.3 把配置统一进 ~/.omo/omo.jsonc(其次 omo.json),迁移时会把旧的按应用文件改名挪走。此后 CC Switch——只认识旧路径——一直在写一个不在 OMO 配置链上的文件,供应商切换看似成功、实则全部落空(#5945)。

现在检测到统一配置文件就把 OpenCode 配置写进 OMO 的 "[opencode]" 分区——并且只写在这里,因为 OMO 对根层 schema 严格校验,任何未知根键都会让它丢弃整份文件。写入把文档当 JSON5 对待:注释、键序与行尾原样保留,内容没变化就不落盘;每次写出前还会把结果重新解析、与预期做语义比对——如果序列化会损坏文档,写入被拒绝、原文件原样保留,绝不落盘一份坏文件(已知触发场景见「升级提醒」)。同一改动还把所有受管应用在 Windows 上的原子写入换成 ReplaceFileW,堵上了旧「先删后改名」序列里目标文件短暂不存在的窗口。

Copilot 接管在新版 Claude Code 上进不了登录态

新版 Claude Code 对不认识的 API key 会弹确认框、默认选中「No (recommended)」——Copilot 接管此前写入的 ANTHROPIC_API_KEY 占位符正好撞上它:按推荐走,key 被忽略,用户面对的是一个未登录的会话。接管现在改写 ANTHROPIC_AUTH_TOKEN 占位符,零弹窗直接进入;在供应商表单高级区显式选择了 ANTHROPIC_API_KEY 字段的供应商保持旧行为。Copilot 转发路径还补上了其它路径早就有的 [1M] 上下文标记剥离,claude-*[1M] 形态的模型 ID 不再原样发给 GitHub 的 API。(#5832)

Hermes 提示词写错了文件名

Hermes 从 ~/.hermes/ 加载的身份文件是 SOUL.md,从不在那里找 AGENTS.md——后者是项目级上下文,从工作目录向上发现。CC Switch 的提示词管理从加入 Hermes 支持那天起写的就是 ~/.hermes/AGENTS.md,启用 Hermes 提示词产出的是一个死文件。现在读写 ~/.hermes/SOUL.md,既有的回填机制照常生效:你自己写过的 SOUL.md 会先导入数据库再被替换。(#5777)

带同名空壳目录的 Skill 仓库装不上

安装 ast-grep 官方 Skill 报「缺少 SKILL.md」:这个仓库在根下有一个与 Skill 同名的空壳目录,真正的 Skill 嵌套在更深处,而解析器返回了第一个名字匹配的目录。源目录解析现在以 SKILL.md 本身为锚点——没有它的目录绝不会被选中——顺带修好了同类仓库上「更新检查永远报有更新」的幻影提示。(#4141)

skills.sh 嵌套 Skill 的 README 链接 404

skills.sh 的发现流程只报告 Skill 的末级目录名;安装时能解析出真实的嵌套目录,但入库的 README 链接仍按目录名猜测构建,点开就是 404。链接现在从安装器实际解析出的目录生成。修复只作用于安装链路——旧版本写入的记录要重装一次才能恢复,见「升级提醒」。(#6111)

全部应用启用时头部按钮被裁掉

所有应用页签、项目切换器与接管开关同时显示时,头部溢出,「添加供应商」按钮被裁掉。主要操作现在固定在不收缩的区块里,应用切换器变成宽度感知:放不下的应用折叠进「更多」弹出层,当前应用始终可见。

路由状态动画在后台空耗 GPU

路由状态指示器的脉冲动画在窗口失焦时照常运行,为一个纯装饰效果持续占用 GPU。现在窗口焦点通过 data 属性与 CSS 控制心跳——失焦时动画冻结在完整不透明度,系统的「减少动态效果」偏好则完全禁用它。数据轮询不受影响,暂停的只是装饰。(#5767)


安全加固

无界读取全部封顶,确认框不再隐藏字段

一轮六项的外部贡献加固(#5919):

  • 用量脚本限资源限时:用量脚本可以经深链或同步的数据库到达本机,此前跑在没有任何限制的 JS 运行时上,一句 while(true) 就能把后端线程永远挂死。现在运行时强制 5 秒中断、16 MiB 内存与 256 KiB 栈上限。
  • Grok 会话日志读取设界:跳过超过 50 MiB 的文件,目录递归限深 16 层且不再跟随符号链接——~/.grok/sessions 下的一个符号链接环此前能造成栈溢出。
  • Codex 模型目录路径收紧:model_catalog_json 此前只看文件名就信任任意绝对路径;现在必须解析到 Codex 配置目录之内——canonicalize 之后复查一遍,符号链接逃不出去——单次读取上限 32 MiB。
  • 代理缓冲响应体封顶:会被完整收集的响应体——非流式响应、错误响应与需要整体校验的路径——上限 128 MiB,并且在分块到达时即时累计、越限立即断开连接,而不是先收完再比较;流式路径(透传与流式转换)本就不整体缓冲,不设总量上限。
  • 解压预算前置:解压配额加在解码器读取侧,gzip、deflate、zstd、brotli 全覆盖,压缩炸弹无法不受控地膨胀;越限响应映射为独立的 502,不会被误判为可重试的网络错误。
  • 深链确认框补上两个字段:供应商导入确认框此前会解析并持久化 usageAccessToken 与 usageUserId,却从不显示它们;现在两个字段都在批准前展示,令牌照常脱敏。

性能

备份:导出批量化,恢复单事务

两个方向各有一个独立的成本。导出侧此前每行数据一条 INSERT,导入大备份时 SQLite 要逐条解析、准备、销毁数万条语句;现在按 200 行 / 1 MB 一批生成多行 INSERT,语句数少两个数量级,备份文件本身也缩小约 4 倍。恢复侧,每次 WebDAV / S3 同步导入后要把保留在本地的表逐行写回,此前每一行都是一个隐式事务——每行付一次完整的日志写入与 fsync,正是大库自动同步周期性卡住应用的元凶;现在整个恢复在单个事务内完成。

旧格式的单行备份照常导入,新格式也在所有随应用分发的 SQLite 支持范围内,跨版本双向兼容。#2100 报告的跨机导入卡死很可能因此缓解——欢迎在该 issue 反馈实测结果。(#6122)

Codex 用量全量重导入提速约 3 倍,Windows 收益更大

全量重导入——导入 v16 之前的 SQL 备份、跨机恢复后游标不匹配、或手动重建时触发——在大语料上会把一个 CPU 核心跑满数分钟:每个 token 事件各自构成一个自动提交事务,每行付一次完整的日志创建 / fsync / 删除循环;每个归档文件还要跑一条用不上索引的游标继承查询。

现在事件按 1,000 条一批提交,批...

Read more

CC Switch v3.19.1

Choose a tag to compare

@github-actions github-actions released this 31 Jul 14:53

CC Switch v3.19.1

这一版的主线是把上一版的尾巴收干净:三家国产 Codex 网关经确认原生支持 Responses API,不用再开本地路由接管——DeepSeek 与火山方舟 Coding Plan 的预设从走本地路由改为直连,新加入的腾讯混元 TokenHub 一上来就是直连;四个能在日常里撞上的故障被修掉——Claude Desktop 用量自 v3.18.0 起被算了两遍(升级后历史数字会自动回正,但有 30 天窗口,见「升级提醒」)、切回官方 Codex 会卡在 401 且看不到登录界面、从设置页升级 Grok Build 只报一句 os error 2、Grok Build 开启接管后直接 404。另有 8 个此前一直按 $0 记账的模型补上内置定价,39 个界面文案的语言问题被修正。本版没有数据库迁移,并且是本项目第一个删除量超过新增量的版本。

English → | 日本語版 →


重点内容:你现在可以

  • 让 DeepSeek、火山方舟 Coding Plan、腾讯混元在 Codex 里直连:三家的官方 Codex 文档都已确认端点原生提供 Responses API。DeepSeek 与火山方舟 Coding Plan 的既有预设从 Chat 格式改为原生格式,供应商卡片上的「需要路由」标记与切换时的提示随之消失,请求不再经过本地代理的协议转换;腾讯混元 TokenHub 是本版新增的预设,从一开始就是原生格式。注意 DeepSeek V4 Pro 暂时还不能直连——厂商侧尚未开通它的 Codex 集成,直连请用 V4 Flash(预设默认),详见升级提醒。
  • 让 DeepSeek 用上 DeepSeek 自己发布的模型目录:新的「官方厂商目录镜像」机制把厂商公布的 models.json 原样下发给该厂商自己的端点,freeform apply_patch 与配套的 GPT-5 提示词框架成套保留,不再被压成中性模板。判定只认域名、不认模型名——同一个模型在聚合站上未必实现同样的能力。
  • 拿到正确的 Claude Desktop 用量数字:自 v3.18.0 起,经本地网关的 Claude Desktop 流量在看板里被记了两遍——一遍来自代理、一遍来自会话日志导入,token、费用与请求数约翻倍。本版修好后,明细行还在的日子会自动回到正确数字,不需要重建。
  • 切回官方 Codex 之后能正常登录:此前从第三方供应商切回内置的官方 Codex 条目时,第三方的 key 会留在 ~/.codex/auth.json 里,Codex 拿着它去请求官方端点,稳定 401——又因为文件存在,它不会退回自己的登录界面,在应用里没有出路。
  • 从设置页把 Grok Build 升上去:grok update 自 0.2.112 起改为内部调用 npm 完成分发,而图形界面启动的应用看不到 node,升级只会报一句 Error: No such file or directory (os error 2)。
  • 给 Grok Build 开启接管而不是撞上 404:API 格式被手动改成 OpenAI Chat 或 Anthropic 的 Grok Build 供应商,开启接管后请求会打到一个代理没有注册的路由上,直接 404,且没有故障转移、没有用量记录。同时,Grok Build 的每次请求此前都被当成新会话,缓存键注入与按会话聚合都失效了。
  • 看到 8 个此前一直按 $0 记账的模型的真实成本:gpt-5.3-codex-spark、gemini-3.5-flash-lite、kimi-k2.7-code-highspeed、glm-5-turbo、glm-5v-turbo、qwen3.6-flash,以及不带日期后缀的 claude-opus-4-6 / claude-sonnet-4-6。
  • 在繁体中文界面里看懂「关于」页的工具管理:30 个只补了简中 / 英文 / 日文的文案漏了繁体中文,因为 i18next 会静默回落英文,这块面板自 v3.16.0 起一直是半英文的。另有 9 个文案在所有语言下都显示简体中文。
  • 在官方订阅与 DeepSeek 之间来回切,而不是二选一:auth.json 与 config.toml 都是单槽文件,Codex 自己存不下第二份凭据。厂商的一键脚本会把这份配置改造成自己专用的,而 CC Switch 是按供应商整段快照与还原——这也是它和官方脚本最实际的区别,详见下文对照。

使用攻略

本版的改动集中在 Codex 的连接方式与用量统计口径上,建议结合以下文档了解:

  • 本地路由:哪些供应商需要开启接管、接管做了什么。本版之后 DeepSeek、火山方舟 Coding Plan 与腾讯混元都不再需要它。
  • 用量统计:用量看板的数据来源与统计口径,理解 Claude Desktop 双算是怎么发生的、修复后为什么部分历史日期无法回正。
  • 在 Codex 中用 DeepSeek 这类 Chat 格式 API:这篇攻略讲的是本地路由如何把 Responses 转换成 Chat Completions,已针对本版更新。开头新增了一节判定:用预设新建的 DeepSeek 走直连不需要路由,但升级前保存的供应商、以及要用 deepseek-v4-pro 时仍然需要;机制部分对 Kimi、智谱 GLM、SiliconFlow 等仍是 Chat 形态的供应商完全适用。

Warning

唯一官方渠道声明(请务必阅读)

CC Switch 是完全免费、开源的桌面应用,不会向用户收取任何费用。请仅通过下列官方渠道获取本软件:

类别 唯一官方
官网 ccswitch.io
源码 github.com/farion1231/cc-switch
下载 GitHub Releases
作者 @farion1231
举报山寨 GitHub Issues

任何向你收费、要求充值、或索取登录凭据的"CC Switch"网站或客户端均为假冒。如果你被诱导支付了费用,请立即停止操作并通过 GitHub Issues 反馈。


概览

CC Switch v3.19.1 是一次维护性发布,主线有三条。第一条是国产 Codex 网关集体转向原生 Responses:DeepSeek 直连 api.deepseek.com,并带来一个可复用的机制——把厂商自己发布的模型目录原样镜像下发,让 freeform apply_patch 与配套的 GPT-5 提示词框架保持自洽,而不是被折叠成中性模板;火山方舟的 Coding Plan 端点 /api/coding/v3 在官方文档确认后跟进;腾讯混元的 TokenHub 作为新预设加入。三者都不再需要开启本地路由接管。

第二条是四个现场可见的故障修复:Claude Desktop 的用量自 v3.18.0 起被记两遍(#5938);切回内置官方 Codex 供应商会留下第三方的 auth.json,导致 401 且看不到登录界面;grok update 在图形界面下只报 os error 2;Grok Build 的代理接管在非 Responses 后端上 404,且每次请求都被当作新会话(#5677)。第三条是减重:3,166 行已无任何调用方的代码与 4 个未使用的 npm 依赖被删除——本版是本项目第一个删除量超过新增量的版本。此外,深链导入确认框的脱敏更严、截断更少,8 个此前按 $0 记账的模型补上定价,4 个内置定价与厂商牌价重新对齐。本版没有数据库 schema 迁移(版本号保持 v16),升级轻量。

发布日期:2026-07-31

更新规模:12 commits | 71 files changed | +2,324 / -3,680 lines


新功能

官方厂商模型目录镜像(DeepSeek 首发)

Codex 从一个目录文件读取模型能力,而 CC Switch 此前对所有供应商都用中性模板生成这个目录——对聚合站这是对的,但会剥掉厂商自家集成所依赖的能力。现在,凡是随应用内置了官方目录的厂商,直接镜像下发它自己的那一份。

DeepSeek 是第一家:内置文件带着 deepseek-v4-flash 与 deepseek-v4-pro 两个条目,保留 apply_patch_tool_type: "freeform"、web_search_tool_type: "text"、supports_search_tool: true、low / high / max 三档思考强度,以及 base_instructions 与 model_messages 里那份 17,644 字符的 GPT-5 提示词框架——这份框架必须与 freeform 工具注册一起走,因为框架本身就在指导模型使用 apply_patch,拆开任何一半都会不自洽。

判定条件刻意收得很窄:供应商必须落在原生 Responses 档并且 base_url 在 deepseek.com 上。只认域名、不认模型品牌——同一个模型在转售它的聚合站上未必实现同样的能力,按品牌授予等于把能力凭空发给了没有实现它的服务。供应商自己在目录里写死的条目仍然优先;遇到不认识的模型 ID 会克隆旗舰条目,但保留它自己的名称。其它所有档位生成的目录与改动前逐字节一致。

腾讯混元(TokenHub)Codex 预设

Codex 的预设选择器里新增「Tencent Hunyuan」,归入「开源官方」分类,位于百炼与阶跃之间。选中即写好 https://tokenhub.tencentmaas.com/v1、wire_api = "responses" 与 TokenHub 强制要求的 disable_response_storage = true;声明 hy3 与 hy3-preview 两个模型,上下文窗口 256K(而不是接受 Codex 的 128K 默认值),并标记为纯文本——Codex 不会再把 view_image 的图片载荷发给读不了图的模型。

因为是原生 Responses 供应商,Codex 直连网关、无需本地路由;生成的目录走中性原生模板,会固定 shell_type = "shell_command" 并去掉原生网关拒收的 freeform apply_patch 注册。地址管理器与测速里从一开始就有两个候选:主域名与官方备用的 .cn 域名;区域独立的国际站刻意排除在外,因为 API Key 不跨站通用。

注意 API Key 需要是开通了 Hy3 权限的 TokenHub key,Coding Plan 与 Token Plan 的订阅 key 在这个端点上用不了。

8 个此前按 $0 记账的模型补上内置定价

gpt-5.3-codex-spark、gemini-3.5-flash-lite、kimi-k2.7-code-highspeed(按 Kimi 的 Turbo 惯例,取 kimi-k2.7-code 基准价的 2 倍)、glm-5-turbo、glm-5v-turbo、qwen3.6-flash 在内置定价表里根本没有行,前缀回退也够不着,因此每一次请求都被记成零成本。

另外两行 —— 不带日期后缀的 claude-opus-4-6 与 claude-sonnet-4-6 —— 补的是一个更隐蔽的缺口:模型 ID 解析只会剥掉日期后缀、从不补上,所以一条带着无日期 ID 的日志谁也匹配不到。八行全部按「不存在才插入」播种,你改过的价格不受影响。

Grok Build 加入故障转移页签与环境变量冲突检测

设置页的故障转移在 Claude Code、Codex、Gemini 之外新增第四个 Grok Build 页签。启动时的环境变量冲突横幅也开始检测 XAI_API_KEY 与 GROK_DEFAULT_MODEL——这两个变量会静默盖掉你在应用里选的供应商。检测区分了精确名与前缀,所以 CC Switch 自己用的 GROK_BIN_DIR、GROK_HOME 不会被误报。


变更

DeepSeek 与火山方舟 Coding Plan 改为直连 Codex,不再需要本地路由

两家的预设此前都标记为 OpenAI Chat 格式,因此都是「需要接管」的:供应商卡片带着「需要路由」标记,未开代理就切换会弹提示,每个请求都要走 Codex → 本地代理 → Responses 转 Chat → 上游这条链路。

现在两家的官方 Codex 集成文档都已确认端点提供 Responses API——DeepSeek 的 api.deepseek.com 与火山方舟的 /api/coding/v3——两个预设随之声明为原生 Responses,标记与提示消失,Codex 直连网关。两家写出的 config.toml 都没有变化(本来就是 wire_api = "responses"),变的是目录生成档位;DeepSeek 另外把上下文窗口从 1,000,000 对齐到厂商自己的 1,048,576。

BytePlus 国际站刻意保持 Chat 路由不变,等国际站文档单独核实后再说。火山预设里还留了一条值得知道的计费注记:按量计费的 /api/v3 端点绝不能加进这个预设的备用地址——它单独计费,不走套餐额度。

目录的显示名与上下文窗口改为「显式才生效」

这两个字段此前带着本地默认值——模型 ID 与 128,000 的窗口——并且在厂商值有机会参与之前就应用了,镜像目录里 1M 的窗口会被 128K 覆盖掉。现在它们是可选的,回退挪到条目构造那一层,于是「留空」才真正等于「沿用厂商声明的值」。显式写了这两个字段的供应商,以及所有非镜像档位,生成的目录与之前完全一致。


用 CC Switch 接入,和直接跑官方脚本有什么不同

DeepSeek 官方提供了一条 Codex 一键接入脚本,它能用、会备份、也带恢复菜单。如果你这台机器就打算专心用 DeepSeek,跑官方脚本没有任何问题。 CC Switch 解决的是另一个场景:你要在多个供应商之间来回切。

换供应商时,登录态与配置整套换,不用自己备份

~/.codex/auth.json 与 ~/.codex/config.toml 都是单槽文件——Codex 本身没有多凭据存储,一份配置只能对应一个供应商。CC Switch 在你切走某个供应商时,把这一对文件的内容整段快照进那个供应商的记录里;切回来时再整段写回。所以「ChatGPT 订阅 → DeepSeek → 切回订阅」通常不需要重新 codex login,第三方之间来回切则完全无需手工动作。手工做同一件事,你得在每次切换前后各拷贝一次这两个文件,漏一次,被覆盖的 OAuth 凭据就只能重新登录找回。

官方脚本的取舍不同:它把 config.toml 改造成 DeepSeek 专用配置——顶层写死 preferred_auth_method = "apikey" 与 forced_login_method = "api",把认证方式固定为 API Key,并且删除 config.toml 里已有的 [profiles.*](Codex 自带的多供应商切换机制)。你的 ChatGPT 登录凭据本身没有被删,auth.json 原封不动;但在这份配置下用不上,想回订阅需要跑脚本的恢复菜单整体回滚——回滚会连带丢掉安装之后你对 config.toml 的任何手改。脚本本身也只能在 flash 与 pro 之间切换,没有「换到第三个供应商」这一档。

换供应商之后,codex resume 里的旧会话还在

Codex 的续聊列表按会话里记录的 model_provider 分抽屉。CC Switch 创建的所有第三方 Codex 供应商——不管是 DeepSeek、Kimi 还是聚合站——都写同一个标识 custom,所以在它们之间怎么换,codex resume 一直能看到全部历史。CC Switch 首次启动时还会做一次性迁移,把已知的按厂商分桶的旧会话(官方脚本写入的 deepseek 也在其中)折进这个共享桶,原文件先备份到 ~/.cc-switch/backups/。

这里有一条明确边界:这个迁移只在 CC Switch 首次启动时跑一次。如果你先装了 CC Switch、之后才去跑官方脚本,那批带 deepseek 标识的会话不会再被折进来,它们会留在自己的抽屉里。另外,你手写的、不在已知名单里的供应商标识,CC Switch 刻意不去改动它。

官方订阅的会话,在 CC Switch 里本来就和第三方混排

CC Switch 的会话管理面板直接扫描会话目录、不读 model_provider,所以官方订阅期间产生的 Codex 会话一直和第三方会话在同一个列表里,可搜索、可续聊、可删除——不需要开任何开关。

如果你还希望 Codex 自己的 codex resume 列表也把官方与第三方合并,那是另一件事:设置 → 通用 → Codex 应用增强 → 「统一 Codex 会话历史」,默认关闭。开启后只影响新会话;已有的官方会话要一并迁入,需要在开启确认框里再勾选「同时迁入现有官方会话历史」(同样默认不勾)。这两项都是既有功能、不是本版新增,边界场景见《统一 Codex 会话历史》攻略。

两个共同前提,先说清楚免得你事后困惑:

一、以 CC Switch 指向的 Codex 目录为准。 默认是 ~/.codex,可在设置里改。CC Switch 不读 CODEX_HOME 环境变量——如果你用这个变量把 Codex 指到别处,那边的会话它看不见,供应商切换也会写进 CLI 没在用的目录里。要换目录请用 CC Switch 自己的「配置文件目录」设置。

二、出现在同一个列表里,不等于一定能续聊。 Codex 的推理内容(encrypted_content)只有产生它的后端能解密,跨供应商继续一段旧会话可能失败——这是上游的设计,不是 CC Switch 能绕过的。


修复

Claude Desktop 的用量被算了两遍

经本地网关的 Claude Desktop 流量在用量看板里落两次——一次是代理行,一次是会话记录导入行——于是它的 token、费用与请求数大约翻倍。

这是 v3.18.0 引入的回归:代理侧的去重 ID 对除 claude 之外的所有应用都带上作用域前缀,写成 session:{应用}:{供应商}:{消息ID},这就把 claude-desktop 放进了独立命名空间;而会话导入器仍然以裸的 session:{消息ID} 形态、app_type = 'claude' 写同一条 Claude 消息。三道去重防线因此同时失守:让代理行吸收已有会话行的主键收敛、写入侧的指纹探测、读取侧的过滤器——后两者都在用严格相等比较应用类型。

现在两个应用重新共用裸命名空间,两处比较则按单向规则放宽:claude 的会话行可以被 claude-desktop 的代理行吸收,反过来不成立。由于读取侧的过滤器也正是日报聚合所使用的那一个,已经入库的重复行会停止被计入,不改写、不删除任何一行——这条自愈有保留期限制,见「升级提醒」。对 Codex、Gemini、OpenCode 而言放宽后的比较退化为原来的精确匹配,额度检查仍使用严格匹配。([#5938](https://github.com/f...

Read more

CC Switch v3.19.0

Choose a tag to compare

@github-actions github-actions released this 30 Jul 04:27

CC Switch v3.19.0

这一版的主线是让你更放心:一波集中式安全加固——Skill 安装、ccswitch:// 导入确认、SQL 备份导入、通用配置合并、终端启动全部收紧,其中两条需要你花一分钟确认——Gemini 通用配置的密钥泄漏已修复并在升级后自动清洗(需要你轮换密钥),ccswitch:// 的 MCP 导入确认框此前可能显示不出即将写入的命令(若你曾打开过来源不明的导入链接,建议核对一次),两条都见「升级提醒」;一个代理正确性大修——通过代理读图不再撑爆上下文(一张截图曾经吃掉 10 万+ token,两三张就能把 Codex 会话卡死在 400 上)。省心的部分同样实在:模型定价可以交给 models.dev 自动维护、Grok CLI 官方登录模式的用量与 SuperGrok 订阅余量终于进看板、应用内更新改走 dl.ccswitch.io 镜像——GitHub 访问不畅也能顺利升级。

English → | 日本語版 →


重点内容:你现在可以

  • 在代理下正常读图,不再撑爆上下文:Codex 的 view_image、返回图片的 MCP 工具,图片此前被序列化成工具文本、按纯文本计 token(约 9,000 倍膨胀);现在所有转换桥都把图片还原为原生格式再上送(文件与音频在两条 Chat 桥上一并支持)。真实测试里同一回放轮从 85k+ token 降到约 12k、缓存命中 99%。
  • 把模型定价交给 models.dev 自动维护:用量面板新增「models.dev 自动定价同步」(默认关闭)。开启后启动时自动刷新所选模型的价格(每 6 小时至多一次),可在完整目录里挑选要跟踪的模型,或让它自动包含各家最新的常用模型。手工改价与删价从本版起会记入 ~/.cc-switch/model-pricing.json,数据库重建也不丢。
  • 看到 Grok 官方模式的用量与订阅余量:Grok CLI 用官方 OAuth 登录时无法走本地代理,此前这部分消耗完全不可见;现在会从会话日志导入逐轮用量,看板里以「Grok Build (Session)」呈现。官方类 Grok Build 供应商卡片还会直接显示 SuperGrok 订阅的额度用量与重置时间。
  • 更放心地点开 ccswitch:// 导入链接:确认框现在完整展示命令、每个参数、URL 与环境变量(凭据类值脱敏显示),高亮标记值得多看一眼的值——shell 内联执行、改变加载行为的环境变量、内网 / 元数据地址;用量查询脚本会显示完整代码,且默认以禁用状态导入。
  • 确认 Gemini 供应商里不再夹带别人的密钥:通用配置共享片段此前会把 GOOGLE_API_KEY 等凭据复制进每个使用它的 Gemini 供应商;本版关闭该路径,升级后首次启动自动执行一次性清洗。凡是进过共享 Gemini 片段的密钥都应视为已暴露,请先轮换再重填(见「升级提醒」)。
  • 在 GitHub 访问不畅时照常更新应用:应用内更新器优先查询 https://dl.ccswitch.io/latest.json(Cloudflare R2 镜像),GitHub 作为回落;minisign 签名校验不变,镜像本身不被信任。
  • 新建供应商时直接用上最新模型:预设默认模型升级为 Claude Opus 5、GPT-5.6 Sol 与 Gemini 3.6 Flash,配套定价同步入库;已创建的供应商保持原样。
  • 更快导入 fork 密集的 Codex 用量历史:父 rollout 文件只解析一次、跨全部 fork 点共享,fork 密集的历史重建明显提速,导入结果逐字节不变。

使用攻略

本版新能力主要落在用量面板与 ccswitch:// 深链导入上,建议结合以下文档了解:

  • 用量统计:用量看板的数据来源与统计口径。本版新增 models.dev 自动定价同步与 Grok 官方模式用量导入。
  • 深链导入(ccswitch://):导入确认框的字段说明与 usageEnabled 等参数的默认值(本版起用量脚本默认禁用导入,文档已同步修正)。
  • 安全策略(SECURITY.md):本版补齐了威胁模型与报告范围——哪些输入被视为不可信、哪些问题欢迎报告,一目了然。

Warning

唯一官方渠道声明(请务必阅读)

CC Switch 是完全免费、开源的桌面应用,不会向用户收取任何费用。请仅通过下列官方渠道获取本软件:

类别 唯一官方
官网 ccswitch.io
源码 github.com/farion1231/cc-switch
下载 GitHub Releases
作者 @farion1231
举报山寨 GitHub Issues

任何向你收费、要求充值、或索取登录凭据的"CC Switch"网站或客户端均为假冒。如果你被诱导支付了费用,请立即停止操作并通过 GitHub Issues 反馈。


概览

CC Switch v3.19.0 由一波安全加固与一个代理正确性大修领衔。安全侧(#5811 及后续独立修复):从 GitHub 仓库安装 Skill 加固了 zip-slip 与路径穿越并设归档上限;Gemini 通用配置的密钥泄漏被关闭,升级后首次启动自动执行一次性清洗,把已经泄漏进其它供应商配置的密钥清理干净;导入 SQL 备份改在 SQLite authorizer 下执行,ATTACH 等能触及导入库之外的语句一律拒绝;通用配置片段合并不再跟随 __proto__ 污染全局原型;外部终端启动改用 POSIX 单引号转义,目录名再也注入不了命令;ccswitch:// 导入确认框完整展示载荷(凭据类值脱敏显示)并标记风险值,用量脚本默认禁用导入。代理侧,工具结果里的图片不再被序列化成工具文本,而是在各转换桥还原为原生媒体上送(文件与音频在两条 Chat 桥上一并支持)——终结了「一张 113 KB 截图吃掉 10 万+ token、两三张图把 Codex 会话卡死在 400 上」的问题(#4465、#5663)。

用量统计获得两块新能力:models.dev 自动定价同步(可选开启,#5734),配套把手工改价 / 删价持久化到人类可编辑的 ~/.cc-switch/model-pricing.json;以及 Grok CLI 官方 OAuth 模式的用量导入——这条流量无法走本地代理,此前完全不可见——外加供应商卡片上的 SuperGrok 订阅配额展示。围绕分发与体验:应用内更新优先走 dl.ccswitch.io 的 Cloudflare R2 镜像(GitHub 回落,签名校验不变);Codex 用量导入对 fork 会话重用已解析的父 rollout 时间线(#5626);预设默认模型升级为 Claude Opus 5、GPT-5.6 Sol 与 Gemini 3.6 Flash;OpenClaw 的 Kimi For Coding 预设修正了 base URL;工具栏应用切换器改为纯图标。本版没有数据库 schema 迁移,升级轻量。

发布日期:2026-07-30

更新规模:38 commits | 132 files changed | +14,926 / -1,415 lines


新功能

models.dev 自动定价同步

用量面板的定价区新增「models.dev 自动定价同步」卡片,默认关闭、需手动开启:开启时会有确认说明——CC Switch 将在启动时(每 6 小时至多一次)从 models.dev 刷新所选模型的价格,同名模型的内置价与手工价都会被覆盖。「选择模型」对话框提供完整的 models.dev 目录(可搜索筛选),另有「自动包含常用模型」选项,覆盖 Claude、GPT、Gemini、Grok、DeepSeek、Qwen、MiMo、LongCat、Kimi、MiniMax、GLM 各家最近发布的模型(每族至多 6 个,可单独排除)。卡片显示上次同步时间与错误,提供「立即同步」,还能打开或重载本地定价文件。

从本版起,手工改价与删价会同时记入数据库旁边的人类可编辑文件 ~/.cc-switch/model-pricing.json,每次启动重放——数据库重建后手工定价不再丢失,删掉的内置价也终于能删得掉(以墓碑记录,不再被重新播种)。注意该文件创建时为空、刻意不从既有定价表回填(否则内置价会被一并写成覆盖项、挡掉将来的内置价修正),升级前的改价仍只存在数据库里,重存一次即可入文件。同步真的改了价格时,会把从未算出成本(零或缺失)的历史用量行按新价补算——已有成本的行保持原值;拉取失败或离线绝不阻塞启动。models.dev 列表还过滤掉了非文本与已弃用的模型(音频 / 图像 / 视频 / embedding 等),手动选价对话框一并清爽了。(#5734)

Grok 官方模式的用量,终于进看板

Grok CLI 用官方 OAuth 登录时无法经本地代理路由——Grok 以空配置作为模式开关,没有地方能把它指向 CC Switch——这部分消耗此前在用量看板里完全不可见。现在 CC Switch 会随常规会话日志同步,从 ~/.grok/sessions(含归档会话)的 updates.jsonl 里按 turn_completed 事件导入逐轮用量:成本优先采用 CLI 自己上报的精确数字,缺失时回落本地定价(内置定价表新增 grok-4.5-build,$2 输入 / $6 输出 / $0.30 缓存读,每百万 token)。导入行以上游逐轮 ID 为键,回卷会话不会造成重复计数;沉淀窗口加近期代理活动检查,确保同一流量在「路由 + 官方」混用时也不会算两次。看板里新行以「Grok Build (Session)」供应商名呈现,应用筛选器新增 Grok Build 选项,数据来源分栏新增「Grok Build Session」条目与专属图标,四语齐全。

供应商卡片上的 SuperGrok 订阅配额

类别为「官方」的 Grok Build 供应商,卡片上现在直接显示 SuperGrok 订阅用量——与 Claude Code / Codex / Gemini 的官方订阅页脚并列:CC Switch 读取 Grok CLI 自己的 OAuth 凭据(~/.grok/auth.json),查询 grok.com 计费端点获取额度窗口的已用百分比与重置时间;重置间隔可识别时标注为「周」或「月」,否则归入新的「Credits」档(托盘用量摘要中以 c 组呈现)。网络瞬断时保留上一次读数并重试,不清空页脚;令牌过期会提示重新 grok login。Claude Code、Claude Desktop 与 Codex 里的受管 xAI OAuth(SuperGrok)供应商也自动获得同款配额展示——数据来自绑定到该供应商的账号,用量脚本入口随之隐藏。注意 Grok Build 供应商的「官方」判定现在只看 category 字段,不再探测配置内容。

Claude Opus 5 内置定价

claude-opus-5 加入内置定价表:$5 输入 / $25 输出、$0.50 缓存读 / $6.25 缓存写(每百万 token),用量不再显示 $0。按「不存在才插入」播种,改过的价格不受影响(Opus 5 fast 模式走独立计费,刻意未入表)。

预设目录更新

A6API(同模型多上游自动择优的聚合平台)加入八个应用的赞助商预设;PackyCode 预设在支持备用端点的五类预设(Claude Code / Claude Desktop / Codex / Gemini CLI / Grok Build)上新增三个备用地址,可在地址管理器与测速里选择;AICoding 合作伙伴预设回归七个应用;赞助商排序与 README 重新对齐。


变更

预设默认模型升级:Claude Opus 5、GPT-5.6 Sol、Gemini 3.6 Flash

内置预设的默认模型全面来到当前一代:claude-opus-5 替换 claude-opus-4-8(三种命名形态全覆盖),gpt-5.6-sol 替换 gpt-5.5 与裸 gpt-5.6,gemini-3.6-flash 替换 gemini-3.5-flash。同步更新了所有镜像位置——通用 / NewAPI 默认值、Codex 自定义 config.toml 模板、推荐列表、表单占位符与四语文案;gemini-3.6-flash 定价同步入库($1.50 / $7.50、缓存读 $0.15,每百万 token)。仍钉在 gemini-3.1-pro-preview 的 Code0 与七牛 Gemini 预设一并对齐到 3.6 Flash——这是有意的档位调整:3.6 没有 Pro 版,3.5 Pro 仍限合作测试。默认值只影响新建供应商,已保存的供应商维持创建时的模型;Claude Desktop 的 opus 路由现值前进到 claude-opus-5,claude-opus-4-8 转入兼容别名槽,存量配置照常解析。

应用内更新改走 ccswitch.io 镜像

更新器现在优先查询 https://dl.ccswitch.io/latest.json——发布清单的 Cloudflare R2 镜像——GitHub Releases 作为回落,检查与下载更新不再依赖 GitHub 可达。镜像清单把各平台下载指向同一存储桶,而 minisign 签名保持不动:签名覆盖的是文件内容而非 URL,每个下载产物仍会对着内置公钥校验,镜像本身始终不被信任。发布由 release 门控的同步工作流负责,只有当 tag 确为 GitHub 的 releases/latest 时才改写根清单,镜像永远不会把用户往回推到旧版本。

Codex 用量导入:fork 会话提速

导入与重建 Codex 用量统计不再对同一个父 rollout 文件按 fork 点逐次重读:每个父 ~/.codex/sessions/*.jsonl 只解析一次,生成内存中的 token 时间线,由所有从它 fork 出的子会话共享,各子会话的截断点改为内存过滤。缓存以文件身份戳校验(修改时间、大小,加 Unix 的 device/inode 或 Windows 的卷序列号 + 文件 ID),被追加、轮转或替换的父文件会重读而不是拿到陈旧数据。提速幅度取决于 fork 密度:fork 密集的历史冗余解析大幅减少,fork 稀少的历史基本不变——两种情况下导入结果都逐字节一致。(#5626)

工具栏应用切换器改为纯图标

切换器按钮不再在图标旁渲染文字标签——受管应用增至八个后,标签本来就几乎总是被溢出检测收起,于是移除了基于 ResizeObserver 的自动紧凑机制,始终只显示图标。应用名保留在悬停提示里,读屏器经 aria-label 照常可及。

赞助商域名与推荐链接刷新

多家赞助商迁移了域名,预设地址、备用端点、推荐链接与 README 行已同步(PackyCode → www.packyapi.ai、RightCode → www.rightapi.ai、ClaudeAPI → www.apito.ai、APINebula → apinebula.ai、AICodeMirror → .ai、AICoding → .inc、AIGoCode → .app),顺带移除了两个已失效的备用端点。已创建的供应商保留数据库里存的旧地址——想迁到新域名,手动改地址或从刷新后的预设重建即可。


修复

通过代理读图不再撑爆上下文

客户端经工具调用读取图片时——Codex 的 view_image,或任何返回图片的 MCP 工具——代理的协议转换会把整个图片块序列化进工具消息的文本里,上游按纯文本给 base64 计 token:约 9,000 倍的膨胀,一张 113 KB 的 PNG 折算 10 万+ prompt token;Codex 每轮重放全部历史,两三张截图就足以把会话顶出上下文窗口、卡死在反复的 400 上(#4465、#5663)。

代理现在把媒体载荷从工具结果里提出来、按各桥的原生格式重新上送——图片全桥覆盖,文件与音频在目标协议支持处生效:两条 Chat 桥(Claude→Chat、Codex Responses→Chat)承载图片 / 文件 / 音频,工具消息里留下简短标记、媒体作为合成用户消息紧随工具批次之后;Claude→Responses 还原原生 input_image,Codex / GrokBuild→Anthropic 重建标准 Anthropic 图片块,Claude→Gemini 在 Gemini 3 上用多模态 functionResponse.parts(旧型号用 inlineData),只接受内联 base64 图片。检测覆盖有类型的 Responses 块、Anthropic source 块、MCP data+mimeType 结果与整串图片 data URL,可穿透数组与嵌套 content 包装(含 JSON 编码的工具输出);一旦判定输出含媒体,其中残留的 data URL 与裸 base64 会被折叠成占位——裸 base64 本身从不触发媒体判定,普通工具输出原样不动。不含媒体的工具结果在所有桥上保持与之前逐字节一致,prompt 缓存前缀不受影响;上送的媒体块刻意不带 cache_control 标记,GLM、Qwen 这类严格上游不会拒收。对 Kimi K3 的端到端实测:同一回放轮稳定在约 12k 输入 token、缓存命中 99%,此前每次重放要背 85k+ 的 base64 文本。

「不支持图片回退」现在能看到工具结果里的图

「不支持图片回退」设置会在供应商仅文本或上游拒图时用占位标记替换图片块,但它此前只能看到仍是结构化块的图片——已被打平成 base64 文本的工具结果图片对它不可见,仅文本上游直接失败、无从恢复。媒体清洗器现在在每条路径上对称地检测并剥离工具输出内的媒体,发送前剥离与被拒后重试两条路都能救回这类轮次;由于该检测现在也深入工具结果,一条回归测试钉住了反应式重试仍只对真正的模态拒绝触发——上下文超限的 400 不会被误当拒图去重试。

Grok Build 成本回填不再高估

补算缺失成本的例程此前只把 Codex 与 Gemini 视为「上报输入 token 已含缓存读」的供应商,而 Grok Build 同属该口径——被回填的 Grok Build 行按全量输入计价、缓存读又计一次,成本虚高。缓存含入式供应商集合现在只定义一处,由路由记录器、成本计算器与回填例程共享,三者不再可能各说各话。注意此前已被旧回填修过的行保持原值——回填只处理零成本行,从不改写已有正成本。

手工编辑的配置文件不再让应用崩溃或吞掉编辑

~/.codex/config.toml 里 mcp_servers 存在但不是表(比如 `mcp_servers = "x"...

Read more

CC Switch v3.18.0

Choose a tag to compare

@github-actions github-actions released this 21 Jul 15:34

CC Switch v3.18.0

这一版你可以做两件全新的事:把 xAI 的 Grok CLI(Grok Build)交给 CC Switch 管理——它成为第八个受管应用,供应商一键切换、MCP / Skills 同步、代理接管与用量统计一应俱全;以及把 Grok 接进 Claude Code、Claude Desktop 和 Codex——既可以直接用 xAI Grok 账号登录(设备码授权、无需 API Key,跑你的 Grok 订阅,Codex 侧自带严格网关兼容层,codex 0.142+ 也能跑通),也可以用 xAI API Key 接入(Codex 有原生 Responses 直连预设,Claude Code 可走本地路由)。同样重要的是一波修复:v3.17.0 引入的 Codex 用量双计已修,升级后自动重建数据,看板数字恢复真实;codex 0.144.5+ 因模型目录无法启动的问题已修;Windows 上切换供应商不再闪黑窗、不再卡住界面。诊断日志也从「每次启动清空」变为跨重启持久保留、按大小轮转、全面脱敏,界面崩溃会落盘留证而不再只剩一片白屏。

English → | 日本語版 →


重点内容:你现在可以

  • 管理 Grok Build(xAI 的 Grok CLI):像管理 Claude Code / Codex 一样添加、导入、一键切换 Grok Build 的供应商;MCP 服务器与 Skills 双向同步、提示词首启自动导入、会话管理与用量看板全覆盖;还可以走本地代理接管,获得独立的路由、failover 与计费。
  • 把 Grok 接进 Claude Code / Claude Desktop / Codex——账号登录与 API Key 双路径:订阅用户在「设置 → OAuth 授权中心」用设备码完成 xAI 账号登录(支持多账号),三个客户端直接跑你的 Grok 订阅、全程无需 API Key;按量付费用户则用 xAI API Key 接入——Codex 有现成的「xAI (Grok)」预设原生直连 api.x.ai,Claude Code 可按本版新攻略走本地路由接入。默认模型均为 grok-4.5。
  • 把 Codex 的用量数字修回真实值:v3.17.0 的 fork / 子代理双计问题已在解析器层根治;升级后首次启动自动备份并重建 Codex 用量,用量页里也新增了手动「重建 Codex 用量」按钮。注意首次启动时历史记录是逐渐修复的——看板数字先变少、再随后台重导逐步回填,属预期行为(见「升级提醒」)。
  • 放心升级 codex CLI:codex 0.144.5 起严格解析模型目录导致的「无法启动」已修复,生成目录会自动补齐解析器必需字段。
  • 在 Windows 上顺滑切换:切换供应商 / 开关接管不再闪过黑色控制台窗口,也不再卡住界面约 2 秒(卡顿修复对全平台生效)。
  • 更放心地排查与分享日志:诊断日志跨重启保留(20 MB × 4 轮转)、所有出口统一脱敏——URL 凭据、请求响应体、敏感请求头都不会再落盘;界面崩溃有错误卡片和重载按钮,错误详情写入磁盘。
  • 多轮重推理、并行工具调用不再翻车:Responses↔Chat 桥修复了推理内容错挂、并行工具调用 ID 丢失 / 乱序、工具 schema 为 null 被严格上游整单拒绝三类问题。
  • 用上 Kimi K3:Codex / Hermes / OpenClaw / OpenCode 的 Kimi 开放平台预设加入 K3(1M 上下文),内置定价同步入库,用量不再显示 $0。

使用攻略

本版新能力主要落在供应商预设、「设置 → OAuth 授权中心」与用量看板里,建议结合以下文档了解:


Warning

唯一官方渠道声明(请务必阅读)

CC Switch 是完全免费、开源的桌面应用,不会向用户收取任何费用。请仅通过下列官方渠道获取本软件:

类别 唯一官方
官网 ccswitch.io
源码 github.com/farion1231/cc-switch
下载 GitHub Releases
作者 @farion1231
举报山寨 GitHub Issues

任何向你收费、要求充值、或索取登录凭据的"CC Switch"网站或客户端均为假冒。如果你被诱导支付了费用,请立即停止操作并通过 GitHub Issues 反馈。


概览

CC Switch v3.18.0 的两条主线都围绕 xAI Grok。第一条是 Grok Build 加入受管应用:xAI 的 Grok CLI(live 配置 ~/.grok/config.toml)成为与 Claude Code、Claude Desktop、Codex、Gemini CLI、OpenCode、OpenClaw、Hermes 并列的第八个受管应用——供应商添加 / 导入 / 一键切换、MCP 与 Skills 双向同步、深链导入、独立预设列表,以及带专属路由命名空间的代理接管;配套的「Grok 官方」条目支持官方登录态识别与导入,CC Switch 绝不触碰官方凭据。第二条是 xAI Grok 账号 OAuth 登录:设备码授权替代 API Key,本地代理逐请求注入访问令牌,Claude Code / Claude Desktop 侧完成 Anthropic Messages → xAI Responses 转换;Codex 侧则提供受管 OAuth 预设并自带兼容层——codex 0.142+ 发出的 ChatGPT 后端私有形态(namespace 工具声明、私有字段)会被确定性地展平与剥离,严格解析的 xAI 网关不再返回 422;API Key 用户则另有一条「xAI (Grok)」原生 Responses 直连预设,不经任何转换。

围绕正确性,本版集中修复了 v3.17.0 的 Codex 用量双计:fork / 子代理日志开头对父线程历史的重放不再被当作新用量导入(解析器改为只认显式父身份 + 令牌签名对齐),升级后自动执行一次性用量重建(schema v16),用量页新增手动重建按钮;代理侧用量记录改为幂等(同一响应重放不再堆叠重复行),大量会话导入时用量页不再卡死。Codex 转换层另有四处修复:工具 schema 归一为 object 类型、推理内容跨轮前向附挂、流式并行工具调用保 ID 保序、生成的模型目录补齐 codex 0.144.5+ 必需字段。诊断体系也走向成熟:日志跨重启持久、按大小轮转、所有出口脱敏,界面崩溃被错误边界捕获并落盘。此外还有 Kimi K3 预设与定价、OpenClaw 预设成本修正、SudoCode.us 回归、托盘首启语言跟随系统等一批改进。

发布日期:2026-07-21

更新规模:52 commits | 217 files changed | +21,452 / -6,285 lines


新功能

Grok Build:第八个受管应用

xAI 的 Grok CLI(Grok Build,live 配置 ~/.grok/config.toml)现在是 CC Switch 的一等公民:供应商添加 / 导入 / 一键切换(切换后提示重启 Grok Build 生效)、应用显隐与配置目录覆盖设置、会话管理与用量看板覆盖、提示词首启自动导入、ccswitch:// 深链导入供应商,以及本地代理接管——拥有专属的 /grokbuild/v1/responses 路由命名空间、独立的 failover 队列与按应用代理设置;转发复用 Codex 的 Responses 通路,但绝不与 Codex 共享供应商命名空间或熔断状态。

MCP 服务器与 Grok 的 [mcp_servers] 表双向同步,方言差异已被抹平:Grok 靠 command / url 推断传输类型且用 headers 字段,导出时会剥掉显式 type 并把 http_headers 重命名为 headers,导入时反向推断回来。Skills 也获得 Grok Build 启用开关。

预设方面刻意没有借用 Codex 列表(早期版本曾把国产直连供应商和 Codex 默认模型漏进 Grok 表单),而是独立整理了一份:只收录真正承载 Grok 模型的聚合与中转站,默认模型归一为 grok-4.5(命名空间路由站为 x-ai/grok-4.5)。工具面板安装 Grok 优先走 xAI 官方安装器(x.ai/cli/install.sh / install.ps1),npm 包 @xai-official/grok 作为兜底;被确认是原生安装的走 grok update 自更新,npm 安装保持 npm 锚定更新——自更新门控在「确定检测为原生」上,绝不会误伤另一种安装。四语界面文案同步就位。(#5453)

Grok 官方登录:识别、导入与保护

新增「Grok 官方」供应商条目,对应 Grok CLI 自带的 xAI OAuth 登录:选中它会隐藏连接字段并写入一个空的 ~/.grok/config.toml,CC Switch 从不存储、也从不触碰官方凭据。live 配置的读取、备份与官方态写入改用仅语法级的 TOML 校验,官方登录态(空配置)可以正常往返;Grok 处于官方登录态时「从 live 导入」会得到「已设 Grok 官方为当前」而不是报错,与 Codex 行为一致。官方态识别刻意只接线到手动导入命令——启动时的自动导入器仍会拒绝官方态配置,所以你删掉的「Grok 官方」条目绝不会在下次启动时复活。对官方登录配置的代理接管会被自动跳过,手动路径给出明确拒绝,与现有「不代理官方供应商」的策略一致。

用 xAI Grok 账号登录:Claude Code 与 Claude Desktop

Claude Code 与 Claude Desktop 新增「xAI (Grok)」预设,用 OAuth 设备码登录代替 API Key:请求经本地代理完成 Anthropic Messages → xAI Responses API 转换并逐请求注入访问令牌,各档默认模型都是 grok-4.5(Claude Desktop 预设把 claude-* 形式的角色 ID 映射到上游 grok-4.5,以通过 Desktop 的第三方模型校验)。

「设置 → OAuth 授权中心」新增 xAI 区块:设备码登录(用户码带复制按钮、验证链接、等待 / 取消 / 重试)、多账号与默认账号选择、按账号移除、重授权徽标——刷新令牌被吊销的账号会以「已过期」状态保留可见而不是消失,授权状态每 15 秒自动刷新,服务端吊销会自己浮现出来。

集成边界是钉死的:无论表单里的端点 / 格式字段怎么改,上游始终是 https://api.x.ai/v1/responses(Responses 格式);OAuth 端点经 OIDC 发现解析,但强制校验为 https 的 auth.x.ai;刷新令牌存于 ~/.cc-switch/xai_oauth_auth.json(Unix 上 0600;访问令牌只存内存);OAuth 错误响应体绝不进入错误信息或日志。grok-4.5 定价($2 输入 / $6 输出 / $0.50 缓存读,每百万 token)同步入库,用量不再记 $0,存量数据库下次启动自动补行。四语文案同步。使用前请阅读「风险提示」中的客户端身份披露。

不用 OAuth、只有按量付费的 xAI API Key?同样能接进 Claude Code:xAI 的 API 端点就是标准 Responses 协议,把它当作一个普通的 Responses 供应商添加——自定义供应商填 https://api.x.ai/v1 与 API Key、上游格式选 Responses,经本地路由完成 Anthropic Messages ↔ Responses 转换,与〈在 Claude Code 中使用 GPT 模型〉攻略是同一套玩法。Codex 侧则有现成的 API Key 预设,见下一节。

Codex 直连 xAI:OAuth 受管与 API Key 原生双预设

Codex 获得两条直连 xAI 的路——有 Grok 订阅走 OAuth 受管,有 API Key 走原生直连:

  • 「xAI (Grok) OAuth」受管预设:让 Codex 跑在 Grok 订阅上。表单隐藏密钥 / 端点 / 格式字段、显示账号选择器,「获取模型」用已登录账号发起;供应商被钉死为原生 Responses,base URL 与逐请求令牌由代理强制执行——改了也会被忽略,受管路由无法被重定向。由于 codex 0.142+ 会发出 ChatGPT 后端私有的请求形态(type:"namespace" 工具声明会让 xAI 严格解析器直接 422,另有 prompt_cache_retention、safety_identifier、external_web_access、additional_tools 载体字段和 grok-4.5 不支持的采样参数),OAuth 路由在原生透传上加了一层兼容层:namespace 工具被展平为顶层 function 工具(与 Chat 路径同款 sha256 截断命名)、响应侧流式与非流式都还原回 namespace 形态,不支持的字段被剥除——全部是确定性的字段删除 / 结构提升,绝无语义改写,prompt 缓存前缀保持稳定。兼容层只门控在 xAI OAuth 供应商类型上,任何其它供应商的流量都不受影响。
  • 「xAI (Grok)」API Key 预设:直连 api.x.ai/v1 的原生 Responses,自带 500K 上下文的 grok-4.5 目录条目。该预设不会应用上述 xAI 专属兼容转换——codex 0.142+ 的 API Key 用户仍可能撞上 xAI 的严格解析器,OAuth 预设才是完全兼容的路径。

xAI OAuth 的令牌失败被归为不可重试错误,failover 绝不会把你的对话悄悄挪到另一个 Grok 账号上。

界面崩溃捕获:错误落盘与重载页

React 错误边界现在包住整个界面(包括数据库恢复界面):渲染进程崩溃时显示「界面出错了」卡片和重载按钮,而不是一片白屏;全局 error / unhandledrejection 处理器把渲染端错误持久化到磁盘——此前一次 JS 崩溃在盘上零证据。前端写出的所有日志经过两层脱敏:结构化序列化器按敏感属性名(tokens / apiKeys / credentials 等变体归一匹配,整值含嵌套对象一起隐藏)与值形态(令牌前缀、PEM 头、高熵不透明串)脱敏,再经唯一文本出口的有序正则链覆盖 URL 查询值与凭据、认证头与 scheme、命名密钥容器(双重编码的 JSON 也覆盖)。字符串形态到达的 JSON 会被重新解析后做结构化脱敏;超大结构化输入整体丢弃而非截断——截断的 JSON 串会退化到较弱的文本正则,可能泄漏。设置里的开关文案也改为名副其实:「应用诊断日志」(cc-switch.log)与代理的「记录请求用量」(统计数据库,本来就不是文本日志)。四语同步。

「重建 Codex 用量」维护按钮

用量看板的维护区新增「重建 Codex 用量」:备份数据库后,只清除 codex_session 来源的明细行、对应的 _codex_session 日汇总与 Codex 同步游标,然后用修正后的解析器从头重导所有 rollout 文件——这是被下述双计 bug 污染的数据库的恢复路径,也是父日志恢复后延迟 fork 文件的重试路径。手动重建在备份写不出时会硬失败(自动迁移版只告警,因为在升级后因备份目录不可写而卡死启动是更糟的结局);整个「备份 → 重置 → 重导」序列持有会话同步锁,60 秒后台同步无法与清除交错;完成时保证恰好发出一次前端刷新通知——包括重导为零行或失败的路径——看板绝不会停留在重置前的数字上。游标清理按路径形态匹配(sessions / archived_sessions 段下的 rollout-{uuid} 文件名),旧 CODEX_HOME 下记录的游标也能清到。四语同步。

会话导入可观测性:延迟文件与疑似重复

会话同步结果现在报告 filesScanned、deferredFiles——父日志缺失或父标记冲突的 fork rollout 会被搁置且不写游标,等后续同步或手动重建重试,而不是靠猜导入——以及 suspectedDuplicates:插入后逐行探测是否已存在同指纹行(走 idx_request_logs_dedup_lookup_expr 表达式索引),每次命中记一条警告。双计 bug 未来若复发,会在日志里自己喊出来,而不是无声地吹大总数。

Kimi K3 预设与定价

Codex / Hermes / OpenClaw / OpenCode 的 Kimi 开放平台预设加入 Kimi K3(1M 上下文窗口),追加在 K2.7 Code 之后,现有默认模型行为不变。内置定价表新增 kimi-k3(官方牌价 $3 输入 / $15 输出 / $0.30 缓存读,每百万 token)与裸 k3 别名——Kimi For Coding 订阅上报的模型短 id 是 k3,否则匹配不到任何定价行(与现有 hunyuan-hy3 / hy3 同款先例)。存量数据库下次启动自动补齐两行,不碰用户改过的定价。

SudoCode.us 回归,与 SudoCode.chat 并存

两家恰好同名「SudoCode」的无关公司现在是两个独立预设:赞助商更名为「SudoCode.chat」,此前被原位替换掉的「SudoCode.us」带着原有端点、模型与图标回归,Hermes slug 也做了区分,两者可在累加式的 ~/.hermes/config.yaml 中共存。算上新的 Grok Build 预设列表,SudoCode.chat 覆盖七个应用、SudoCode.us 覆盖全部八个。


变更

诊断日志:跨重启持久、按大小轮转、绝不记录密钥

cc-switch.log 不再在每次启动时被清空——过去能解释崩溃的日志,等应用重开时已经没了——改为 20 MB 轮转、保留 4 个归档(上限约 100 MB,对比过去单文件可膨胀到 1 GB);此前无上限的 crash.log 改为 5 MB 轮转、保留 2 个归档,检查 / 轮转 / 追加序...

Read more

CC Switch v3.17.0

Choose a tag to compare

@github-actions github-actions released this 13 Jul 16:05

CC Switch v3.17.0

这一版带来一个盼了很久的能力:「项目」一键切换——把当前的供应商、MCP、Skills、记忆文件整套保存为命名快照,在标题栏或托盘里一键换成另一套,切换时还会自动把你离开的项目当前状态存回去。Codex 侧同样收获颇丰:官方 ChatGPT 订阅账号现在也能走本地代理路由,享受与第三方供应商相同的路由与用量统计;GPT-5.6 全家的上下文窗口与 Sol / Terra / Luna 三档定价一步到位;还新增了原生 Anthropic Messages 上游格式——所在企业禁用了 Claude Code、但没有禁用 Claude API?现在可以在 Codex 里直接用上 Claude 系列模型。此外是一大波正确性修复:上游失败不再变成「空回复」、缓存写入不再被双重计费、删掉的 MCP 服务器不再复活、Kimi For Coding 的 256K 窗口终于真正生效。

English → | 日本語版 →


使用攻略

本版的新能力主要落在主页顶部的项目切换器、Codex 供应商表单与用量看板里,建议结合以下文档了解:

  • 在 Codex 里使用 Kimi(本地路由攻略):本版新增的分步攻略。较新的 Codex CLI 走 OpenAI Responses 协议,而 Kimi 开放平台与 Kimi For Coding 暴露的是 Chat Completions 端点,直连通常 404;攻略讲解如何用内置的 Kimi / Kimi For Coding 预设配合本地路由完成协议转换。
  • Codex 官方登录保留:了解 CC Switch 如何在切换第三方供应商时保留你的官方 ChatGPT 登录。本版在此基础上更进一步——官方账号本身也可以走代理路由(见下方「新功能」)。
  • 用量统计:了解用量看板的数据来源与统计口径。本版修正了缓存写入计费、补齐了 Codex 子代理会话统计,并新增 GPT-5.6 与混元 Hy3 定价。

Warning

唯一官方渠道声明(请务必阅读)

CC Switch 是完全免费、开源的桌面应用,不会向用户收取任何费用。请仅通过下列官方渠道获取本软件:

类别 唯一官方
官网 ccswitch.io
源码 github.com/farion1231/cc-switch
下载 GitHub Releases
作者 @farion1231
举报山寨 GitHub Issues

任何向你收费、要求充值、或索取登录凭据的"CC Switch"网站或客户端均为假冒。如果你被诱导支付了费用,请立即停止操作并通过 GitHub Issues 反馈。


概览

CC Switch v3.17.0 是 v3.16.5 之后的一个功能大版本,核心是**「项目」**:你可以把 Claude Code / Claude Desktop / Codex 当前的供应商、MCP、Skills、记忆文件状态保存为命名快照——比如编程目录一套「开发」、写作绘图目录一套「创作」——在主页顶部的切换器或托盘的「项目」子菜单里一键整套切换——切换前会自动把你正要离开的项目状态存回去,所以项目里保存的永远是你上次离开时的样子。第二条主线是 Codex:官方 ChatGPT 订阅账号现在也能走本地代理路由接管(不需要 API Key,Codex 自己的登录凭据原样透传,绝不覆盖你的官方登录);配合修正后的客户端身份,gpt-5.6-luna 这类最新订阅模型不再误报 404;GPT-5.6 的 372K 上下文窗口注入、Sol / Terra / Luna 三档定价(含 1.25 倍缓存写入费率)与预设默认模型同步就位;Codex 上游格式还新增了原生 Anthropic Messages 协议——它瞄准一个很现实的场景:不少企业禁用了 Claude Code 客户端、但并没有禁用 Claude API,这些用户现在可以让 Codex 直连 Claude API(或任何只提供 /v1/messages 的网关),在 Codex 里照常使用 Claude 系列模型。

围绕日常使用的正确性,本版做了三波集中修复。代理桥:上游在 2xx 里返回的语义失败不再被转成空回复,而是触发 failover;推理内容、工具结果、system 角色跨 Responses↔Anthropic 桥无损往返;提示缓存断点注入更充分,长对话不再每轮全价重发。用量计费:缓存写入 token 此前被同时按输入价和缓存创建价双重计费,现已修正(数据库升级到 schema v13 以保证历史数据口径不乱);用量与配额查询遇到网络瞬时失败会自动重试、不再把失败体当真实数据缓存。Codex config.toml:在应用里删掉的 MCP 服务器不再随供应商切换复活;live 文件解析失败时同步宁可报错也不再清空整个文件;「使用通用配置」的合并挪到后端执行,注释与键序不再被打乱。另有 Kimi For Coding 256K 窗口真正生效、Codex 子代理与免费版配额统计补齐、智谱团队套餐配额查询、OpenCode 表单增强与一批预设更新。

发布日期:2026-07-13

更新规模:69 commits | 172 files changed | +21,067 / -2,464 lines


重点内容

  • 「项目」一键切换:把供应商、MCP、Skills、记忆文件整套保存为命名快照(比如编程一套、写作绘图一套),从主页顶部或托盘一键切换;切换时自动保存离开项目的当前状态。覆盖 Claude Code、Claude Desktop、Codex 三个作用域,互不干扰。
  • Codex 官方账号也能走代理路由:ChatGPT 订阅登录的 Codex 会话可通过本地代理路由,获得与第三方供应商一致的路由与用量统计;官方登录凭据绝不被覆盖或存储。
  • GPT-5.6 全面就位:Claude Code 走 Codex 接管时自动注入 372K 上下文窗口;Sol / Terra / Luna 三档定价入库(缓存写入按 1.25 倍输入价计费);相关预设默认模型升级到 gpt-5.6 家族;修正客户端身份后 gpt-5.6-luna 不再误报 404。
  • 在 Codex 里使用 Claude 系列模型(原生 Anthropic Messages 上游):不少企业禁用了 Claude Code 客户端、但没有禁用 Claude API——现在把 Codex 供应商的上游格式选为 anthropic,即可直连 Claude API 或任何只提供 /v1/messages 的网关,本地代理完成 Responses↔Anthropic 双向转换,自带标准 5 分钟提示缓存注入。
  • 代理桥正确性修复:上游失败 fail-closed 触发 failover 而非空回复;推理 / 工具结果 / system 角色跨桥无损;缓存写入不再双重计费;断点注入更充分。
  • Codex config.toml 加固:删掉的 MCP 服务器不再复活;解析失败时 MCP 同步宁可报错也不清空文件;通用配置合并保留注释与键序。
  • Kimi For Coding 256K 真正生效:此前的 262144 压缩窗口从未实际生效(被 Claude Code 的 200K 默认钳回),本版补齐模型别名路由与窗口注入;存量供应商需重新套用预设(见「升级提醒」)。

新功能

「项目」:整套配置的命名快照与一键切换

这是本版的头号功能。你可以把当前的供应商、MCP、Skills、记忆文件状态保存为一个命名「项目」,之后在主页顶部的项目切换器或托盘的「项目」子菜单里一键整套切换,不必再逐项手动勾选。

举个典型场景:你有一个目录用来编程、另一个目录用来写作或绘图。编程时要的是一套供应商,配上文件系统 / GitHub 这类 MCP、代码审查 Skills 和写着工程约定的记忆文件;写作或绘图时往往换另一家供应商、另一组 MCP 和完全不同的提示词。以前在两件事之间来回,意味着切供应商、逐个开关 MCP 和 Skills、再改记忆文件;现在把两套状态分别存成「开发」和「绘图」两个项目,换目录干活时在 CC Switch 里点一下,整套配置随之就位。

项目功能覆盖 Claude Code、Claude Desktop 与 Codex 三个作用域(Claude Desktop 由 CC Switch 管理的维度只有供应商,因此其快照只含供应商、应用时不动其它维度)。

几个值得了解的设计:

  • 项目是全局实体、按作用域切换:同一个项目在 Claude Code / Claude Desktop / Codex 三侧各自记录自己的当前项目与快照槽位,在 Codex 页签切换项目绝不会动到 Claude 的配置。
  • 切换即自动保存:切换项目前,会先把你正要离开的项目在当前作用域下的状态自动存回去——所以项目里保存的永远是你上次离开它时的样子,不需要(也没有)手动「更新快照」按钮。
  • 应用是尽力而为的:套用快照复用现有的切换原语(先切供应商,再做 MCP / Skills 的最小差异开关,最后启用记忆文件);快照里引用的某项如果已被删除,只会告警跳过,不会整体回滚。
  • 自动关闭代理接管:套用项目前会先关闭该作用域内各应用的代理接管,避免快照状态和路由状态打架。

不用项目功能的用户可以在「设置 → 主页显示」里关闭「显示项目切换」,只隐藏主页入口,托盘子菜单与项目数据不受影响。底层由新的 profiles 表支撑(数据库自动迁移,无需手动操作),四语界面文案同步就位。

Codex 官方 ChatGPT 账号的代理路由接管

用 ChatGPT 订阅(OAuth 或 API-key 登录)的 Codex 会话,现在也可以走 CC Switch 的本地代理路由了——官方账号流量获得与第三方供应商一致的路由、格式转换与用量统计。在供应商面板或托盘里选择内置的「OpenAI Official」条目进行接管即可(如果你此前删掉过它,添加供应商时会自动恢复);路由中的卡片徽标显示「官方账号路由中」。

实现上刻意做到零凭据存储:不向 auth.json 写任何占位密钥,而是往 config.toml 投影一个指向本地代理的专用 model_provider,Codex 把自己的 ChatGPT 授权头原样发给代理、代理原样透传给官方端点——codex-official 这一行的凭据永远是空的。官方登录本身绝不被覆盖:接管时 OAuth / API-key 材料会保留进备份;官方端返回的 401 / 403 被视为不可重试错误,failover 绝不会把你的对话悄悄挪到另一个账号上。相应地,「切换时保留 Codex 官方登录」这个设置项的文案已更新——路由接管场景下官方登录总是被保留,该开关现在只管不走路由的第三方直切。

GPT-5.6:上下文窗口、预设默认与三档定价

围绕 GPT-5.6 家族做了三件事:

  • 372K 上下文窗口注入:Claude Code 经代理接管路由到 ChatGPT Codex(Codex OAuth)后端时,自动往生效的 settings.json 注入 CLAUDE_CODE_MAX_CONTEXT_TOKENS 与 CLAUDE_CODE_AUTO_COMPACT_WINDOW(均为 372000),让 Claude Code 不再按默认 200K 窗口过早自动压缩、也不再撑爆上游。注入门控严格:只有当所有已配置的模型键都指向 gpt-5.6 家族时才注入(gpt-5.5 的目录窗口在 272K / 372K 间摇摆,故意不继承);你手动设置的值永远优先;切走时按镜像条件剥离,程序默认永远不会固化进你的供应商配置。
  • 预设默认模型升级:Claude Code 与 Claude Desktop 的 Codex OAuth 预设默认路由升级到 gpt-5.6 家族(haiku → gpt-5.6-luna,主模型 / sonnet / opus → gpt-5.6),自定义 Codex config.toml 模板的默认模型同步跟进。
  • Sol / Terra / Luna 三档定价:用量看板按官方价目为三档入库——Sol 5 / 30 / 0.50、Terra 2.50 / 15 / 0.25、Luna 1 / 6 / 0.10(美元每百万 token,输入 / 输出 / 缓存读)。与 5.5 及更早版本不同,5.6 家族的提示缓存写入按 1.25 倍输入价计费(Sol 6.25 / Terra 3.125 / Luna 1.25),已按此入库并自动修复此前按 0 计的存量行;裸 gpt-5.6 及各 effort 后缀变体按 Sol 价对齐。

在 Codex 里使用 Claude 系列模型:原生 Anthropic Messages 上游

这个功能来自一个很现实的诉求:不少企业出于合规策略禁用了 Claude Code 客户端,但并没有禁用 Claude API。对这些用户来说,模型本身是可用的,缺的只是一个被允许的客户端——现在 Codex 可以补上这个位置。在 Codex 供应商的上游格式选择器里选新增的 anthropic,即可直连 Claude API 或任何只提供原生 Anthropic Messages 协议(/v1/messages)的网关,本地代理完成 Responses↔Anthropic 的请求、响应与流式双向转换,你在 Codex 里照常对话、照常用工具,背后跑的是 Claude 系列模型。表单配套提供:认证字段选择器(ANTHROPIC_AUTH_TOKEN 发 Authorization: Bearer,默认;或 ANTHROPIC_API_KEY 发 x-api-key)、可选的 Claude Code 客户端伪装开关(默认关闭)、以及按供应商的最大输出 token 覆盖(Codex 不发 model_max_output_tokens,不设置时回退到保守的 8192,可能截断长回复或重思考回复)。转换桥自动注入标准 5 分钟提示缓存标记(系统提示、工具与历史走缓存而非每轮全价重发),支持 [1m] 长上下文标记并补发对应 beta 头,截断的流会如实上报为未完成而不是伪装成功。(#5071)

Codex 供应商表单新增「默认模型」输入框

config.toml 顶层的 model 键现在是表单里的一个可编辑字段:新模型(如 gpt-5.6)发布后,你可以直接把现有供应商指过去,不必等预设更新(预设只影响新添加的供应商)。字段与 TOML 编辑器双向同步,候选列表来自模型映射目录与供应商 /models 端点的并集,值不在目录里时提供一键「加入映射」。显式填写的值永远优先于映射第一行的隐式回填;模型名与 base_url 写入时做了 TOML 转义,杜绝 /models 返回的远端数据注入伪造配置行的可能。

通用配置切换自动同步扩展到 Codex

v3.16.5 给 Claude 加的「切走时自动把 live 配置里的共享偏好回写到通用配置」现在覆盖 Codex 了:切走一个启用了通用配置的 Codex 供应商时,会先从它的 live config.toml 重新提取可共享部分更新到通用配置,再带给下一个供应商——你直接在运行中的 Codex 配置里改的偏好不再在切换时丢失,删掉的键也不会被悄悄注回。提取器会严格剥离供应商专属与注入内容(model / model_provider / base_url / wire_api、整个 [model_providers] 表、MCP 投影、API key 兜底字段、模型目录指针与注入的 web_search 哨兵),密钥永远不会进入共享片段。所有失败仅告警、绝不阻断切换。

Claude 子代理模型配置

Claude 供应商表单新增「子代理」模型行,写入 CLAUDE_CODE_SUBAGENT_MODEL,让 Claude Code 派生的子代理跑在你指定的(通常更便宜或更快的)模型上。支持 [1M] 标记;由于子代理模型不会出现在 /model 菜单里,该行显示「不在 /model 中展示」占位而没有显示名字段。代理接管路径与模型映射器已同步支持:请求模型与配置的子代理模型一致时原样放行,不再被折叠到默认模型;该键也被排除在共享通用配置之外,不会跨供应商泄漏。(#4830)

回退模型字段的 1M 上下文复选框

Claude 表单的回退模型字段(ANTHROPIC_MODEL)现在带上了 Sonnet / Opus / Fable 各档早已有的 1M 复选框:回退模型背后是 1M 窗口时可以如实声明,不再被静默当作 200K。勾选即在模型 id 后追加 [1M] 标记,取消即剥离。(#5124,修复 #3679)

智谱团队套餐配额查询

智谱的团队套餐(团队版 Coding Plan)走同一个配额端点但需要 ?type=2 与两个额外请求头(bigmodel-organization / bigmodel-project),个人版查询够不到。用量脚本弹窗新增「Zhipu GLM Team(智谱团队)」模板,填入 API Key + 组织 ID + 项目 ID 即可查询团队配额;三项缺一会明确提示补全。四语文案同步。(#5128)

OpenCode 表单:请求头与模型 Token 上限编辑器

OpenCode 供应商表单补上了两块此前只能手改 JSON 的配置:Headers 编辑器(供应商级 options.headers,如 OpenRouter 排行榜要求的 HTTP-Referer / X-Title,支持增删行、大小写不敏感去重)与按模型 Token 上限(model.limit.context / model.limit.output 数字输入,清空即移除)。「额外选项」块改为可折叠区,已有内容时自动展开;顺带修复了旧占位符过滤会误删真实以 option- 开头的选项键的问题。(#2907)

新增模型定价:腾讯混元 Hy3

为 2026-07-06 发布的腾讯混元 Hy3(256K 上下文)入库定价(按发布日牌价 CNY 1 / 4 / 0.25 每百万 token 折算),hunyuan-hy3 与 hy3 两个 id 都能命中,其用量不再显示 $0。注意 Hy3 实际是按输入长度分档计费,当前单价表按最低档入库,长上下文请求会低估成本,待官方计费页明确后再修正。


变更

Codex Chat 路由注入 prompt_cache_key,提升缓存命中

Codex 经本地路由转换到 Chat Completions 上游时,现在会按供应商感知地注入 prompt_cache_key:Kimi Coding 与 OpenAI 官方端点自动启用、Kimi 预设显式开启,未知的 OpenAI 兼容网关保持关闭以避免严格 schema 网关报 400。键值只取显式客户端值或真实的客户端会话 ID,绝不生成随机 UUID(那会让每个请求落到不同缓存桶、适得其反)。高级选项里提供自动 / 启用 / 禁用三态覆盖。

Codex 图片能力自动推断,去掉手动开关

生成的 Codex 模型目录现在只把 CC Switch 确认过的精确文本-only 名录内的模型声明为 input_modalities = ["text"];GPT、别名、新后缀变体和一切未知模型一律 fa...

Read more