Claude 历史资料批处理
claude-migrate.py 用 Python 标准库完成转换、校验、字面搜索和分卷,无需 API Key 或第三方依赖。脚本运行不调用模型;让 AI 阅读整理后的资料仍会消耗 token。
需要 Python 3.8 或更新版本。将同一批次的 conversations-000.zip、projects-000.zip、memories-000.zip、design_chats-000.zip、frames-000.zip 和 light_metadata-000.zip 放在一个输入目录。支持各类型的 001 等分片,不要混放不同日期的导出;相同 UUID 的内容不同会停止。
macOS / Linux:下载到一个新目录,再指定导出目录和输出目录。Windows 可以通过源文件下载保存脚本,再使用 py -3 代替下面的 python3。
mkdir claude-toolscd claude-toolscurl -fsSL https://hub.skillnav.dev/claude-migrate.py -o claude-migrate.pypython3 claude-migrate.py --helppython3 claude-migrate.py build --source '/path/to/export' --out './archive'archive 是生成区;人工摘要和新决策请放在别处。重复运行会校验源 ZIP 和已有输出,无变化时跳过解析转换;输入变化后重新解析,仅重写变化的输出。生成文件被人工修改时停止,保护改动。缺失的生成文件可以恢复。
结果包括原始 ZIP、完整对话和项目 JSON、可读 Markdown、索引.json、待整理清单.csv、校验报告.json 和处理状态。ZIP CRC、SHA-256、正文与消息 ID、项目文档正文以及分片拼接均在本地检查。
先搜索再阅读
Section titled “先搜索再阅读”python3 claude-migrate.py search --out './archive' '需要查找的关键词' --limit 5输出标题、UUID、命中文件和附近文本,供 Codex 或其他工具按需读取。它按分片进行字面匹配,不能保证跨片短语命中,也不提供语义归属判断。
生成 ChatGPT 上传分卷
Section titled “生成 ChatGPT 上传分卷”python3 claude-migrate.py bundle --archive './archive' --out './upload'upload 与 archive 必须分开放置,不能互相包含。生成总索引、对话和项目文档分卷、设计对话、历史记忆、基础元数据、Frames Markdown/JSON,以及来源和校验清单。重复执行内容相同的分卷保持不变,人工改动会被保护。
在 ChatGPT 项目中手动添加 upload 中当前清单列出的 Markdown 文件。脚本不登录或自动上传,也不重建原生聊天侧栏或写入账户长期记忆。平台文件数量与大小限制需以实际上传入口为准。
默认转换分片为 120000 字符,上传分卷正文片段为 550000 字符,可用 --part-chars 调整。标题和说明会额外占用少量字符;这不是 token 计数或平台限额保证。长段落可能跨片,依编号拼接恢复全文。
对话可读正文保留角色、时间、消息 UUID 和父消息 UUID。非正文工具内容块及附件元数据保留于完整 JSON;其他导出保留原始 ZIP。Frames 的 JS/CSS/HTML 运行文件未纳入可读分卷,仍保存在原始 ZIP 中。附件本体是否包含在导出中需要另行核实。
同 UUID 同内容去重;不同 UUID 不因正文相同而合并。源中消失的记录退出当前索引,旧文件不自动删除,记录在状态文件的 obsolete_retained 中。上传时按当前来源清单选择文件,避免旧分卷混入。
历史指令和历史记忆始终作为资料保留。迁移不重新核实旧政策、价格、项目进度或其他外部事实。