跳到正文
OcHub

从 cc-switch 迁移

安全导入连接、MCP、技能与历史数据,并保留可回退路径。

更新于 查看 Markdown
For humans

OcHub 提供一次性、只读的 cc-switch 导入。导入会读取 ~/.cc-switch/,把可识别数据复制到 OcHub;不会修改或删除 cc-switch 数据。

导入数据与切换工具配置是两件事:完成迁移后,目标 CLI 仍会保持当时的实时配置,直到你在 OcHub 中主动执行“添加到工具”或“切换”。

可以导入什么

OcHub 会识别两代 cc-switch 存储:

来源 默认文件 说明
SQLite 数据库 ~/.cc-switch/cc-switch.db cc-switch v3.x 起使用,内容最完整
旧 JSON 配置 ~/.cc-switch/config.json 较早版本使用

两者同时存在时优先数据库。数据库来源可带入可识别的连接、端点、MCP 服务器、技能与 技能仓库、设置、模型定价、用量历史和配置档等数据;旧 JSON 会导入它实际包含且 OcHub 支持的配置。

以下内容不会被当作迁移目标:

  • cc-switch 对工具实时配置的接管备份。
  • 瞬时测速日志。
  • OcHub 不认识的应用类型或字段。
  • cc-switch 数据目录重定向信息。

因此迁移完成后,不要只比较总文件大小;应按连接、MCP、技能、定价和关键设置逐项抽查。

迁移前准备

建议在没有运行中 AI 会话时操作:

  1. 完全退出 cc-switch。
  2. 退出 Claude Code、Codex、OpenCode 等目标工具。
  3. 备份整个 ~/.cc-switch/
  4. 如果 OcHub 已经有配置,再到高级工具 → 数据库备份创建一份快照。
  5. 记录每个工具当前能正常工作的连接和模型。
  6. 暂停 WebDAV / S3 自动同步,避免未验收的迁移结果立即覆盖远端快照。

首次启动时导入

OcHub 首次启动检测到 cc-switch 后,会先显示找到的来源与可导入数量。

  1. 阅读清点结果。 核对来源路径、连接数量和 MCP 数量。

  2. 选择“导入并开始”。 只有确认后才会复制数据;选择跳过不会改变 cc-switch。

  3. 等待结果。 不要在导入中启动目标 CLI 或关闭 OcHub。

  4. 检查应用列表。 确认 Claude、Codex 等连接出现在正确应用下。

  5. 先验证 OcHub 数据。 在真正切换工具前,检查连接名称、地址、模型、MCP 和技能。

逐步界面示意点击画面放大,左右方向键切换步骤;蓝色描边是当前要对照的位置。
1
STEP 01检查检测到的数据清单
2
STEP 02确认导入并开始
3
STEP 03等待导入结果
4
STEP 04检查每个应用页面
5
STEP 05切换前核对导入数据

如果首次启动时选择了跳过,之后仍可手动导入。

已使用 OcHub 后再次导入

打开设置 → 数据与备份 → 从 cc-switch 导入

  1. 页面会显示检测到的路径、连接与 MCP 数量。
  2. 点击“导入”并阅读覆盖提示。
  3. 确认后,OcHub 会先为当前数据库创建快照。
  4. 同 ID 记录会被 cc-switch 的版本替换;不同 ID 的记录会保留并合并。
  5. 完成后页面会显示导入记录数量。

再次导入适合在以下情况使用:

  • 首次启动时跳过了迁移。
  • 安装 OcHub 之后才把 cc-switch 数据放回默认目录。
  • 迁移前仍在 cc-switch 中整理了最后一批配置。

它不适合当作长期双向同步。重复导入会继续以 cc-switch 的同 ID 记录覆盖 OcHub 版本。

冲突与覆盖规则

理解 ID 冲突可以避免“名称一样为什么没有覆盖”或“我的修改为什么变回去了”:

  • 同 ID:以 cc-switch 的记录替换 OcHub 记录。
  • 不同 ID、名称相同:通常会作为两条记录并存,需要手工整理。
  • 同 ID 的手动价格覆盖:来源记录可能覆盖现有值;LiteLLM 目录不会参与导入。
  • OcHub 已有连接时导入:会先创建数据库快照,便于回退。
  • 未知字段或新版表:宽容读取,能识别的继续导入,其余跳过或记录警告。

导入前如果已经在 OcHub 修改过同一连接,先使用“复制”另存一份,或导出数据库备份。

迁移后验收

不要一次性把所有应用切过去。按下面顺序逐项验证:

1. 连接

  • 每个连接位于正确应用。
  • Base URL 没有重复的 /v1 或完整请求路径。
  • API Key 与鉴权方式匹配。
  • 当前状态符合预期;导入不应被误认为已经切换。
  • 写入预览仍保留工具原生字段。

2. MCP 与技能

  • MCP JSON 是完整对象,目标应用开关正确。
  • 从 cc-switch 导入不代表已经同步到实时配置;确认后再点“同步到应用”。
  • 技能仓库仍可刷新,已安装技能来源可识别。
  • 不再使用的旧仓库先停用观察,不要立即删除。

3. 定价与用量

  • 模型 ID 与请求日志中的计价模型一致。
  • 输入、输出、缓存读写价格没有错位。
  • 应用默认倍率与计价模型来源符合当前需求。
  • 老用量只在有足够 Token 与模型信息时才能计算成本。

4. 设置与同步

  • 数据目录仍指向 ~/.ochub/ 或你明确选择的新目录。
  • OcHub 没有被旧路径设置重新指向 ~/.cc-switch/
  • WebDAV / S3 目标、配置档与远端目录正确。
  • 验收完成后再恢复自动同步,并手动上传一次已验证快照。

5. 真实请求

选择一个应用作为试点:

  1. 备份它的实时配置目录。
  2. 在 OcHub 中切换一个已验证连接。
  3. 重开 CLI。
  4. 发起一条短请求。
  5. 检查模型、状态和用量。
  6. 成功后再处理下一个应用。

发现问题时回退

如果问题只影响一个工具:

  1. 停止继续切换。
  2. 切回迁移前已验证的官方登录或连接。
  3. 必要时恢复该工具配置目录备份。
  4. 比较 OcHub 写入预览与实时文件。

如果导入结果整体不正确:

  1. 退出目标 CLI。
  2. 打开高级工具 → 数据库备份
  3. 找到导入前自动创建的快照。
  4. 选择恢复;OcHub 会先为当前数据库再创建一份安全备份。
  5. 重启 OcHub 并重新检查。

恢复数据库不会自动还原已经被切换操作修改的每个工具实时配置,因此工具目录备份仍然有用。

何时可以停用 cc-switch

至少完成以下检查后再决定是否卸载或归档:

  • 所有要保留的连接都能在 OcHub 中编辑和预览。
  • 至少一个直接连接与一个需要的模型供应商已完成真实请求。
  • MCP 和技能已同步到目标应用。
  • 会话、用量和定价符合预期。
  • OcHub 数据库已有本地备份。
  • 远端同步已上传一次通过验收的快照。

即使不再使用 cc-switch,也可以先把 ~/.cc-switch/ 压缩归档一段时间。更多备份与恢复方式 见数据、备份与同步

Navigation

Type to search…

↑↓ navigate↵ selectEsc close