---
title: "从 cc-switch 迁移"
description: "安全导入连接、MCP、技能与历史数据，并保留可回退路径。"
version: "zh"
---

> Documentation Index
> Fetch the complete documentation index at: https://docs.ochub.org/zh/llms.txt
> Use this file to discover all available pages before exploring further.

# 从 cc-switch 迁移

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 自动同步，避免未验收的迁移结果立即覆盖远端快照。

> **不要让两个管理器同时写配置**
>
> 迁移本身只读取 cc-switch，但迁移后的“切换”会修改工具实时配置。验收期间保持 cc-switch
> 退出，避免它与 OcHub 同时写入同一文件。

## 首次启动时导入

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

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

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

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

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

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

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

## 已使用 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/` 压缩归档一段时间。更多备份与恢复方式
见[数据、备份与同步](/zh/advanced/data-sync)。

Source: https://docs.ochub.org/zh/guides/migration/index.mdx
