claude2dsh:把 Claude Code 会话、技能与记忆迁移为 DSH 原生会话

前言

如果你同时用 Claude Code 和 DSH(DeepSeek Harness),大概遇到过同一个问题:会话历史在一边,技能、全局指令和项目记忆在另一边。Claude Code 的会话是 JSONL 转录,技能和记忆散落在 ~/.claude 下的各个文件里,换到 DSH 之后这些资产既不能直接续用,手动搬运也容易丢结构。

DSH 的理念是「一切皆插件」,claude2dsh 就是按这个思路做的一个迁移插件:读 Claude Code 的会话与资产,写入 DSH 的原生持久化;需要反向操作时,还能把 DSH 会话导回 Claude Code。下面介绍它的功能、安装和典型用法。

这是什么

claude2dsh 是 kirkchinese 维护的 DSH 插件,MIT 许可证,当前发布版本为 0.2.0-rc.5(release candidate,候选版本)。按 awesome-dsh-plugin 列表的收录说明,它属于 Sessions & Messages 分组。

一句话定位:将 Claude Code 的会话、技能、记忆与插件资产迁移为 DSH 原生可续会话,并可在需要时把 DSH 会话导回 Claude Code JSONL。

两个设计点值得先说清楚:

  • 默认零配置:默认路径不需要理解 profile 或 bundle 就能产生可见结果,危险的写回默认显式门控。
  • 源目录只读:原始 Claude 目录默认保持只读;导出/同步默认写入 $DSH_HOME 下的安全副本;并发编辑时暂停而不是覆盖任一侧。

核心功能

会话导入

claude2dsh_import 把 Claude 会话迁移为 DSH 原生会话事件,迁移后的会话可以被 DSH 检查、回放和续用。执行后返回分类计数:previewed / imported / already / appended / skipped / failed,哪些条目已存在、哪些是新导入、哪些被跳过或失败,一眼可见。

技能导入

claude2dsh_import_skills 把 Claude 技能复制为 DSH 原生可发现资产,出现在 $DSH_HOME/skills 下,并进入 DSH 的技能发现流程。

全局指令迁移

claude2dsh_import_context 把用户级的 ~/.claude/CLAUDE.md 迁入 DSH 全局指令。这一步先预览再写入,且不会覆盖内容不同的 $DSH_HOME/AGENTS.md

项目记忆迁移

claude2dsh_import_memory 把项目的 MEMORY.mdmemory/*.md 变为 DSH 可发现内容,每个项目对应创建一个 DSH 技能包。

导出与同步

方向反过来也行:把 DSH 会话导回为可续的 Claude Code JSONL 转录。默认写入 $DSH_HOME 下的安全副本,不碰原始 Claude 目录。

浏览器 UI

以上能力在 dsh web 启动的浏览器 UI 里都有对应入口:Settings → Claude2DSH 提供迁移向导,覆盖导入、导出、同步、合并。

安装与启用

环境要求:Node.js >=22.19.0、pnpm 和 dsh CLI。

dsh plugin --profile web add @claude2dsh/plugin@0.2.0-rc.5
dsh web

第一条把插件安装进 DSH 的 web profile,第二条启动浏览器 UI,终端会打印本地 URL,浏览器打开即可。

如果默认端口 3080 已被占用,改用下面的命令,DSH 会换一个空闲端口并把 URL 打印在终端:

dsh web --port 0

如果克隆了仓库,也可以用仓库自带的辅助脚本,效果相同:安装到主 web profile 并在 DSH 默认本地端口 3080 启动 UI。

bash scripts/install-claude2dsh.sh

典型用法

装好后按向导走一遍即可:

1、打开 dsh web 打印的 URL,进入 Settings → Claude2DSH。

2、选择界面语言,确认 Claude 会话目录,可选包含 subagent/workflow 转录。

3、先点 Preview import。预览是只读的,返回逐条的计划和分类计数,此时还没有任何 DSH 写入。

4、检查报告没问题后点 Run import。导入成功的会话会出现在 DSH 的 Session sources 列表里,可以直接续用。

向导的第一部分就是迁移指南,默认中文界面,英文可选。

适用场景与注意

适合的人:从 Claude Code 迁往 DSH、或两边并行使用的开发者,希望保留会话历史而不是从头开始;也适合把 Claude 的技能、全局指令和项目记忆当作资产整体搬进 DSH 的场景。

使用前注意:

  • 0.2.0-rc.5 是候选版本,不是正式版。
  • 原始 Claude 目录默认只读,导出/同步默认写 $DSH_HOME 下的安全副本,危险的写回默认显式门控;并发编辑时插件选择暂停,而不是覆盖任一侧。
  • README 中的 Awesome 徽章只表示被 awesome-dsh-plugin 列表(Sessions & Messages 分组)收录;自动雷达 awesome-dsh-plugins 未将其标记为 runtime-verified,徽章不代表这层验证。
  • 和所有 DSH 插件一样,插件以当前 dsh 进程的权限运行。安装前建议查看源码与许可证(本项目为 MIT),确认没有问题再装入常用 profile。

结尾

claude2dsh 做的事情很集中:把 Claude Code 一侧的会话、技能、全局指令和项目记忆迁进 DSH,保持源目录只读,写回显式门控,迁移可以预览,方向还可以反向。对于在两套工具之间移动的开发者,这是一个把历史资产带走的直接办法。

  • 目录页:https://www.skillhub.cn/plugins/kirkchinese/claude2dsh
  • GitHub:https://github.com/kirkchinese/claude2dsh
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜