把 13 家 coding agent(Claude Code、Codex、ChatGPT、Cursor、Gemini、opencode 等)的完整对话历史导入为可续聊的 DeepSeek Harness 会话,并支持反向导出回 Claude Code。
Import full-fidelity chat histories from 13 coding agents (Claude Code, Codex, ChatGPT, Cursor, Gemini, opencode, and more) as resumable DeepSeek Harness sessions, with reverse export back to Claude Code.
安装
dsh plugin --profile web add github:Nwflower/dsh-chat-importGitHub 源码安装:首次需按提示配置 allowBuilds 构建授权后重试
安装与环境配置指引、插件开发教程见 DSH 中文社区文档 ↗
安装即在你的机器上以你的权限运行第三方代码——它可读写文件、使用凭据、访问网络,DSH 的工具审批不会为插件代码加沙箱。「检测到 manifest」仅代表发现 dsh.bundle / dsh.plugin 清单,不构成兼容性或安全审查;安装前请审阅源码,不熟悉的插件先在不含密钥的环境试用。
README
📥 DSH Chat Import
便捷导入十余种外部 Agent 聊天历史,在 DeepSeek Harness 中继续对话,还可导出或写回 Claude Code、Codex、Kimi 等。
💡 简介 · 🚀 安装 · ✨ 功能一览 · 🗂 支持的来源 · 🛠 使用 · 🔑 关键行为 · 📚 文档 · ⭐ Star History · 🤝 贡献
一个插件,十余种来源 —— 全保真导入 DeepSeek Harness,无缝续聊,反向可互转 / 备份 / 交接。
更新日志(英文): CHANGELOG.md · 路线图: ROADMAP.md · 互转协议: docs/INTERCHANGE.md
💡 简介
dsh-chat-import 从 Claude Code、Codex、ChatGPT、Cursor、Gemini、Reasonix、opencode、MiMo Code、ZCode、Grok Build、OpenClaw、Pi Coding Agent、Hermes、Kimi CLI / Kimi Code、Qoder CLI 与 DSH 会话日志 导入聊天历史,将工具调用、思考过程一并导入,成为无缝继续的 DeepSeek Harness 会话。源文件只读读取(绝不改写),不碰 DSH 引擎;每次导入都成为一条全新会话,并按源 cwd 归入对应工作区。
同样支持导出和同步:export_claude 把 DSH 会话序列化回 Claude Code JSONL,Claude Code 可用 --resume 加载续聊;sync_to_claude 再把会话新增轮次增量写回 Claude Code 文件——带守卫、绝不静默覆盖;同一矩阵延伸到 Codex rollout(export_codex)与 Kimi wire(export_kimi),外加带 SHA-256 指纹与跨机器还原的便携 interchange bundle(export_bundle / restore_bundle)。
需要 Node.js ≥ 22.13,面向 dsh 0.1.x(实测 0.1.0-rc.6 / 0.1.0-rc.7)。
🚀 安装
dsh plugin --profile web add dsh-chat-import # npm 包
dsh plugin --profile web add -w link:/path/to/dsh-chat-import # 本地源码(符号链接)
安装后:
- 导入 — 在任意 DSH 会话里调用任一
import_*工具:
import_claude({ path: "~/.claude/projects" })
import_chatgpt({ path: "~/Downloads/chatgpt-export/conversations.json" })
import_local_jsonl({ path: "D:\downloads\session.jsonl" })
- 续聊 — 刷新会话列表,打开导入的会话,从源记录停下的地方继续对话。
- 发现与批量 —
scan_discover()先只读预览;侧边栏「导入会话」面板按工作区浏览、多选导入;/import-all一键批量。 - 同步(可选) — 面板「同步」页提供双向增量同步(外部 → DSH、DSH → 外部),默认关闭。子代理对话默认双向过滤;
excludeDirs排除列表可按方向跳过指定工作区目录。
卸载:从 profile 的 bundles 移除
import-claudeinsert 行并重启 dsh;已导入会话保留,插件绝不自动删。
✨ 功能一览
| 能力 | 入口 | 说明 |
|---|---|---|
| 批量导入 16+ 源 | import_*(17 个工具)· scan_discover · 侧边栏面板 · /import |
单个文件、目录或整个数据库,每段对话成为独立会话 |
| 全保真续聊 | 导入即 DSH 会话 | 工具调用/结果、思考、标题、模型、时间戳原样保留,按源 cwd 归组工作区 |
| 矩阵导出 | export_claude / export_codex / export_kimi |
DSH 会话序列化回 Claude / Codex / Kimi 格式,有损项逐条报告 |
| 便携备份 | export_bundle / restore_bundle |
SHA-256 双指纹的 interchange bundle,可跨机器还原 |
| 增量写回 | sync_to_claude |
新增完整轮次追加回 Claude Code 文件,带守卫绝不覆盖 |
| 双向同步 | 面板「同步」页 | Claude / Codex / Grok 双向增量同步;子代理对话默认过滤;excludeDirs 按目录排除 |
| Agent 资产迁移 | import_agents |
pi / opencode / Claude / Codex 的 agent、prompt、skill、指令转成 DSH skills |
| MCP 镜像计划 | import_mcp / /mcp-status |
读取 Claude / Codex MCP server,生成可审阅的 DSH MCP client YAML 片段 |
| 配置翻译建议 | import_settings / /settings-suggest |
Claude settings / Codex config 转 DSH 迁移建议(只读) |
| 交接摘要 | /resume-claude / /resume-codex |
外部 transcript 当不可信历史,生成交接摘要注入当前会话 |
| 只读审计 / 体检 | verify_session / doctor / CLI dsh-chat-import doctor |
结构审计与迁移健康检查 |
| 幂等与保护 | 所有导入工具 | expectedHash / restamp / 上下文预算保护;未变跳过、增长只追加 |
| 预设模式 + 系统提示词 | 设置页「插件」分区 TAB | 导入会话补录默认预设模式;可选「导入系统提示词」作为上下文注入(默认关) |
🗂 支持的来源
| 来源 | 存储位置 | 导入工具 |
|---|---|---|
| Claude Code | ~/.claude/projects/<slug>/<sessionId>.jsonl |
import_claude |
| Claude-3p(新端) | %LOCALAPPDATA%\Claude-3p\claude-code-sessions(元数据经 cliSessionId 反查 jsonl) |
import_claude |
| Codex / ChatGPT CLI | ~/.codex/sessions/YYYY/MM/DD/rollout-*.jsonl |
import_codex |
| ChatGPT(网页导出) | 导出压缩包(任意路径)——conversations.json |
import_chatgpt |
| Cursor | ~/.cursor/projects/<slug>/agent-transcripts/<id>/<id>.jsonl |
import_cursor |
| Gemini CLI | ~/.gemini/history/<slot>/chats/session-*.json |
import_gemini |
| Reasonix(CLI + 桌面版) | ~/.reasonix/sessions/desktop-*.jsonl · %APPDATA%\reasonix\projects\<slug>\sessions\*.jsonl |
import_reasonix |
| opencode | ~/.local/share/opencode/opencode.db |
import_opencode |
| MiMo Code(opencode fork) | ~/.local/share/mimocode/mimocode.db |
import_mimocode |
| ZCode(z.ai CLI) | ~/.zcode/cli/db/db.sqlite |
import_zcode |
| Grok Build | ~/.grok/sessions/<project>/<session_id>/ |
import_grokbuild |
| OpenClaw | ~/.openclaw/agents/<agent>/sessions/*.jsonl |
import_openclaw |
| Pi Coding Agent | ~/.pi/agent/sessions/--<cwd>--/<timestamp>_<uuid>.jsonl |
import_pi |
| Hermes | ~/.hermes/(Windows %LOCALAPPDATA%\hermes) |
import_hermes |
| Kimi CLI / Kimi Code | ~/.kimi/sessions/<workdir-md5>/<sessionId>/wire.jsonl · ~/.kimi-code/sessions/<workspaceId>/<sessionId>/agents/main/wire.jsonl |
import_kimi |
| Qoder CLI | ~/.qoder/projects/<encoded-project>/<sessionId>.jsonl(子代理在 <sessionId>/subagents/*.jsonl) |
import_qoder |
| DSH 会话日志 | ~/.dsh/sessions/<encoded-workspace>/<sessionId>/session.jsonl(.zstd) |
import_dsh |
| 任意本地 JSONL | 任意 .jsonl 文件 / 目录(自动识别格式) |
import_local_jsonl |
每次导入都保留源实际记录的内容;源格式无法保留的部分,会在导入报告里显式标注。各来源的格式细节与边界行为见 使用详解。
🛠 使用
所有 import_* 工具共用同一个 path 语义:单文件导单会话,目录递归扫描批量导入。常用参数:preview(零副作用预览)、force(另存完整新副本)、sessionId(覆盖目标 id)、expectedHash(SHA-256 强校验)、restamp(时间戳平移)、workspaceMode / workspaceDir(归组控制)。
import_claude({ path: "C:\Users\<you>\.claude\projects\<slug>\<sessionId>.jsonl" })
import_opencode({ path: "C:\Users\<you>\.local\share\opencode\opencode.db" })
import_local_jsonl({ path: "D:\downloads\session.jsonl", format: "claude" })
import_chatgpt / import_opencode / import_zcode / import_hermes 恒返回批量结果——一个文件 / 数据库包含全部会话,一次调用即可让每段对话成为独立会话。
完整工具 / 命令用法(参数、示例、边界行为)见 docs/USAGE.zh-CN.md。
🔑 关键行为
- 只读导入 — 源转录与数据库绝不改写;导入的 DSH 历史 append-only。
- 幂等 + 增量 — 未变源不重读直接跳过;增长只追加新增轮次;截断检测并上报。
- 自动归组 — 按源
cwd归入工作区(权威映射 → slug 解码 → 主目录沙箱防护;本机路径不存在时回退源文件目录)。 - 预设模式 — 导入会话经
agents.create挂默认 preset scope,并把默认 preset id 写回SessionHeader.agentPreset,UI 上照常显示「预设模式」chip(与正常会话一致)。 - 系统提示词(可选,默认关) — 设置页「插件」分区里的「会话导入」TAB 提供「导入系统提示词」开关;开启后把源 transcript 的
system/developer提示词作为「上下文注入」折叠行保留,正文前置环境变更免责声明(工具 / 权限 / 执行指令以 DSH 当前会话为准)。Claude Code 的转录不落 system prompt,此开关对 Claude 源无效果。 - 失败要大声 — 畸形行、疑似敏感信息、格式无法保留的部分、导出有损项,全部显式上报;每次落盘会话自动结构自检。
- 沙箱 — 读取工作区外的源文件或写工作区外的导出目标,需要会话沙箱放行该路径。
📚 文档
| 文档 | 说明 |
|---|---|
| 使用详解 | 每个工具 / 命令的完整参数、示例与边界行为 |
| 互转协议 | Interchange v1 协议与 bundle 格式 |
| 更新日志 | 版本历史(英文) |
| 路线图 | 已实现 / 规划 |
| 贡献指南 | 开发环境、提交规范、安全与隐私 |
⭐ Star History
🤝 贡献
欢迎贡献——fork 本仓库,新建 feature/<name> 分支,提交 PR。完整指南见 CONTRIBUTING.md。
- 测试:
npm test· 跨平台护栏:npm run check:linux - 仓库规范见 AGENTS.md:conventional commit(中文)、双语 README 必须保持同步、插件只消费公开 dsh host 服务、多会话并发走文件认领协议。
📄 许可证
MIT — 见 LICENSE。
原始 README: https://github.com/Nwflower/dsh-chat-import/blob/main/README.zh-CN.md ↗
同类插件
查看全部 →
archify
Agent 技能:生成美观、可校验的架构图、工作流图、时序图、数据流图与生命周期图——自包含 HTML、带动画与清晰导出

dsh-turn-rewind
对话回退:基于持久 Change Ledger 回滚会话与工作区状态。

dsh-plugin-cc
把 DeepSeek Harness 接入 Claude Code:评审、批评、委派与会话导入

dsh-interconnect
跨实例互联:经 interconnect 服务在多个 DSH 实例间转发消息与事件。

dsh-crew
DSH 插件:从 Claude Code / Codex 向 DSH agent 派活——原生 subagent 进度、宿主内 worker 会话(分级预设),以及为纯文本宿主补上视觉与图像生成的多模态桥

dsh-archived-sessions
DSH 会话管理器:管理对话、归档/恢复、安全删除与打开记录目录