跳到正文
dsh-market 浏览插件 GitHub EN

Nwflower/dsh-chat-import

把 13 家 coding agent(Claude Code、Codex、ChatGPT、Cursor、Gemini、opencode 等)的完整对话历史导入为可续聊的 DeepSeek Harness 会话,并支持反向导出回 Claude Code。

Star 数 ★ 71 分类 会话与消息 收录于 2026-08-13 npm dsh-chat-import

安装

在 DeepSeek Harness 里通过 dsh-market 安装

dsh plugin --profile web add dshmarket

或使用命令行

dsh plugin --profile web add dsh-chat-import

装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络。请先审阅源码,并尽量锁定 commit(github:owner/repo#sha)。

README

📥 DSH Chat Import

便捷导入十余种外部 Agent 聊天历史,在 DeepSeek Harness 中继续对话,还可导出或写回 Claude Code、Codex、Kimi 等。

💡 简介 · 🚀 安装 · ✨ 功能一览 · 🗂 支持的来源 · 🛠 使用 · 🔑 关键行为 · 📚 文档 · ⭐ Star History · 🤝 贡献

一个插件,十余种来源 —— 全保真导入 DeepSeek Harness,无缝续聊,反向可互转 / 备份 / 交接。

更新日志(英文): CHANGELOG.md · 路线图: ROADMAP.md · 互转协议: docs/INTERCHANGE.md


💡 简介

dsh-chat-importClaude 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 rolloutexport_codex)与 Kimi wireexport_kimi),外加带 SHA-256 指纹与跨机器还原的便携 interchange bundleexport_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   # 本地源码(符号链接)

安装后:

  1. 导入 — 在任意 DSH 会话里调用任一 import_* 工具:
import_claude({ path: "~/.claude/projects" })
import_chatgpt({ path: "~/Downloads/chatgpt-export/conversations.json" })
import_local_jsonl({ path: "D:\downloads\session.jsonl" })
  1. 续聊 — 刷新会话列表,打开导入的会话,从源记录停下的地方继续对话。
  2. 发现与批量scan_discover() 先只读预览;侧边栏「导入会话」面板按工作区浏览、多选导入;/import-all 一键批量。
  3. 同步(可选) — 面板「同步」页提供双向增量同步(外部 → DSH、DSH → 外部),默认关闭。

卸载:从 profile 的 bundles 移除 import-claude insert 行并重启 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 文件,带守卫绝不覆盖
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(GitHub)↗