当你担心 Claude 账号被封
先备份,再迁移

通过 Workspace Dossier(项目档案),任意 Agent 平台之间互相迁移: Claude Code / Chat / Cowork / Cursor / OpenCode / Hermes / Windsurf 两两互通。

指项目--project <dir>
导出档案ccm export
生成目标ccm apply --target <agent>
7
SOURCES (源)
4
TARGETS (目标)
60+
数据类型覆盖
N+M
VIA WORKSPACE DOSSIER

你的 Claude 资产比想象中多

多年积累的对话、定制 Agent、项目记忆、MCP 配置、Skill 库——一次风控就可能全部失联。

📝

CLAUDE.md + 项目记忆

60+ 种数据:agents、skills、hooks、MCP、会话正文 + 子 agent 轨迹 + tool-results 侧车、shell 快照、file-history、每项目 state。

💬

Claude.ai 对话

N 年的对话、Projects、Artifacts、附件——官方 ZIP 导出后还需要解析转换。

👥

Cowork 团队空间

共享项目、团队 Skills、Connected Tools、成员归属——admin 导出后才是开始。

🔐

嵌入的密钥

settings.local.json、mcpServers headers 里的 Bearer Token 不能明文外带。

Workspace 本应属于你,而不是 Agent

你跟 Claude Code 工作一年攒下的东西——项目记忆、定制 agents、积累的 skills、配置好的 MCP、shell 环境—— 被锁死在 ~/.claude/ 的专有格式里。账号被封、Anthropic 改价、想换到 Cursor / Hermes / Codex? 那一刻你会发现:你一直在为 Agent 工作,而不是 Agent 为你工作。

❌ 数据绑定厂商
  • ~/.claude/projects/*/*.jsonl · 只有 Claude Code 能读
  • settings.json hooks · 换 Agent 就得重写
  • MCP 配置 · 每家 Agent 一套 schema
  • Skills · SKILL.md 格式各家有差异
  • 密钥 · 散落在 headers 和 env 里
✅ 数据归你所有
  • 一份 dossier.json · 存在你选的磁盘、你的云盘
  • 纯 JSON schema · 厂商中立,任何人能读写
  • 60+ 数据类型归一 · session 正文 / memory / skills / MCP / hooks
  • 密钥 auto-redact + 0600 权限 · 给哪个 Agent 用你说了算
  • 同一份档案 · 生成 Hermes / OpenCode / Cursor / Windsurf 配置

Workspace Dossier(项目档案) —— 把你跟 Agent 的交互过程从"工具内部状态"提升为"你的个人数据资产"。 未来要换 Codex?写一个 adapter。飞书接入?写一个 adapter。 你的 workspace 保持不变,搬家的是 Agent,不是你。

3 步走 · 与你的心智模型对齐

添加项目 → 导出为 Workspace Dossier(项目档案)→ 生成目标 Agent 项目。每步有独立产物,可审计、可复用、可换 target。

① ADD

告诉工具项目在哪

INPUT--project /path/to/your-project
PROCESS定位 Claude Code 本地数据(项目目录 + ~/.claude/
OUTPUT无副作用,只是参数
② EXPORT

自动识别 + 导出为项目档案

INPUTClaude Code / Cursor / OpenCode / Hermes / Windsurf / Chat ZIP / Cowork ZIP
PROCESS扫描 60+ 种数据类型 · 归一到 Workspace Dossier · 敏感数据检测
OUTPUTdossier.json(纯 JSON,密钥自动 redact,权限 0600)
ccm export --project <dir> --out dossier.json
③ APPLY

生成目标 Agent 项目

INPUTdossier.json + --target <hermes|opencode|cursor|windsurf>
PROCESS适配器按目标格式渲染(.hermes/ / .cursor/ / AGENTS.md / mcp_config.json
OUTPUT开箱即用的目标项目目录(默认 staging,不动真实项目)
ccm apply --dossier dossier.json --target hermes

同一份 dossier.json 可以反复 apply 到不同 target,不用重扫 —— 大项目的 session JSONL 常常几十 MB。 想一把梭?ccm migrate 把 ② + ③ 串起来一次跑完。

6 个 Skill,落在 3 步的不同位置

② Export/chat-migration/cowork-migration(处理 ZIP 源)。 ③ Apply/code-migration(多目标)、/hermes-migration(Hermes 专用)、/neudrive-sync(推 Hub)。 一键编排/claude-full-migration。无 Python 环境时用 skill,有就用 ccm

支持的目标平台

每个目标有自己的数据格式、MCP 方言、密钥机制。我们都处理好了。

Hermes Agent
Nous Research · glm-5
OpenCode
sst/opencode · opencode.json
Cursor
.cursor/rules/*.mdc
Windsurf
~/.codeium/windsurf/
neuDrive Hub
agi-bar/neuDrive · 对话枢纽

跑起来 · 按 3 步或一把梭

Python 包(ccm)可脚本化、可测试、可 CI;Skills 版本无需 Python 环境,在 Claude Code 里直接 /claude-full-migration

方式 A · Python 包(推荐)

pip install claude-code-migration
# 或 pipx install claude-code-migration (全局 CLI 隔离)

3 步走 — 添加项目 → 导出为档案 → 按目标生成:

# ① 告诉工具项目在哪 + ② 自动识别 60+ 种数据 → Workspace Dossier(项目档案)
ccm export --project /path/to/your-project --out ./ccm-output/dossier.json

# ③ 同一份档案生成任意目标(可反复跑,不必重扫)
ccm apply --dossier ./ccm-output/dossier.json --target hermes   --out ./ccm-output
ccm apply --dossier ./ccm-output/dossier.json --target opencode --out ./ccm-output
ccm apply --dossier ./ccm-output/dossier.json --target cursor,windsurf --out ./ccm-output

一次跑完(export + apply 打包):

ccm migrate --project /path/to/your-project \
            --target hermes,opencode,cursor,windsurf \
            --out ./ccm-output

🆕 任意 source → 任意 target(v0.2.0+):

# Cursor → OpenCode(直接互迁,无需经过 Claude)
ccm migrate --source cursor --project ~/my-cursor-proj \
            --target opencode --out ./ccm-output

# Hermes → Windsurf
ccm migrate --source hermes --target windsurf --out ./ccm-output

# OpenCode → Cursor
ccm migrate --source opencode --project ~/oc-proj \
            --target cursor --out ./ccm-output

可选:加上 Claude.ai 官方导出 ZIP:

ccm migrate --project /path/to/your-project \
            --cowork-zip ~/Downloads/claude-data-export.zip \
            --target hermes,opencode --out ./ccm-output

推送到 neuDrive Hub(走 legacy scan.json 格式):

ccm scan     --project /path/to/your-project --out ./ccm-output/scan.json
ccm push-hub --scan   ./ccm-output/scan.json --token $NEUDRIVE_TOKEN

方式 B · Claude Code Skills(无 Python 环境)

git clone https://github.com/fxp/claude-code-migration
mkdir -p ~/.claude/skills
cp -r claude-code-migration/skills/* ~/.claude/skills/

然后在 Claude Code 里:

claude
> /claude-full-migration

推荐配 BigModel GLM-5

2000 万 tokens 免费额度,性能对标 Claude Opus / GPT-5。 注册 →

Adapter 自动为每个目标生成对应 provider 配置(Hermes YAML / OpenCode JSON)。

测试

仓库含 45 个端到端测试(format-level 验证 + 真实子进程执行 + 任意 source → Dossier → 任意 target 互迁):

pip install pytest
pytest tests/             # 45 passed

生态全景

不做 N×M 点对点迁移。所有源 parse 到 Workspace Dossier(代码里叫 Canonical IR / CanonicalData),所有目标从同一份档案生成配置。新增任一 Agent 只需一个 parser 或 writer,自动获得和其他 Agent 的互通能力。

SOURCES (N) MIDDLE LAYER TARGETS (M) ☁️ Claude.ai 💬 Chat conversations.json 👥 Cowork + workspace_id 💻 Claude Code ~/.claude/ · 60+ 种 🔁 Other Agents (reverse) ✎ Cursor .cursor/rules + mcp.json ◇ OpenCode opencode.json 🔱 Hermes state.db + memories/ ⚡ Windsurf .windsurfrules ⬡ Workspace Dossier 项目档案 · src/canonical.py · v1.0.0 ▸ Identity / Memory / Rules ▸ Projects / Documents ▸ Conversations / Messages ▸ Artifacts / Attachments ▸ Skills / Agents ▸ McpEndpoints / Plugins ▸ Hooks / ScheduledTasks 档案层 · N+M ⚙ Adapters (4) 🔱 Hermes Agent config.yaml + state.db SQLite FTS5 对话恢复 OpenCode opencode.json provider + mcp + skills Cursor .cursor/rules/*.mdc + mcp.json Windsurf .windsurfrules + mcp_config.json (serverUrl) + 更多 加 1 个 writer 即可覆盖 parse() apply() 任何 source × 任何 target = 7 × 4 = 28 条迁移路径(不用写 28 份代码,只用 11 份)
Hub 路径 — 💬 Chat 经 neuDrive 枢纽:对话归档 + 全文搜索,通过 MCP 让各 Agent 共享
本项目路径 — 👥 Cowork + 💻 Claude Code 经 claude-code-migration:Skill 套件直迁多个 Agent 框架