Skip to content

Releases

CC Switch v4.3.1

Choose a tag to compare

@QianLongGit QianLongGit released this 09 Nov 02:22

CC Switch v4.3.1

本版本修复一个远程用量统计的数据完整性缺陷:同一台 SSH 主机被删除后重新添加时,其历史用量数据会因跨主机去重键冲突而静默丢失。

发布日期:2026-11-09


修复

  • 远程用量入库幂等键纳入主机维度:此前远程会话用量的入库去重键(request_id)只含消息 ID、不含主机 ID——当同一台远端主机被删除后重新添加(主机 ID 随之更新)并重新同步时,相同消息的行会被旧主机名下的历史行占住主键而静默跳过,造成新主机名下数据缺失、用量统计显示为空且无任何提示。现远程入库键改为含主机维度的形态(Claude 与 Codex 两条链路均已修复),重新添加主机后重置并重新同步即可完整恢复数据。本机统计的键格式与行为完全不变。

完整的技术细节请见 CHANGELOG。

CC Switch v4.3.0

Choose a tag to compare

@QianLongGit QianLongGit released this 08 Nov 11:58

CC Switch v4.3.0

本版本为 SSH 远程主机能力补充数据管理与交互修复:新增重置主机用量数据与删除主机连带清理,并修复用量页主机切换下拉被悬停提示遮挡的问题。

发布日期:2026-11-08


新增

  • 重置主机用量数据:用量统计页选中远程主机后,主机菜单新增「重置该主机数据」。用于同步异常留下脏状态(显示同步完成但无数据)时彻底重来——事务内清除该主机的全部本地用量数据(明细、日汇总、同步游标、去重记录,本机及其它主机数据不受影响),随后自动回到「首次同步」预告,一键重建。同步进行中该入口自动禁用,防止清表与写入并发。
  • 删除 SSH 主机连带清理:在设置中删除 SSH 主机时,现在会同时清除该主机的本地用量数据与历史会话缓存(解析缓存、会话清单、转录缓存)。此前这些数据会残留(旧版提示「缓存会保留」,现已按新行为更新文案)。清理为尽力而为:即使清理失败主机删除仍会完成,仅提示警告。

修复

  • 用量页主机切换下拉被提示遮挡:展开主机列表时,触发器上的悬停提示框不再渲染(此前会浮在菜单上方挡住列表项、导致无法点选)。关闭状态下悬停提示照常显示。

完整的技术细节请见 CHANGELOG。

CC Switch v4.2.0

Choose a tag to compare

@QianLongGit QianLongGit released this 08 Nov 07:00

CC Switch v4.2.0

本版本是 SSH 远程主机能力的二期增强:远程会话支持正文内容搜索与复制恢复命令,用量统计页新增远程主机维度,SSH 主机设置表单样式全面对齐应用规范。

发布日期:2026-11-08


新增

  • SSH 主机会话的正文内容搜索:在会话管理选中远程主机后,搜索框不再只搜标题/摘要——正文内容搜索通过远端 rg(ripgrep,不存在时自动降级 grep)批量扫描实现,命中会话直接给出内容摘录与关键词高亮,点击可跳转阅读器定位。无需为远程内容建索引,搜索词经安全转义后执行。
  • 远程会话复制恢复命令:远程会话列表与阅读器现提供「复制恢复命令」,一键复制 ssh -t 用户@主机 "cd 项目目录 && claude --resume <会话ID>" 形态的完整命令,到服务器终端粘贴即可恢复会话(Claude / Codex 均支持)。
  • 用量统计支持 SSH 远程主机:用量统计页新增主机切换(与本地/远程会话页同款)。远程用量采用增量镜像架构:打开页面自动做轻量清单比对(零/极小流量),变化的会话文件按字节增量拉取后本地解析入库,与本地统计同口径聚合;首次同步需手动确认(预告文件数与流量),可随时取消,默认同步近 90 天。数据库日汇总表新增主机维度(v26→v27 迁移,自动完成),远程与本地用量严格分账互不污染。

优化

  • SSH 主机设置表单样式:添加/编辑主机对话框的内容边距、字段列宽比例(端口窄列)、底部按钮区与导入列表密度全面对齐应用既有表单规范,观感与其它设置页一致。

修复

  • 远程新增会话文件的用量自动入库:轻量同步现会自动拉取远端新增的会话文件(单轮限 20 个文件 / 50MB,超出部分待下轮或手动同步),统计不再停留在首次同步时点。
  • 远程 Codex 会话统计防重复计算:远端文件被截断或归档时间变化触发重扫时,已过滚动汇总窗口的历史明细不会重复入库,主机统计不会翻倍。
  • 复制恢复命令中私钥路径含空格时的引号处理。

完整的技术细节请见 CHANGELOG。

v4.1.2

Choose a tag to compare

@QianLongGit QianLongGit released this 07 Nov 17:04

CC Switch v4.1.2

本版本是一个问题修复版本:修复 SSH 连接复用(ControlMaster)的 socket 路径在应用配置目录被设置到较深路径时超出 macOS Unix domain socket 104 字节限制的问题。此前该场景下远程会话连接会报「SSH 连接或认证失败」;本版本改用系统短路径存放 socket,并在路径超限或含空格时自动降级为直连模式,保证远程会话始终可用。

发布日期:2026-11-08


修复

  • SSH 连接复用(ControlMaster)的 socket 路径超出 macOS 限制:当应用配置目录被设置到较深路径时,ControlMaster socket 路径会超出 macOS Unix domain socket 104 字节限制,导致远程会话连接报「SSH 连接或认证失败」。现改用系统短路径(/tmp/cc-switch-ssh-<用户名>,权限 700),并在路径超限或含空格时自动降级为直连模式。

完整的技术细节请见 CHANGELOG。

v4.1.1

Choose a tag to compare

@QianLongGit QianLongGit released this 07 Nov 16:34

CC Switch v4.1.1

本版本是一个问题修复版本:修复设置页侧栏未显示「SSH 主机」入口的问题。v4.1.0 引入 SSH 远程会话管理时,「SSH 主机」设置入口未出现在设置页侧栏,只能从托盘菜单进入;本版本恢复侧栏入口,并新增侧栏与导航配置的一致性校验,防止同类入口缺失问题再次发生。v4.1.0 完整的更新内容请见 v4.1.0 发布说明。

发布日期:2026-11-08


修复

  • 设置页侧栏未显示「SSH 主机」入口:v4.1.0 中该功能需从托盘菜单进入;本版本恢复侧栏入口,并新增侧栏与导航配置的一致性校验。

完整的技术细节请见 CHANGELOG。

v4.1.0

Choose a tag to compare

@QianLongGit QianLongGit released this 07 Nov 16:19

CC Switch v4.1.0

本版本让会话管理支持 SSH 远程主机:在设置里添加 Linux/macOS 服务器后,会话页可以一键切换「本机 / 远程主机」,直接查看远程机器上 claude 和 codex 的历史会话,列表、阅读、分页、压缩会话、图片、导出和删除都和本地一致。连接只走免密认证并复用 SSH ControlMaster,远程会话的摘要与解析带增量缓存,同一份会话第二次扫描不再发起网络请求。GNU find 和 BSD/macOS 的远端自动兼容,远端缺会话目录时自动容错,Windows 上没装 OpenSSH 时功能入口自动降级为安装提示。远程访问只认免密凭据、不保存密码,远端路径全部防注入转义,远程删除有白名单机制。4.0 完整的更新内容请见 v4.0 发布说明。

发布日期:2026-11-08


新增

管理远程主机上的会话

以前会话管理只能看本机的会话;服务器上跑的 claude、codex 会话,要么登到服务器上看,要么把文件手动拷回来。

现在「设置 → SSH 主机」里可以添加远程机器:

  • 从 SSH Config 导入:一键读取 ~/.ssh/config 里的 Host 段,勾选后批量导入;也可以切到「手动添加」,填写主机地址、用户名、端口和私钥文件(后三项可选)。
  • 测试连接:添加和编辑时都可以先测一下连通性,避免填完才发现连不上。
  • 删除主机只是把它从列表移除,它的远程会话缓存会保留,重新添加同一台主机后可以接着看。

添加好后,会话页一键在「本机」和远程主机之间切换。切到远程主机后,claude 和 codex 的历史会话与本地完全一致:会话列表、阅读、分页、.zst 压缩会话、内嵌图片、导出和删除都照常可用,操作方式不变。

  • 兼容 GNU find(Linux)和 BSD find(macOS)两类远端,服务器上不需要装任何东西。
  • 远端还没有会话目录时自动容错,显示为空而不是报错。
  • Windows 上未安装 OpenSSH 客户端时,主机切换入口会提示先安装 OpenSSH,本地会话不受影响。

远程访问的安全边界

  • 免密认证:连接只使用 SSH 既有的免密凭据(密钥等),CC Switch 不保存密码,也不在界面里收密码。
  • 路径防注入:发往远端的所有路径都经过转义,主机名和路径里的特殊字符不会被拼成额外的命令。
  • 删除白名单:远程删除只允许删除本次扫描清单内的会话文件,清单之外的路径一律拒绝,防止误删远端的其他文件。

变更

  • 性能:
    • SSH 连接使用 ControlMaster 复用:第一条连接建立后,后续的列表、读取、导出都复用同一条连接,不再为每条命令单独握手。
    • 远程会话的摘要与解析带增量缓存:会话内容的指纹不变时,第二次扫描零网络请求,直接使用本地缓存。
  • 内部:
    • 传输层的 40MB 输出上限与语义层对齐。
    • 13 家本地会话扫描器零改动,本地会话行为不受影响。
    • 测试大幅补强:Rust 与前端测试扩充,并新增 localhost SSH 全链路集成冒烟测试。

已知限制

  • 远程会话暂不支持搜索消息正文(标题、会话 ID 等元数据搜索可用),后续版本补上。
  • opencode、hermes 等使用 SQLite 存储的 Agent 暂不支持远程查看,计划在后续版本加入。

完整的技术细节请见 CHANGELOG。

CC Switch v4.0.27

Choose a tag to compare

@QianLongGit QianLongGit released this 07 Nov 10:10

本 fork 同步 upstream v4.0.27(37 提交),完整保留图片分流与项目级供应商路由两功能。以下为上游官方更新日志:

CC Switch v4.0.27

本版本让会话管理可以搜索消息正文,新增界面密度和界面缩放设置,模型定价表可以搜索,Grok Build 正在使用的供应商也能打开终端了。Skills 的已安装页重新排了版,供应商图标会跟随深浅色主题。另外修复了配置文件是软链接时被替换成普通文件或写入失败、取消请求后供应商卡在熔断恢复中直到重启、Codex 设置了自定义权限后 plan 模式报错、运行过的 Skill 被误报有更新、Skills 仓库显示 0 个 Skill、Windows 上把 Python 的 pi.exe 认成 Pi、模型价格同步超时、打开对话框时窗口拖不动、右键弹出浏览器菜单,以及 Linux 快捷面板显示异常等问题。4.0 完整的更新内容请见 v4.0 发布说明。


新增

搜索会话的消息正文

以前会话管理页的搜索只能找标题、目录和会话 ID,记得聊过什么、却想不起是哪个会话时找不到(#7896、#7420)。

现在可以打开「搜索消息正文」:在页面右上角的「⋯」菜单里打开,或者搜索没有结果时直接点提示里的按钮。打开后,搜索结果会列出命中的正文片段和命中了几条消息。

  • 默认关闭。打开后 CC Switch 会在本地为消息正文建立索引,建立期间会显示进度,这时正文结果可能还不全。
  • 索引是单独的本地文件 session-index.db,不参与云同步,也不进备份;关闭这个开关会删除它。

界面密度和界面缩放

「设置 → 通用 → 外观」里新增两项(#9209):

  • 界面密度:「紧凑」就是原来的尺寸,也是默认值;「舒适」的字号大一档,按钮和输入框更高一些。
  • 界面缩放:90%、100%、110%、125% 四档,也可以按 Ctrl(macOS 上是 ⌘)加 +、- 调整,按 Ctrl/⌘ 加 0 复原。

两项设置只保存在本机,和主题一样。托盘快捷面板始终保持紧凑尺寸。

模型定价表可以搜索

模型定价表上方加了搜索框,按模型 ID 或名称筛选(#9205)。按回车会编辑第一个结果;没有匹配的模型时,回车会为输入的模型新增定价。

Grok Build 打开终端

Grok Build 的供应商卡片也有「打开终端」按钮了(#9234)。Grok CLI 不能只让某一个终端换供应商,所以这个按钮只出现在正在使用的供应商上,打开的终端直接用 CC Switch 管理的这份 Grok 配置;选择跳过权限确认时会加上 --always-approve。


变更

  • Skills 已安装页重新排版(#9210):
    • 名称列固定在左侧,窗口窄时各应用的列在它下面横向滚动。
    • 状态和来源筛选移到和「发现」页一样的工具栏里,选中 Skill 后也不会被挡住;批量操作保留更新、卸载和按应用「启用到」/「停用」。
    • 去掉了页头的「N 个可更新」链接,工具栏的「全部更新」已经写了数量;点每行的「可更新」标记就能更新这个 Skill。
    • 每行的「…」菜单保留打开文档、打开目录和卸载;写入失败时,错误信息显示在描述的位置。
  • 供应商图标跟随主题(#8438):去掉了卡片图标后面固定的白底。单色的深色图标会跟着文字颜色变化,深色模式下也看得清;带深色笔画的多色图标、图片图标和你上传的图标在深色模式下仍然带浅色底。
  • 右键不再弹出浏览器菜单(#8919、#8921):以前在主窗口和托盘面板里点右键,会弹出浏览器自带的菜单(Windows 上是「后退」「重新加载」「另存为」「打印」等)。现在不会了;输入框、代码编辑器和选中的文字仍然可以右键复制粘贴。
  • 熔断日志写明是哪家供应商(#9292):熔断器的日志(CB-001 到 CB-006)都带上了「应用:供应商 id」;熔断器拒绝某家供应商时也会记一行 FWD-004,写明供应商名称,不再悄悄跳过。只改了日志,路由和熔断行为不变。
  • 预设: Mistral AI 预设的默认模型改为 mistral-large-4(Mistral Medium 3.5 已被 Mistral 宣布弃用),Claude Code、Codex 和 Claude Desktop 的 Mistral AI 预设不再隐藏。Mistral Vibe 套餐和 API 共用额度,「获取 API Key」改为打开 Vibe CLI 的密钥页,免费、订阅和按量付费都能用;添加供应商时搜「Vibe」也能找到它。新增 Genesis(#9269)、TokenPlus(#9296)。已添加的供应商不受影响。

修复

  • 配置文件是软链接时,切换供应商会把它替换成普通文件,Windows 上直接报错(#6764、#9283)。用 dotfiles 工具或同步文件夹管理 ~/.claude/settings.json、~/.codex/config.toml、opencode.json 等文件时,它们通常是软链接。以前写入时会把链接本身替换掉,macOS 和 Linux 上链接变成普通文件、和原文件脱钩,Windows 上报错「原子替换失败」(os error 1464)。现在会写到链接指向的真实文件,链接保持不变。
  • 请求中途被取消后,供应商可能一直处在熔断恢复中,直到重启(#7206、#9292)。熔断恢复期间,熔断器只放一个探测请求过去;如果这个请求还没结束客户端就断开了,名额不会还回去,之后发给这家供应商的请求全被拒绝。现在无论请求怎么结束,名额都会还回去。
  • Codex 设置了自定义权限后,用 plan 模式报错(#7349、#7294)。较新的 Codex 读取自定义权限时要求 model_catalog_json 是绝对路径,以前 CC Switch 写的是文件名,Codex 报 AbsolutePathBuf deserialized without a base path。现在写成绝对路径;配置目录在 WSL 里时仍写文件名。
  • 运行过一次的 Skill 被显示为「可更新」,点更新会覆盖整个目录(#7780、#7772)。Python 运行时生成的 __pycache__ 和 .pyc 文件被算进了 Skill 的内容。现在检查更新时忽略这些文件;以前版本记下的旧记录会自动换算,不会因此误报。
  • Skills 仓库显示「识别到 0 个技能」(#9273)。导入时添加的仓库分支记为 HEAD,或者仓库默认分支是 master 却配成了 main 时,数量总是 0。现在按实际读取的分支计数;读取失败的仓库会写明「读取失败」和原因,导入 Skill 新增了仓库后,下次打开会重新读取。
  • Windows 上把 Python 包里的 pi.exe 当成 Pi(#9267)。PyPI 上有一个无关的 pi 包会装出 Scripts\pi.exe,应用页会把它显示为「无法运行」。Pi 只通过 npm 发布,现在 Python Scripts 目录里的 pi.exe 不再被识别为 Pi。
  • 模型价格同步失败,只提示 error decoding response body(#9262)。网络较慢或经代理时,从 models.dev 下载价格表会在读到一半时超时。现在超时时间从 15 秒放宽到 60 秒,失败时同步状态里会写出真正的原因。
  • 添加 DeepSeek Harness 供应商时只提示 Invalid DeepSeek Harness profile YAML,不知道是哪个文件(#9297)。现在报错会写出出错的配置文件路径和 YAML 的具体错误,方便找到文件修复。
  • 连通性测试把会重定向的中转站判为不通(#9253、#5747)。有的网关在 /v1 和 /v1/ 之间互相重定向,现在测试收到重定向就算连得上。
  • 打开对话框时窗口拖不动(#9140)。现在对话框打开时仍然可以拖动窗口;Windows 和 Linux 上使用应用内窗口按钮时,最小化、最大化和关闭按钮也照常可用。
  • Linux 快捷面板显示异常:轻量模式下重新打开的面板和窗口渲染出错(#9233、#9216),设置了显示缩放时面板被裁掉一部分(#9287、#8556)。Linux 上的面板改为不透明背景。
  • 供应商名称以 emoji 等字符开头、或前面带空格时,没有图标的卡片显示的首字是乱码或空白(#8139)。
  • 一键导入链接的风险提示漏判了内嵌 IPv4 地址的 IPv6 地址(#8127)。这类地址现在按它实际指向的 IPv4 地址判断是否为本机或内网。

致谢

感谢 @funkpopo(界面密度和缩放、模型定价表搜索、Grok Build 打开终端、Skills 已安装页、对话框拖动、重定向中转站)、@Owlbay(消息正文搜索、供应商图标跟随主题、Linux 快捷面板)、@xue-ding-e(消息正文搜索)、@allenxu09(供应商图标跟随主题)、@SailingLoong(Codex plan 模式报错)、@rollroyces(Skill 误报有更新)、@jzcangshu(右键浏览器菜单)、@Railgun-wiki(Linux 快捷面板缩放)、@subbareddypalagiri(图标首字、一键导入风险提示)、@lxw665(Genesis 预设)、@XiaoqiangPei(TokenPlus 预设)的贡献。

特别感谢以下贡献者:你们的 PR 发现并修复了真实的问题,只是同样的问题后来在主线上另行修好,PR 因此关闭。@guokun666、@742369675-coder(Claude Desktop 的一键导入链接)、@funkpopo(DeepSeek Harness 配置目录)、@SailingLoong(网关拒收图片时的降级)。

感谢 @Joyyi-11、@BennettChina、@Ming-Sir-69、@xjtusjtu、@zhengguilin、@YongmaoLuo、@dujunily、@sancodeee、@yinshuang007、@1974471409、@zjking、@WesternGua、@libcyz、@SuFangzheng 报告问题、提供复现信息和修复思路。

完整的技术细节请见 CHANGELOG。

安装包

文件 适用
CC Switch_4.0.27_aarch64.dmg macOS Apple Silicon

注:未包含 updater 签名产物(发布私钥不在本地构建环境),应用内自动更新不可用,请手动下载升级。

CC Switch v4.0.26

Choose a tag to compare

@QianLongGit QianLongGit released this 06 Nov 07:05

本 fork 同步 upstream v4.0.26(含 v4.0.21–v4.0.25,227 提交),完整保留图片分流与项目级供应商路由两功能;迁移链调和为 v26(上游 DSH 迁移重编号追加链尾,旧版本数据平滑升级)。以下为上游官方 v4.0.26 更新日志(其余版本内容见 releases 页):

CC Switch v4.0.26

本版本让授权中心和官方供应商卡片显示每个账号的订阅计划,GitHub Copilot 账号会列出所有有上限的额度;一键导入链接现在也能导入 Claude Desktop、MiniMax Code、Kimi Code、DeepSeek Harness 和 Oh My Pi 的供应商。Codex 卡片可以选择保留 GPT 模型的官方 Fast 档;系统代理把 Codex、Grok Build 发往本地路由的请求接走时,CC Switch 会提醒你。DeepSeek Harness 可以设置配置目录,装在 WSL 里也能管理。这一版还做了一轮性能优化:供应商列表、主窗口加载、启动、会话读取和路由转发都更快,会话同步占着数据库时界面也不再卡住。另外修复了 IPv6 不通时经路由请求先卡两分多钟、需要登录的 MCP 服务器显示连接失败、Claude Desktop 路由卡片改了模型不生效、Codex 经路由转 Chat 时缓存命中率下降、GitHub Copilot 的 Grok 请求报 422 和回复重复显示、非 Retina 显示器上弹窗模糊等问题。4.0 完整的更新内容请见 v4.0 发布说明。


新增

账号订阅计划

以前授权中心里只有 Claude 账号会写订阅计划,其他账号只显示登录日期,同一个服务的 Max 账号和 Free 账号看起来一模一样。

现在 GitHub Copilot、ChatGPT、Kimi、Antigravity、xAI 账号的第二行开头也会写订阅计划。Codex、Kimi、Antigravity、Gemini CLI 的官方卡片,以及 Copilot、xAI 账号卡片,副标题后面也会加上「· 计划名」。

  • 卡片上的计划名直接用额度查询的结果,不会多发请求(Kimi、Antigravity、xAI 查额度时会多一个并行请求取计划名);额度加载出来后计划名才出现,不查额度的卡片不显示。
  • 计划名查不到时只是不显示,额度照常显示;刷新失败时保留上次查到的计划。
  • 跟随 Grok CLI 登录的 Grok Build 卡片、没绑账号的 Antigravity 卡片暂时还没有计划名,它们查额度的方式拿不到这项信息。

GitHub Copilot 显示全部额度

Copilot 账号以前只显示高级请求的百分比。现在每一项有上限的额度各占一行,悬停可以看到「剩余 / 共」,Free 账号的代码补全和聊天次数也能看到了。

  • 高级请求改叫 Credits,和 Codex 的叫法一致,托盘里也一样。
  • Free 账号没有 Credits,以前会显示成「还剩 100%」,现在写「当前计划不含」,供应商卡片上不再显示这一项。

一键导入支持更多应用

以前 Claude Desktop、MiniMax Code、Kimi Code、DeepSeek Harness 和 Oh My Pi 的供应商链接会直接被拒绝。现在这些应用的链接也能导入了。

  • Claude Desktop:链接是 Anthropic 格式、模型名都以 claude- 开头(或没写模型)时,导入成直连卡片;其他情况导入成模型映射卡片,四个档位按链接里的模型填好。
  • MiniMax Code、Kimi Code、DeepSeek Harness、Oh My Pi:和 Pi 一样导入成单个模型,链接里必须带模型。
  • Oh My Pi 会把某些写法的 Key 当成环境变量名或命令来读,导入后可能把你本机的密钥发到链接里的地址。所以这类 Key(以 ! 开头、没有小写字母等)会被拒绝导入。

Codex 卡片保留官方 Fast 档

Codex 第三方卡片模型列表里的 GPT 模型以前一律去掉了官方的 Fast 速度档,选不了 Fast(#5234)。转发官方 ChatGPT 账号的中转(如 CPA)其实支持 Fast。

现在 Codex 供应商表单「高级选项」里,「上游格式」下面多了「保留官方 Fast 档」,默认关闭,只在上游格式为 Responses 时显示。打开后 Codex 选了 Fast 时请求会带 service_tier=priority。

  • 只有转发官方 ChatGPT 账号的中转才认,会更快消耗额度;其他上游可能报错或按更高价格计费。
  • 以前在官方卡片下选过 Fast 的,打开后会马上在这家生效。聚合模式下不生效,改完需要重启 Codex。

系统代理接走本地路由时提醒

开着 Clash 这类代理工具时,Codex 和 Grok Build 发往本地路由(http://127.0.0.1:<port>)的请求可能被系统代理接走,转到远程节点后返回一个空的 502(#9221)。Codex 只显示「502 Bad Gateway」,CC Switch 这边也收不到请求,没有任何日志,很难查。

现在 Codex 或 Grok Build 进入路由模式后,CC Switch 会在后台按客户端同样的代理规则给本地路由发一次请求。请求回不来时,日志里会记一条警告;如果是你手动进入路由模式,界面上也会弹出提示,说明怎么在代理工具里让本机地址直连(例如在 Clash 规则最前面加 IP-CIDR,127.0.0.0/8,DIRECT,no-resolve)。

DeepSeek Harness 配置目录

以前 DeepSeek Harness 只认 DSH_HOME 或 ~/.dsh,装在 WSL 里的 DSH 在 Windows 版 CC Switch 里管不了(#9239)。

现在「设置 → 应用配置」里多了 DeepSeek Harness 一栏,可以设置配置目录。供应商、Skills、指令文件、会话和用量导入都会跟着这个目录走。填 WSL 里的路径时,版本检测、安装和升级也会在那个 WSL 发行版里进行。


变更

  • 性能优化:
    • 供应商列表读取更快,供应商越多越明显;没改动的供应商不再重复写入数据库,也就不会因此触发云同步(#9180)。
    • 次要页面和供应商编辑器改为用到时才加载,主窗口启动要加载的脚本少了一半(#9181)。
    • 启动时的日志清理挪到后台进行;窗口隐藏或最小化时暂停定时刷新,窗口可见但不在前台时照常刷新(#9182)。
    • 读取会话记录时少复制一遍数据,进入轻量模式后会释放会话缓存(#9183)。
    • 路由转发流式响应时少了大量内存复制,响应很长时尤其明显;故障转移读数据库的次数也更少(#9161)。
  • 会话同步时界面不再卡住(#9178):大会话文件同步时会占着数据库几十秒,这期间打开 Skills 页、切到 Pi 或 Oh My Pi、打开网络或数据设置、图标选择、统一供应商面板、测速等操作会让整个窗口和托盘卡住,直到同步结束。现在这些操作都在后台等待,界面照常响应。
  • 会话阅读页的工具栏重新排版(#9109):第一行放路径和阅读工具,第二行放时间、会话统计、模型和用量;去掉了容易落在行首行尾的分隔点,模型名太长时换行显示,悬停可看完整名称。
  • 预设: Grok Build 默认模型改为 grok-4.7,Kimi 预设(Codex 的除外)默认模型改为 kimi-k3.1-pro,Hermes 的千问 Coding Plan 默认模型改为 qwen3.7-plus(#9193);TeamoRouter 改用 teamorouter.com 域名;Claude Desktop 官方卡片的下载链接改为 claude.com/download。已添加的供应商不受影响。

修复

  • IPv6 不通时,经路由的请求要先卡两分多钟才发出(#9212)。智谱 GLM、阿里云百炼等服务的域名会先解析出 IPv6 地址,在 IPv6 不通的网络里,本地路由要等系统把每个 IPv6 地址都超时一遍才改用 IPv4,macOS 上约 150 秒、Windows 上约 43 秒。现在 IPv6 地址 300 毫秒内连不上就同时尝试 IPv4,发出的请求内容不变。
  • 需要登录的 MCP 服务器,连通性检查显示「连接失败」(#9190)。Notion、Sentry 这类服务器需要 OAuth 登录,客户端里登录后能正常用,但 CC Switch 检查时不带客户端的登录凭据,就被判成了失败。现在这种情况显示黄色圆点,悬停会说明服务器能连上、只是要求登录。CC Switch 仍然不读取客户端保存的登录凭据。
  • Claude Desktop 路由卡片改了模型后,Claude Desktop 里还是旧模型,删掉重建才行(#9203)。保存时「菜单显示名」留空会自动填成模型名,之后只改模型时显示名还是旧的。现在显示名和旧模型名一样时会跟着新模型一起改,你自己起的名字保持不变。
  • Codex 经路由转 Chat 时,对话中途改了设置后缓存命中率下降。比如中途切换 sandbox_mode 后,Codex 会在这一轮开头插入一条说明,以前它被合并到对话最开头,改写了整段历史,上游缓存就全部失效了。现在这条说明留在原位,之前的历史保持不变。
  • Codex 经路由转 Chat 时,可能把另一个会话的思考内容混进当前会话。上游给的工具调用 ID 容易重复(如 exec_command:0),本地路由重启或缓存被挤掉后,可能找到别的会话里同名的调用。现在按 Codex 会话区分,只在同一个会话里找。
  • 路由请求失败时,请求日志里记的是客户端的模型名。比如 Claude Desktop 的后台任务用的是 claude-haiku-4-5-20251001,映射到这张卡片的模型后上游报 429,日志里却显示 Haiku,看起来像调用了一个你没配过的模型。现在失败的请求和成功的一样,会写成「claude-haiku-4-5-20251001 → 实际模型」。
  • 跟随本机登录的 Claude 官方卡片,登录过期后一直显示「令牌待刷新」,要再跑一次 Claude Code 才恢复。现在登录过期时 CC Switch 会让 Claude Code 自己刷新登录,再读取额度。设置了 Claude 配置目录时跳过。
  • Claude Code 和 Claude Desktop 自动模式的安全分类器不可用时,客户端会一直重试、持续消耗额度(#9201、#9199)。现在连续 3 轮工具结果都报告分类器不可用时,本地路由直接返回错误,不再发给上游;发一条新消息即可继续。
  • Codex 通过 GitHub Copilot 用 Grok 模型时报 422(#7989、#7988)。现在 Copilot 的 Grok 请求和直连 xAI 一样做兼容处理。
  • Codex 通过 GitHub Copilot 时,同一条回复显示两遍(#8025、#7977)。
  • 安装或升级应用时撞上已有的同名文件,提示里只有 npm 建议的 --force(#9196、#9173)。这个文件多半来自另一种安装方式,用 --force 会直接覆盖它。现在提示会写出冲突的文件路径,建议先改名备份再重试。
  • Skills 里有文件软链接时,WebDAV 自动同步失败(#9197)。比如 CLAUDE.md 和 GEMINI.md 都链接到 AGENTS.md 时,打包会出现重名文件。现在每个文件保留自己的名字。
  • Codex 子代理并发上限的两个问题(#9148):config.toml 里表头后面带注释时,改上限可能覆盖掉 [features.multi_agent_v2];[agents] 写成带引号的键名时,会多写一个 Codex 不认的重复字段。说明文字也补充了改动只对新会话生效。
  • DeepSeek Harness 用 headless profile 时找不到 CC Switch 保存的 Key,报 MISSING_CREDENTIAL。现在写入 headless profile 时会按 DSH 文档开启凭据读取;你自己改过这一项的 profile 保持不变。
  • 在 1x 显示器上,「选择模型」等弹窗显示模糊(#9238)。弹窗居中时可能落在半个像素上,非 Retina 显示器上文字和边框会发虚。
  • macOS 上,在 MCP 表单、提示词编辑、Skills 仓库、会话搜索等输入框里打字时首字母被自动改成大写,环境变量名、请求头、命令、地址可能因此被存错。
  • Linux AppImage 打包了旧版 libwayland-client(#9229、#8723),在 Intel 核显加 Wayland 的环境下可能打不开。

致谢

感谢 @YUZHEthefool(供应商列表、页面加载、启动和会话读取四项性能优化)、@allenxu09(路由转发性能、会话阅读页工具栏)、@thisTom(会话同步时界面卡住)、@EdwinDigital(GitHub Copilot 的 Grok 请求和重复回复)、@jasontospas(安全分类器重试循环)、@funkpopo(子代理并发上限修复)、@zydo(预设默认模型)、@Logic-Bin(npm 同名文件冲突提示)、@paigeman(Skills 软链接同步)、@nekoteai(Linux AppImage)的贡献。

感谢 @939zzz、@xybigdata、@codexvn、@Guns160、@Drteammangel、@icucuio、@48ytw4q7zg-sudo、@Cu-debug178、@Wulianmiao 报告问题、提供复现信息和修复思路。

完整的技术细节请见 CHANGELOG。

安装包

文件 适用
CC Switch_4.0.26_aarch64.dmg macOS Apple Silicon

注:未包含 updater 签名产物(发布私钥不在本地构建环境),应用内自动更新不可用,请手动下载升级。

CC Switch v4.0.20

Choose a tag to compare

@QianLongGit QianLongGit released this 25 Oct 08:00

本 fork 同步 upstream v4.0.20(含 v4.0.19,87 提交),完整保留图片分流与项目级供应商路由两功能;迁移链调和为 v25(上游 Kimi/omp 两迁移重编号追加链尾,旧版本数据平滑升级);用量日志表适配上游内容取宽新渲染体系。以下为上游官方 v4.0.20 更新日志(v4.0.19 内容见 releases 页):

CC Switch v4.0.20

本版本新增对 Oh My Pi 的支持,它是 CC Switch 管理的第 13 个应用:多个供应商可以同时写进它的 models.yml,MCP、Skills、提示词同步给 Oh My Pi,会话可以浏览和恢复,「应用」页可以安装、升级、卸载 Oh My Pi。「应用」页分成「已安装」「未安装」两组,已安装的应用可以拖动排序,侧栏跟着这个顺序。Kimi 官方账号的卡片现在可以编辑模型、从 Kimi Code 里移除;托管的 ChatGPT 账号可以用浏览器登录。另外修复了 DeepSeek 余额用完后显示成「套餐已过期」、Kimi Code 子代理的用量没有统计、Skills 更新一直报 HTTP 429、Pi 的 API Key 写成环境变量引用时额度查询 401、Claude Code 会话标题显示成 <local-command-stdout>、Linux 上开启应用级窗口按钮后页头拖不动等问题。4.0 完整的更新内容请见 v4.0 发布说明。


新增

Oh My Pi

Oh My Pi(命令是 omp)现在是一个独立的应用,有自己的供应商、MCP、Skills、提示词和会话(#6747、#8308)。配置在 ~/.omp/agent,用了命名 profile 时在 ~/.omp/profiles/<名称>/agent;也可以在设置里改成别的目录。

  • 供应商可以同时启用。 和 Pi 一样,卡片上是「启用」「移除」,多个供应商同时写进 models.yml,在 Oh My Pi 里选用。只改 CC Switch 写的那一条,文件里其他内容原样保留;用了 YAML 锚点、标签这类写法的条目不会被重写,会提示你手动修改。
  • 写入前按 Oh My Pi 的规则检查。 Oh My Pi 只要有一条供应商不合规,就会停用所有自定义供应商,所以填了它不接受的值,保存时会直接提示,不会写进去。只有旧版的 models.json、还没有 models.yml 时,会提示你先运行一次 omp,让它自己迁移,不会新建文件挤掉你原来的供应商。
  • 添加供应商。 表单和 Pi 共用,预设也来自 Pi 的目录;「获取模型列表」后在弹窗里勾选模型。「模型自动发现」(让 Oh My Pi 自己去接口查有哪些模型)和请求头、兼容选项一起放在「高级选项」里。API Key 可以写环境变量名,查询额度时 CC Switch 会按 Oh My Pi 的规则取出实际的值。
  • MCP、Skills、提示词。 MCP 写进 mcp.json,Skills 装进 Oh My Pi 自己的技能目录,提示词写进 AGENTS.md。Oh My Pi 还会从其他工具的目录里找 MCP 和技能,实际加载的可能比 CC Switch 里列出的多,MCP 和 Skills 页 Oh My Pi 一列的说明里有解释。
  • 会话。 可以浏览和恢复 Oh My Pi 的会话,预览里能显示项目里的图片。
  • 「应用」页管理 Oh My Pi。 用官方安装脚本安装(装了 Bun 就用 Bun,没装就下载官方的二进制),升级运行 omp update(用 Homebrew 装的仍然走 Homebrew),可以卸载。
  • Oh My Pi 不经过本地路由,也暂不统计用量。

托管 ChatGPT 账号可以用浏览器登录

在授权中心或 Codex 的供应商表单里添加托管 ChatGPT 账号时,可以在「登录方式」里选「浏览器登录」(#8288、#8284)。有些企业工作区关掉了设备代码登录,这些账号以前加不进来;重新登录也可以用浏览器。「设备代码登录」仍然可选。

改进

「应用」页分成「已安装」「未安装」两组。 每组标题带数量,没有应用的组不显示;刚打开、还在检测时先显示一整张表,检测完再分组,行不会一个个跳。Claude Desktop 没有命令可查,按是否装了 Desktop 来分组,行里照旧写是否已接入 CC Switch。

已安装的应用可以拖动排序。 鼠标移到某一行上,行首会出现拖动手柄,和供应商卡片排序一样。侧栏和默认打开的应用都跟着这个顺序;顺序只存在本机,不随云同步。

Kimi 官方账号的卡片可以编辑和移除。 以前官方卡片只能在授权中心管理,模型停在登录时的那一份。现在可以编辑卡片:连接和登录仍由授权中心管,这里只改模型,「获取模型列表」读取这个账号当前可用的官方模型,带上官方的上下文窗口、能力和思考档位。官方卡片也可以像其他 Kimi 供应商一样从 Kimi Code 里「移除」,卡片和登录都保留,再点「添加」就恢复;要删除,先移除,或者到授权中心删。

没有 Kimi Code 套餐的 Kimi 账号显示「未订阅」。 以前授权中心和官方卡片的额度一栏是空的,看起来像查询失败。

余额用完也显示金额。 余额为零或欠费时,供应商卡片和托盘以前只写「余额已用完」,看不出欠了多少,红字也和「额度查询失败」分不清。现在一律显示「余额 <金额>」,为零或负数时卡片上整行变红、托盘里变成橙色,和以前一样。

额度查询失败的中文提示改成「额度查询失败」(以前是「额度没查到」),供应商卡片、授权中心和托盘一起改。

Pi 获取模型列表后在弹窗里勾选。 以前只能逐行从下拉框里选,现在和 OpenCode、Codex、Kimi Code 一样弹出列表,勾选的模型自动加成一行,从预设或 models.dev 补上参数;取消勾选会删掉对应的行。逐行的下拉框还在。

Pi 的请求头和兼容选项收进「高级选项」。 默认收起,和 Claude Code、Codex 的表单一致;兼容选项的说明改成了白话。

Claude Code、Claude Desktop 选 GitHub Copilot 供应商时,上游格式显示为「由路由按模型自动选择」(#8196、#8195)。Copilot 的上游格式本来就按模型自动选,以前表单里还能手选,选了也不生效。

用量页明细页签的数量一次全显示。 以前「模型」页签要点开才有数量,切换应用时三个数量会消失再出现,页签栏跟着跳。

价格表新增 Kimi K3.1 Pro 和 K3.1 Pro HighSpeed。

土耳其语翻译补全(#8616)。

预设: 各家预设的模型更新到当前的最新型号,填上 Key 就能用。

修复

  • DeepSeek 余额为零或欠费时,卡片和托盘显示「套餐已过期」,余额数字不见了(#8812)。DeepSeek 返回的「是否可用」只表示余额够不够调用,余额一到零就变成否,Key 本身仍然有效。现在照常显示余额;Key 真的失效时,仍按认证失败提示。
  • Kimi Code 子代理的用量没有统计进来(#8792)。Kimi Code 把每个子代理的记录写在单独的文件里,以前只读了主代理的那份。现在每个子代理都会导入,按每次调用记账,不会和主代理的汇总重复计算。
  • Antigravity 子代理和 ACP 会话的用量记成未知模型(#8693)。现在从 agy 本地的对话数据库里找回模型(只读,不会等 agy 写完)。
  • Skills 安装或更新一直报 HTTP 429(#8813)。下载 GitHub 仓库压缩包时没带 User-Agent,GitHub 对这类请求限流更严,多人共用一个出口 IP 时更容易碰到。现在会带上 CC-Switch/<version>。
  • Pi 的 API Key 写成 $NAME、${NAME} 这类环境变量引用时,额度和余额查询报 401(#8822)。以前把引用原样当成 Key 发出去,现在按 Pi 的规则取出变量的值;变量没设置时,也不会再把引用当成 Key 发出去。!command 形式的 Key,CC Switch 仍然不会执行。取出的值只用于这次查询,不写回配置。
  • Claude Code 会话在会话管理里的标题显示成 <local-command-stdout>Set model to opus</local-command-stdout>(#8799、#8798)。会话一开头运行了 /model、/effort 这类本地命令时,标题会这样;最后运行了本地命令时,列表里显示的最后一条消息也是命令输出。现在会跳过这些记录。
  • Linux 上开启「启用应用级窗口按钮」后,页头拖不动窗口,窗口边缘也没有缩放光标(#8092、#8091)。
  • Codex 经 Chat 上游时,带图片的孤立工具结果里,占位文字说图片在「下一条消息」里,实际并没有这条消息(#8157)。现在改成说图片已经作为图片附上。

升级说明

数据库版本从 22 升到 23,为 MCP 增加 Oh My Pi 的开关。升级前会自动备份数据库;升级后再退回旧版本,旧版本会提示数据库版本过新,打不开。

  • Oh My Pi 默认显示在侧栏,不用的话可以在「应用」页关掉「在侧栏显示 Oh My Pi」。

致谢

感谢 @JackieJK、@allenxu09(Oh My Pi 支持)、@Llugaes(ChatGPT 账号浏览器登录)、@dsdbb520(Antigravity 子代理用量)、@L4XB(Claude Code 会话标题)、@vianrina(Linux 窗口拖动)、@Railgun-wiki(Copilot 上游格式)、@NeeYoonc(孤立工具结果的图片占位)、@alkank(土耳其语翻译)的贡献。

感谢 @CypressStar、@taylortaurus、@SoraStr、@Lain-in-coding、@TomMao23、@L-Molish、@taki-ohh 报告问题、提供复现信息和修复思路。

特别感谢以下贡献者:你们的 PR 发现并修复了真实的问题,只是同样的问题后来在主线上另行修好,PR 因此关闭。@yvzhou1111、@AkimioJR、@KirisameLonnet。

完整的技术细节请见 CHANGELOG。

安装包

文件 适用
CC Switch_4.0.20_aarch64.dmg macOS Apple Silicon

注:未包含 updater 签名产物(发布私钥不在本地构建环境),应用内自动更新不可用,请手动下载升级。

CC Switch v4.0.18

Choose a tag to compare

@QianLongGit QianLongGit released this 22 Oct 02:19

本 fork 同步 upstream v4.0.18(含 v4.0.16、v4.0.17,98 提交),完整保留图片分流与项目级供应商路由两功能;迁移链调和为 v23(上游 agy 迁移重编号追加链尾,旧版本数据平滑升级)。以下为上游官方 v4.0.18 更新日志(v4.0.16/v4.0.17 内容见 releases 页):

CC Switch v4.0.18

本版本新增对 Antigravity CLI(agy)的支持,它是 CC Switch 管理的第 11 个应用。你可以为 agy 添加官方登录卡和第三方 API Key 卡。注意:Antigravity 的供应商只在从 CC Switch 卡片「使用此供应商打开终端」启动的 agy 里生效,在其他终端里直接运行 agy 不会用到它;MCP、Skills 和提示词同步给 agy,会话可以浏览和恢复,用量从会话日志导入;「应用」页可以安装、升级、卸载 agy。macOS 上,授权中心还能管理多个 Antigravity 账号:一键切换 agy 的登录,查看每个账号的额度,把官方卡绑定到某个账号。另外,Windows 上的应用内更新不会再因为文件被占用而重启电脑,MSI 安装时可以选择不创建桌面快捷方式;页头改为在应用名旁用小徽章显示实际的连接。还修复了 macOS 上并发请求多时路由因文件句柄耗尽而失败、从访达启动时「重启 Codex 守护进程」报 env: node、Claude Code 会话用 /cd 换目录后仍归在旧项目下、Windows 上打开终端后一直转圈直到关掉终端窗口、Codex 未使用的额度窗口显示倒计时、DeepSeek V4.1 Flash 没有计价等问题。4.0 完整的更新内容请见 v4.0 发布说明。


新增

Antigravity CLI(agy)

Google 的 Antigravity CLI(命令是 agy)现在是一个独立的应用,有自己的供应商、MCP、Skills、提示词、会话和用量,和 Gemini CLI 分开管理(#8268、#2959)。

⚠️ Antigravity 的供应商必须从 CC Switch 以终端启动才生效。 和其他应用不同,CC Switch 不改 agy 自己的设置文件,所以 Antigravity 的卡片没有「切换」,也没有「使用中」。要用哪张卡,就点那张卡上的「使用此供应商打开终端」,在弹出的终端里运行的 agy 才会用这家供应商;在其他终端里直接运行 agy,用的仍是 agy 自己的 Google 登录和设置。(macOS 上在授权中心切换账号是例外:它改的是 agy 的全局登录,见下一节。)

  • 两种供应商卡。 官方登录卡用 agy 自己的 Google 登录,打开终端时用卡上选的模型启动 agy,只对这次会话生效;第三方卡填兼容 Gemini API 的地址和 Key,地址留空用 Google 默认的 API,Key 和地址只交给这个终端里的 agy,不写进 agy 的配置和 shell 启动文件(启动用的临时文件会自动删除)。模型列表来自 agy 自带的模型目录,填的是 agy 认得的显示名称。
  • MCP、Skills、提示词。 同步到 ~/.gemini/config,这是 agy 的全局定制目录,可能和同一台电脑上的 Antigravity IDE 共用。第三方卡启动的 agy 同样能用这些 MCP、Skills 和提示词。
  • 会话。 可以浏览 agy 和 Antigravity IDE 的会话,只显示你输入的内容,不显示 agy 自己附加的上下文;第三方卡启动的会话也能找到,并用同一张卡恢复。
  • 用量。 从会话日志导入(包括 Antigravity IDE 的会话),按每轮选择的模型记账,费用按价格表里对应模型的 API 价格估算。
  • 官方额度。 在官方卡上开启额度查询后,显示 Gemini 和 Claude/GPT 两组额度,每组有 5 小时和每周两个窗口;卡片上每组只显示剩得少的那个窗口,点开下拉可以看全部四个窗口和各自的重置时间。
  • 「应用」页管理 agy。 用官方安装脚本安装,用 agy update 升级(Homebrew 安装的也一样),可以卸载。
  • 深链接也可以导入 agy 的供应商、MCP 和提示词。

授权中心管理多个 Antigravity 账号(macOS)

agy 同时只能登录一个账号。现在授权中心多了 Antigravity 一组:点「用 Google 登录」或「添加账号」,在浏览器里添加账号,agy 里已经登录的账号也会自动收进来。

  • 切换。 在账号的菜单里选「切换 agy 到这个账号」,之后新开的 agy 都用这个号。原来登录的号会先收回授权中心,切走也不会丢。如果 agy 正在运行,会提醒你:已经打开的 agy 还用原来的号,而且可能把原来的号写回去,最好先退出。
  • 每个账号的额度。 每一行都显示自己的额度,不用切过去才能看。查额度只读额度,不调用模型。不能使用 Antigravity 的账号(比如有年龄限制的)会显示 Google 给出的原因,而不是一句看不懂的 403。
  • 把官方卡绑定到账号。 官方卡的表单里可以选一个账号:打开终端前会先把 agy 的登录切到这个号,已经是它就不再写入;卡片上显示的也是这个号的额度。不选就跟随 agy 当前的登录。卡片同步到另一台电脑后,那台电脑上也添加了这个号才能用,否则打开终端时会提示,不会用别的号启动。
  • 删除账号不会让 agy 退出登录。 CC Switch 只删掉自己保存的那一份。

改进

Windows 上的应用内更新不会再重启电脑(#8628、#8534)。应用内更新以不弹对话框的方式运行 MSI 安装包,以前只要安装目录里有文件还被占用,Windows Installer 就会不提示直接重启电脑。现在安装包本身禁止重启,从旧版本更新到这一版时也生效。

MSI 安装时可以不创建桌面快捷方式(#8601、#5667)。安装目录页多了「Create a desktop shortcut」选项,默认勾上;静默安装可以加 CREATEDESKTOPSHORTCUT=0 跳过。升级时保留现在的状态:你删掉的快捷方式不会被重新创建。桌面目录写不进去时也不会再让安装失败。

页头显示实际的连接(#8634)。实际连到哪里,从模式标签旁挪到应用名旁,用当前模式(直连、路由、聚合)的颜色画成一个小徽章;切到别的模式标签看时也一直显示,名称太长会截断,鼠标悬停可以看到全部。

精简界面上的说明文字(#8633)。供应商表单、OpenClaw、每日记忆、同步和整流器设置里,和旁边标签、标题重复的说明去掉了,补充说明挪进已有的帮助卡片;会影响结果的提示(费用、重启、同步、删除等)照常显示。

用量页的应用筛选只列「应用」页里显示的应用。 和会话管理一样:显示 Claude Desktop 时 Claude Code 也保留,当前选中的应用即使被隐藏也不会消失。

预设: 新增 DIT.ai、hao.ai。

修复

  • macOS 上并发请求多时路由失败(#8668)。从访达或登录项启动的应用,同时能打开的文件数只有 256 个。路由每个进行中的请求要占一个客户端连接和一个上游连接,并发一多就用完了:接不了新请求、连不上上游,连配置文件和数据库都打不开。现在启动时把这个上限调高到系统允许的值(最多 10240)。Linux 同样处理。
  • 从访达启动时,「重启 Codex 守护进程」报 env: node: No such file or directory(#8653)。从访达启动时 CC Switch 只有系统目录的 PATH,npm 安装的 codex 要靠 node 运行,node 装在别的目录时就找不到。现在运行这类命令时会先加上登录 shell 的 PATH,和安装、升级工具时一样。OpenCode 获取模型列表也受这个问题影响,一并修复。
  • Claude Code 会话里用 /cd 换了目录,会话管理里仍归在旧项目下(#8643、#6862)。复制的恢复命令也会先 cd 到旧目录,在那里 claude --resume 找不到这个会话。现在和 Claude Code 自己的规则一样,按最后一次换到的目录归类,进出 worktree 也一样。
  • Windows 上打开终端后,按钮一直转圈,直到关掉那个终端窗口(#6712)。现在终端打开后就会结束等待。
  • Codex 没用过的额度窗口也显示重置倒计时(#8631)。用量为 0 的窗口,Codex 返回的重置时间是「现在加一个窗口长度」,所以每次刷新倒计时都会跳回整个窗口(5 小时窗口跳回 5 小时)。现在用量为 0 的窗口不显示重置时间。
  • DeepSeek V4.1 Flash 的请求显示「未定价」、按 0 元计。 OpenCode Go、OpenRouter 和 Hermes 预设用的模型名是 deepseek-v4.1-flash,以前价格表里没有。现在按 DeepSeek Flash 的官方价格计算;已经记录的请求不会重新计价。
  • 手册里「官方额度用完后 Codex 锁住发送键」的绕开办法已失效,已更正(#7962)。4.0.16 起聚合模式会保留 ChatGPT 登录,把第三方设为聚合的默认供应商已经绕不开。现在的办法是:切到直连,确认「设置 → 应用配置 → Codex」里的「非接管切换时保留官方登录」是关闭的,切到一家第三方供应商后彻底重启 Codex;额度重置后再切回聚合。

升级说明

数据库版本从 20 升到 21,为 MCP 和 Skills 增加 Antigravity 的开关。升级前会自动备份数据库;升级后再退回旧版本,旧版本会提示数据库版本过新,打不开。

  • Antigravity 的供应商只在从卡片「使用此供应商打开终端」启动的 agy 里生效,在其他终端里直接运行 agy 不会用到它。
  • Antigravity 默认显示在「应用」页,不用的话可以在那里隐藏。
  • 在授权中心管理 Antigravity 账号目前只支持 macOS。其他平台不显示账号选择,官方卡跟随 agy 自己的登录;从 Mac 同步过来的绑定会被忽略。

致谢

感谢 @Owlbay、@peterLwk888、@ajia1206(Antigravity CLI 支持)、@YUZHEthefool(Windows 更新不再重启、可选桌面快捷方式)、@funkpopo(可选桌面快捷方式)、@SaladDay(页头连接徽章、精简说明文字)、@Dopetaiga(/cd 后的会话归类)、@cuiyf5516(Codex 未使用的额度窗口)、@umutcankurt(Windows 打开终端一直等待)的贡献。

感谢 @lm902、@zhufeizzz、@AisinGioroKiIoi、@WzLYVg387U、@mvdorofeev、@dw2286、@LeenixP 报告问题、提供复现信息和修复思路。

完整的技术细节请见 CHANGELOG。

安装包

文件 适用
CC Switch_4.0.18_aarch64.dmg macOS Apple Silicon

注:未包含 updater 签名产物(发布私钥不在本地构建环境),应用内自动更新不可用,请手动下载升级。