migrate-reasonix-projectlisted
Install: claude install-skill Linearl/reasonix_skill_repo
---
name: "migrate-reasonix-project"
description: "迁移 Reasonix 项目目录时保留对话历史的完整流程(含 Claude Code / Codex 历史联动迁移)。当用户移动、重命名项目文件夹时使用此技能。"
---
# Reasonix 项目迁移技能
当用户需要移动、重命名项目目录时使用此技能。覆盖 Reasonix / Claude Code / Codex 三套对话历史的迁移。
## 核心知识
### Reasonix 对话历史存储位置
历史存储在 `%APPDATA%\reasonix\projects\<encoded-path>\sessions\`(Windows,如 `<local-home>\AppData\Roaming\reasonix\projects\`)。每个项目一个目录,`sessions/` 内含:
- `<session-id>.jsonl` — 会话记录(**历史内容,迁移时禁止改动**)
- `<session-id>.jsonl.meta` — 会话元数据 JSON(含 `workspace_root` 字段,**必须更新为新路径**)
- `<session-id>.events.jsonl` / `.event-index.json` / `.telemetry.json` / `.conflicts.jsonl` / `.recovery.json` / `.goal-state.json`
- `<session-id>.ckpt/` — 检查点目录(turn-*.json)
- `subagents/*.meta.json` — 子代理元数据(含 `workspaceRoot` 字段,**必须更新**)
- 隐藏文件:`.display.json`(消息哈希→文本映射)、`.display.json.lock`、`.topic-indexes-repaired-v2`、`.topics-migrated-v2` — 普通 `ls` 看不到,复制必须用 `robocopy /E` 或 `cp -r`(含隐藏文件)
### Reasonix 路径编码规则(与 Claude Code 不同!)
| 规则 | Reasonix | Claude Code |
|------|----------|-------------|
| 驱动器 `D:` | `d--`(大小写不敏感,历史目录 `D--`/`d--` 都有) | `D--` |
| 分隔符 `\` | `-` | `-` |
| 点 `.` | **保留** | 转 `-` |
| 下划线 `_` | **保留** | 转 `-` |
| 中文字符 | 保留原样 | 每个字转 `-` |
示例:`<work-dir>\video_compensation` → `d--1.workspace-video_compensation`;`D:\1.工作空间\03-方��快连` → `D--1.工作空间-03-方太快连`。
**不要猜测编码**:最可靠的方法是查现有 `projects/` 目录名,并读 `.jsonl.meta` 的 `workspace_root` 字段确认真实路径对应关系。
### Claude Code 对话历史存储位置(联动迁移)
`~/.claude/projects/<encoded-path>/`,编码规则:下划线转连字符(`video_co