产品文档(PRD):跨工具会话迁移插件 session-import
August 14, 2026 · View on GitHub
版本:v0.1(Draft) 日期:2026-08-14 对应需求:
plugin-req-session-import.md插件代号:session-import(对标 / 增强社区dsh-chat-import) 负责人:Product
1. 产品概述
1.1 定位
session-import 是一款用于 DeepSeek Harness(dsh) 的会话迁移插件。它把用户在其它 Agent 工具(Claude Code、Codex、ChatGPT、Cursor、Gemini、Aider、Cline、Kimi Code、ZCode、WorkBuddy 等)中积累的会话资产,高保真地迁入 dsh 并支持「续聊」;同时进一步把对话中的决策、知识沉淀为可检索记忆,并提供标准格式双向导出。
一句话价值:让用户的 AI 对话历史不再被单一工具锁死,换用 dsh 时上下文零丢失、知识可继承。
1.2 核心价值
- 高保真续聊:不仅搬文字,连 thinking、工具调用与结果、附件、代码块一并还原,导入后即可接着问。
- 知识可继承(差异化):自动抽取决策结论 / 关键代码 / 项目约定,沉淀进 dsh 记忆,跨会话可检索。
- 双向流动:既能导入,也能把 dsh 会话导出为标准格式迁回其它工具,避免「迁入容易迁出难」。
- 隐私可控(差异化):全程本地解析、敏感字段检测与脱敏提醒、原文可加密归档。
1.3 与 dsh-chat-import 的差异(壁垒)
| 维度 | dsh-chat-import | 本方案 session-import |
|---|---|---|
| 源覆盖 | 7 种 | 12+ 种 + 通用 JSON/MD 兜底 |
| 续聊 | ✓ | ✓ |
| 知识抽取 | ✗ | ✓(接 memory seam) |
| 双向导出 | ✗ | ✓ |
| 隐私脱敏 | 未强调 | ✓ 检测 + 提醒 + 加密归档 |
| 源适配层 | 内含 | 显式可插拔(新增源零改核心) |
策略:不正面重复造轮子,以 源适配可扩展 + 知识/记忆抽取 + 双向导出 + 隐私脱敏 建立壁垒。
2. 目标用户与典型场景
| 用户角色 | 特征 | 典型场景 |
|---|---|---|
| 迁移用户 | 从 Claude Code / ChatGPT / Cursor 切换到 dsh | 把过去 3 个月的开发会话整体迁进 dsh 新项目 |
| 多工具重度用户 | 同时用 3+ 个 Agent 工具 | 把散落在各工具的同类任务会话整合到 dsh 统一管理 |
| 隐私敏感用户 | 担心密钥 / PII 外泄 | 导入前自动检测并提示脱敏,原文本地加密归档 |
3. 用户故事
- 作为迁移用户,我希望一次性导入某个工具的整段会话,并能在 dsh 里接着上次的上下文继续问,以免重新交代背景。
- 作为多工具用户,我希望导入时自动识别来源格式,不用我手动选「这是哪个工具的格式」。
- 作为知识管理者,我希望插件自动把对话里「最终拍板的方案」「约定俗成的规范」抽出来存成记忆,下次直接回忆。
- 作为隐私敏感用户,我希望导入过程完全在本地、不上传,并且检测到 API Key / 手机号时弹出脱敏提醒。
- 作为重度用户,我希望把 dsh 里整理好的会话导出成标准格式,迁回其它工具或做备份。
4. 功能清单(产品视角)
下表把需求 FR 映射到产品功能,便于评审与验收追踪。
| 编号 | 产品功能 | 说明 | 优先级 |
|---|---|---|---|
| FR-01 | 多源导入 | 支持 14+ 源(Claude Code/Codex/ChatGPT/Cursor/Gemini/Kimi Code/ZCode/WorkBuddy/Reasonix/OpenCode/Continue/Aider/Cline/GitHub Copilot Chat)+ 通用 JSON/MD/transcript | P0 |
| FR-02 | 可插拔解析适配器 | 新源只需新增一个 parser,不动核心 | P0 |
| FR-03 | 要素解析 | 角色、文本、thinking、tool_calls、文件引用、代码块、附件 | P0 |
| FR-04 | 保真映射 | 映射为 dsh event-sourced session-log,顺序/角色/thinking/工具/附件完整 | P0 |
| FR-05 | 工具调用还原 | dsh 无对应工具时保留原始 JSON 供查看 | P1 |
| FR-06 | 源专有字段保留 | citation / diff 等原样存为扩展字段 | P2 |
| FR-07 | 导入绑定项目 | 导入为目标 dsh 会话,可绑定项目/workspace | P0 |
| FR-08 | 续聊 | 末条 assistant 消息作上下文,用户接着提 | P0 |
| FR-09 | 冲突处理 | 同名会话:重命名 / 合并 / 跳过 三选一 | P1 |
| FR-10 | 流式分片导入 | 大会话分片流式导入,避免内存峰值 | P1 |
| FR-11 | 知识/记忆抽取 | 抽取决策/代码/约定 → dsh 可检索记忆(接 memory seam) | P0(差异化) |
| FR-12 | 跨会话去重聚类 | 避免重复沉淀 | P2 |
| FR-13 | 双向导出 | dsh 会话导出为标准格式,可迁回其它工具 | P1(差异化) |
| FR-14 | 导入历史面板 | 来源/时间/原文归档(可回溯) | P1 |
| FR-15 | 隐私脱敏 | 本地解析、敏感字段检测与提醒、原文加密归档 | P0(差异化) |
| FR-16 | 健壮性 | 坏/截断文件不崩溃,给出跳过原因继续 | P1 |
4.1 功能范围边界
- 做:导入、续聊、知识抽取、双向导出、隐私脱敏、历史管理。
- 不做(本版):对会话内容做 AI 改写/总结润色(仅抽取沉淀,不篡改原文);跨工具实时同步(仅一次性迁移)。
5. 非功能需求(产品视角)
| 编号 | 维度 | 要求 |
|---|---|---|
| NFR-01 | 安全 | 全程本地;原文加密可选;不外泄 |
| NFR-02 | 性能 | 大文件流式解析、增量导入 |
| NFR-03 | 兼容 | 跟随 dsh session-log schema 版本;源格式变更有适配器版本门 |
6. 验收标准(Acceptance Criteria)
- AC-1:ChatGPT / Claude Code 导出 JSON → 导入 dsh → 完整显示(含工具调用 / thinking)→ 可续聊。
- AC-2:未知源 → 通用 JSON 解析器兜底导入成功。
- AC-3:检测到 API Key / 手机号等敏感字段 → 弹出脱敏提醒。
- AC-4:抽取的关键结论可在 dsh 内被检索回忆。
7. 竞品 / 现状对比
- 社区
dsh-chat-import:已实现 7 源全保真导入与续聊,是必须对齐的基线,本方案在其之上做增量(源更广、知识抽取、双向导出、脱敏)。 - 其它工具(如各类「ChatGPT 导出转换器」):多为单次格式转换,无续聊、无知识沉淀、无 dsh 原生对接,不构成直接竞争。
8. 路线图(里程碑)
| 阶段 | 范围 | 产出 |
|---|---|---|
| M1(P0) | 源适配框架 + 4 个高优先源(Claude Code/Codex/ChatGPT/Cursor)+ 保真映射 + 续聊 + 脱敏提醒 | 可导入续聊、AC-1/AC-3 通过 |
| M2(P1) | 余下源 + 通用兜底 + 双向导出 + 历史面板 + 流式分片 | AC-2 通过、导出可用 |
| M3(P0 差异化) | 知识/记忆抽取接入 memory seam | AC-4 通过 |
| M4(P2) | 跨会话去重聚类 + 加密归档 + 适配版本门 | 健壮性/可维护性达标 |
9. 风险与开放问题
- 源格式漂移:各工具导出格式随版本变化 → 每个适配器带
schemaVersion,变更单独升级。 - thinking/工具调用还原度:部分工具未公开 schema → 保留原始 JSON(FR-05)兜底,不强行解析。
- 知识抽取召回质量:抽取模型误抽/漏抽 → 提供「人工确认后再沉淀」开关,避免污染记忆。
- 开放问题:是否支持增量导入(已导入会话的新增部分合并)?M4 评估。