Skip to content

v4.1.0

Choose a tag to compare

@QianLongGit QianLongGit released this 07 Nov 16:19
· 37 commits to main since this release

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。