项目一键切换来了!CC Switch v3.17.0 发布 —— ChatGPT 官方账号也能走本地路由



新增会话分类视图与分组管理功能(#4776),可以按分类管理会话,方便快速定位。
AppImage 之前强制 GDK_BACKEND=x11,在较新的 Wayland + NVIDIA 环境上会导致 WebKit 页面收不到鼠标事件。新增 CC_SWITCH_GDK_BACKEND 逃生开关,设为 wayland 即可切回原生 Wayland。
新创建的 Claude 类供应商,默认 Sonnet 档现在指向 claude-sonnet-5。存量配置不受影响。
*_API_KEY、*_AUTH_TOKEN、*secret* 等),不再只脱敏 Anthropic 的 key升级方式:
brew upgrade --cask cc-switch
完整更新日志:GitHub Release v3.16.5
📢 关注我,获取最新开源更新日志和开发者工具动态。
#CCSwitch #v3.16.5 #AI编程工具 #LLM更新报告 #AI写代码的小任

v3.16.4 新增了 Windows ARM64 发布版,Snapdragon X 系列设备的用户可以直接下载 ARM64 版本了(#3950)。
新增本地代理请求覆盖功能,可以自定义请求头和请求体。本地代理链路上的所有请求都能按规则改写(#4589)。
转发器现在会在转发前解压请求体,修复了 Compose/Structured Outputs 在 Tools/Responses 路径上生成无效请求的问题。同时支持 zstd 编码(#3817)。
以下国产供应商的 Codex 预设切换为原生 openai_responses(省去格式转换):千问/百炼、小米 MiMo、火山豆包、美团 LongCat、MiniMax。已有配置不受影响,如果要使用原生路径可以重新选择一次预设即可。
thinking: disabled 时,不再因为同时带 effort 参数而返回 400(#4239)model 字段而报错(#4392)$SHELL(zsh/fish 用户也受益)(#4140)升级方式:
brew install --cask cc-switch
完整更新日志:GitHub Release v3.16.4
📢 关注我,获取最新开源更新日志和开发者工具动态。
#CCSwitch #v3.16.4 #WindowsARM64 #MCP #LLM更新报告 #AI写代码的小任

这次最核心的改动在计价归因链上。
当请求被路由到不同上游(env 模型映射、Claude Desktop 路由、Copilot 归一化、Codex chat 覆盖)时,代理之前是按上游回显的模型名来归因和计价的。举个例子:你把 kimi/glm 的请求路由到了 Claude 兼容接口,系统会按 claude-* 的价格来算这笔账——token 量是 kimi 的量,价格是 claude 的价格,成本被高估 5–25 倍。
这不是小误差。如果你用路由接管 + 第三方供应商的组合,之前看到的用量数字可能跟真实开销差了整整一个数量级。v3.16.3 的修复方案是:在转发器里捕获真实的出站模型,按「上游回显 → 出站模型 → 客户端别名」的顺序归因,每条记录持久化实际使用的定价依据(schema v11),这个依据贯穿成本回填和 30 天 rollup 裁剪。
类似的问题还出现在格式转换路径上。CC Switch 内部有 Chat、Responses、Gemini 转 Anthropic 等多条转换路径,之前在 caching 的处理上有个隐蔽的双重记账:cache_read 和 cache_creation 被计入了 input token,然后又作为缓存项再算了一次。修正后,代理会在 Claude←OpenAI 路径上把这两项从 input 中排除,Gemini 的缓存提示 token 也做扣减处理。
做 AI 网关类工具最难的不是转协议,而是算账。 协议转错了客户端会报错,一眼就能发现;账算错了用户要月底对账才发现,信任修复成本远高于功能 bug。这一版花大力气修计价归因链,说明团队意识到「计费准确」是网关产品的底线——功能再多,账单不对就是零。
看板的供应商和模型筛选从请求日志表内部提升到了顶栏。现在 Hero 汇总、趋势图、请求日志、两个统计页签——整张看板都可以按某个来源和模型缩小范围。来源按展示名精确匹配(像「Claude (Session)」这种会话占位行也能选),模型按有效计价模型匹配,模型下拉会随所选来源级联,而且两个列表只列出当前时间范围内有数据的选项。
同时额度的查询也做了韧性改进:单次网络抖动不再让卡片变红——查询失败会重试一次,并在网络/超时/5xx 下继续展示上次成功的结果最多 10 分钟。确定性失败(鉴权、空 key、未知供应商、4xx)仍会立即暴露并清空快照,避免凭据过期后陈旧额度又冒出来。
供应商现在可以设置自定义 UA,而且代理在请求转发、连通性检测和模型列表(GET /v1/models)三条路径上一致应用。这意味着什么?对那些按 UA 白名单放行的 Coding Plan 上游来说,之前你在 UI 里点「检测连通性」可能是绿的,但实际流量里的 codex-cli UA 进了对方的 WAF 被 403 拦——检测成功、代理失败,这种体验很分裂。现在 UA 三处一致,这种不一致不会再出现。
这个功能也间接恢复了 Codex「Kimi For Coding」预设——之前被移除就是因为那个编程端点会 403 拒绝 codex-cli 的 User-Agent,现在设成 claude-cli/* 等白名单 UA 就能正常用了。一石二鸟的设计。
Claude 和 Codex 表单都在高级选项里暴露了这个字段,配有精选的 UA 预设下拉(Claude Code / Kilo Code 等能通过 UA 白名单的家族)和实时格式校验。
新增了一个可选开关(设置 → Codex 应用增强),让官方 Codex 会话与 CC Switch 的第三方会话共享同一份 resume 历史桶。这句话听起来简单,实际操作涉及:
开启后,live 的 config.toml 会把官方运行路由到一个镜像内建 OpenAI 供应商的共享 custom model_provider(auth.json 不动)。默认只对未来会话生效;开启弹窗提供勾选项,可把已有官方会话迁入共享桶(含逐代备份)。关闭弹窗时提供按备份账本精确还原——只回退备份中记录为 openai 的会话,开启期间新建的会话不会被改动。
这个开关的设计思路是对的:共享历史桶,但还原时能精确区分「哪些是迁移前的官方会话」和「哪些是迁移后的会话」,不会一把推倒。这不是一个简单的「开/关」能概括的——写这段代码的人肯定被「用户开了一周又关掉,关掉后发现旧会话全没了」这种场景坑过。
模型定价种子做了一次全量核价:新增 9 个模型(含 Claude Fable 5、Grok 4.3、Mistral Medium 3.5 / Small 4、Qwen 3.7 Max/Plus 等),按各厂商官方 list 价订正了 28 处既有价格。每处改动同时更新种子(影响全新安装)并向 repair_current_model_pricing 加守卫(修复存量数据库)。
Claude 模型映射从三档扩展到四档(Sonnet / Opus / Fable / Haiku),Fable 5 档位的回落链为 fable → opus → default。同时新增 Unity2.ai 作为合作伙伴供应商,覆盖全部 7 个受管应用。
关于页新增了 Fable 5 Verified 标识,标明这个版本是用 Fable 5 协助开发的——说实话,模型帮开发做代码复查和逻辑梳理这件事本身就是产品的使用案例:一个 AI 网关用它协助开发自己的功能,这种自举的姿态比贴个标签更有说服力。
应用内更新不再卡死:下载—安装—重启整条链路现在完全在后端执行,不再依赖旧 WebView 在应用包已被替换之后继续跑 JS。以前新版已装好,界面却卡在「重启中」必须手动强制退出的问题不复存在。
Codex 升级不再损坏安装:从设置关于页升级 Codex 不再让它抛出「Missing optional dependency」错误。升级链之前会先跑 codex update,但它在 npm 安装下其实是一次裸的重装——即便对应平台的二进制没装上也会报告成功。现在改成「卸载 + 重装」自愈,是唯一能真正补回缺失平台二进制的修复。
跨配置目录切换的接管残留恢复:在代理接管激活时更改配置目录后重启应用,不再把 Claude / Codex / Gemini 留在指向已失效的本地代理上。简单来说就是:你改了配置路径,旧的路由残留应该被清理——这在之前居然没做。
错标 SSE(Server-Sent Events,服务器推送事件)响应聚合:当 MaaS 网关把一个 stream:false 的请求强制流式、并以非 SSE 的 Content-Type 返回 SSE 响应体时,不再以一句晦涩的 422 失败。代理现在会嗅探 SSE、把分片聚合成单个 JSON 再跑转换器——这是典型的「网关兼容性修正是修不尽的」场景,但至少遇到了能兜底,不会崩在用户面前。
Hermes 配置重复 YAML 键:Hermes 配置写入不再累积重复的顶层键(如 mcp_servers),那会导致「Failed to parse Hermes config as YAML: duplicate entry with key」错误。修复保留最后的那份副本,与 Hermes 自身基于 PyYAML 的「后者胜」语义一致。
brew install --cask cc-switch
brew upgrade --cask cc-switch
从 GitHub Releases 直接下载对应平台安装包,或通过应用内更新器升级。
完整更新日志:GitHub Release
📢 关注我,获取最新开源更新日志和开发者工具动态。
#CCSwitch #AI编程 #网关工具 #模型路由 #开源工具
过去几个月我就在这个状态里。CC Switch 是我最后找到的那个「中间层」——把所有工具的 API 路由、配置、用量统一到一个地方。但用了两个月,一个痛点越来越明显:我在公司 Mac 上配好了全部供应商列表、MCP 链、提示词模板,回到家打开自己的 Mac,一切从头来。
v3.16.2 的核心更新,恰好从我这个痛点说起。

v3.16.1 的核心就是解决 Codex 供应商切换的各种「切了就坏」问题——OAuth 被清、模型目录丢失、tool/plugin 不兼容、代理诊断信息不足。

之前 CC Switch 在切换 Codex 第三方 provider 时,会直接覆盖 auth.json,官方 ChatGPT/Codex 的 OAuth 登录信息就此丢失。如果你需要在官方 provider 和第三方 provider 之间来回切(比如官方写简单任务、第三方跑大批量),每次切换都要重新登录。
v3.16.1 加入了一个 opt-in 设置:开启后,切换第三方 Codex provider 时,官方的 OAuth 登录信息保留在 auth.json 里不动,第三方 provider 的 token 写入 config.toml。官方 provider 的凭证和第三方配置不再混在一起。
这个功能默认是关闭的——为了兼容已有用户的使用习惯。需要手动启用才会生效。
一个更隐蔽的问题:Codex 的 modelCatalog 在多种场景下会被清空——live-config 回填、provider 编辑对话框、provider 切换、代理模式关闭。每次你切完 provider 发现模型列表只剩一两个,不一定是你配置错了,而是目录数据被覆写了。
v3.16.1 的修复策略很具体:快照备份保留现有的 model_catalog_json 指针,provider 重建时从数据库重新生成目录,编辑对话框优先从数据库读取而非 Live 重建。三层防护,基本堵死了模型目录丢失的路径。
如果你通过 Chat Completions 路由使用第三方 Codex provider,之前 tool_search、自定义工具、tool 输出可能不工作。v3.16.1 修复了非流式和流式响应的映射——Chat Completions 的响应被正确转换回 Codex 的 Responses 格式,包括自定义工具的流式事件。
同时给 Kimi 和 Moonshot 加上了 Anthropic 兼容的 tool-thinking 历史归一化——如果你在用 Kimi K2.6 跑 Codex,后面的 turn 能正确 replay 推理和工具调用上下文了。
cc_switch_* 错误码——调试代理问题不再靠猜.cmd/.bat 命令版本检测的乱码问题,不再把能用的工具误判为「已安装但不可运行」升级:从 CC Switch 应用内更新即可,或官网下载。
完整更新日志:https://github.com/farion1231/cc-switch/releases/tag/v3.16.1
📢 关注我,获取最新开源更新日志和开发者工具动态。如果觉得这篇文章有用,欢迎转发给身边的开发者朋友。
#CCSwitch #Codex #AI编程 #供应商切换 #版本更新

这是本版本的核心。Codex 原生只认 OpenAI Responses API 和 GPT 系列模型。CC Switch 的本地代理现在把 Codex 发出的 Responses 请求转换为上游的 Chat Completions,再把响应重建回 Responses 形态——沿途保留 reasoning_content、内联 think 块、流式推理摘要、工具调用和 previous_response_id 续接状态。
说人话就是:你现在可以在 Codex 里直接选 DeepSeek、Kimi、智谱 GLM、MiniMax、StepFun、百炼、SiliconFlow 等供应商,CC Switch 自动做协议转换,你不用操心底层是 Chat 还是 Responses。
配套上了 22 个带显式模型目录的 Chat 路由预设,每个预设声明了上下文窗口,便于 UI 给模型映射行定尺寸。还做了自适应推理识别——根据供应商名、base URL 和模型名自动注入正确的思考参数,不是简单的硬编码适配。
之前有一个很烦的问题:Codex 按 model_provider 过滤可恢复历史,你从 Kimi 切到 GLM,之前和 Kimi 的对话就"消失"了——不是删了,是 provider id 变了所以不显示了。
现在所有第三方供应商归并到稳定的 custom 桶,并配了一次性设备迁移——改写历史 JSONL 会话和 state_5.sqlite 线程表,原文件备份到 ~/.cc-switch/backups/。升级后切供应商,历史记录能正常恢复。
设置页的「关于」Tab 升级为一个完整的工具管理面板——支持 Claude、Codex、Gemini、OpenCode、OpenClaw、Hermes 的安装、更新、冲突诊断和按来源锚定的升级。
这个功能解决了一个很实际的痛点:你同时装了 npm 版和 Homebrew 版,分不清哪个是正在用的。面板会检测多安装路径、展示每条路径的来源和版本、生成锚定到真实安装来源的升级命令。
默认模型矩阵刷新:Claude Opus 升级到 4.8,GPT 默认升级到 5.5。新增 APIKEY.FUN、APINebula、AtlasCloud、SudoCode、小米 MiMo Token Plan、Claude Desktop 官方预设。胜算云预设也带上了厂商前缀(anthropic/...、google/...等)。
此外,繁体中文本地化落地(zh-TW),德文 README 上线,用量看板支持了实时刷新——日志写入时即时响应更新,不用等到下一个轮询周期。
brew install --cask cc-switch
# 或从 GitHub Releases 下载安装包
完整更新日志:GitHub Release
📢 关注我,获取最新开源更新日志和开发者工具动态。
#CCSwitch #Codex #AI工具 #开源 #首页