dsh-plugin-claude-import
已验证dsh-plugin-claude-import · v0.1.0 · MIT · Web 界面
Import Claude Code sessions into DeepSeek Harness: agent tools (claude_session_list / claude_session_import) plus a Web GUI one-click import dock.
安装
dsh plugin add dsh-plugin-claude-import 用 dsh --profile default --dump-config 确认 layer 已生效 —— 参见安装指南。
源码
标签
作者
说明文档
dsh-plugin-claude-import
把 Claude Code 的会话(~/.claude/projects/*.jsonl)导入 DeepSeek Harness,提取成可续接的上下文——自动摘要链、最后任务、动过的文件、尾部状态——而不是逐事件回放。
本插件是 claude-code-to-dsh(零依赖 Python CLI,产出同样的 seed / markdown 文档)的 DSH 原生移植。
功能
- agent 工具(host 半区):
claude_session_list—— 列出~/.claude/projects下所有会话(ID/项目/标题/时间/大小/消息统计)claude_session_import—— 导入指定会话为 seed 开场上下文块(可直接粘贴进新会话)或完整 markdown 续接文档;createSession=true时在 Claude 会话所属项目目录下新建 DSH 会话,并把上下文作为首条消息投递
- Web UI(client 半区):会话头部新增「Claude 导入」入口——输入会话 ID(留空 = 最近一个),插件自动新建 DSH 会话、切换过去并播种导入指令
环境要求
dsh≥0.1.0-rc.6(npm:npx @deepseek-ai/dsh web),Node.js ≥ 18- 本机装有 Claude Code 且
~/.claude/projects下存在会话(插件在 dsh host 进程里读取它们)
安装
一条命令(bundle 流程,推荐)
dsh plugin --profile web add dsh-plugin-claude-import
包声明了 dsh.bundle,因此 dsh plugin 会自动 link、追加进 profile 的 bundles 并应用其 patch 层(插入插件行)。重启 dsh web 后验证:
dsh --profile web --dump-config | grep claude
手动(装进已有 profile)
cd ~/.dsh/profiles/web
pnpm add dsh-plugin-claude-import
然后在 ~/.dsh/profiles/web/cordis.patch.yml 注册:
- insert:
- id: claude-import
name: 'dsh-plugin-claude-import'
重启 dsh web。
从 GitHub 安装
纯 JS 无构建步骤,git 安装无需 prepare 脚本:
dsh plugin --profile web add github:changhang155/dsh-plugin-claude-import#<sha>
若 pnpm 拒绝执行脚本,在 profile 的 pnpm-workspace.yaml 里放行(allowBuilds: dsh-plugin-claude-import: true)后重新 add。
peer 依赖
插件以 @deepseek-ai/cordis、@deepseek-ai/dsh-tools、@deepseek-ai/dsh-host-apiproxy、@deepseek-ai/schemastery 为 peer,从 dsh 安装目录解析。web profile 已内置这些包;极简 profile 可能需要手动补装或把 dsh 安装目录 node_modules/@deepseek-ai 下的对应包软链进来。
用法
对 agent 说:
请列出 Claude Code 的历史会话。
把会话 <id> 导入为 seed,并在其项目目录下新建一个 DSH 会话。
claude_session_import 参数:
| 参数 | 含义 |
|---|---|
sessionId |
8 位前缀、完整 ID 或完整 .jsonl 路径 |
format |
seed(默认)或 markdown |
createSession |
在 Claude 项目目录新建 DSH 会话,并把上下文作为首条消息投递 |
Web GUI: 点击会话头部「Claude 导入」,可选填会话 ID 后点「导入」。会新建并切换到新会话,其 agent 会汇报标题、动过的文件与未完成事项。
兼容性
DeepSeek Harness 处于 developer preview——会有破坏性变更。本插件面向 0.1.0-rc.6 npm 线(peer 范围 ^0.1.0-rc.6)。若后续 rc 改变 client 契约(window.__ModuleLoader__ / slot 注入),需要更新插件或固定 dsh 版本。
导入是启发式的:标题取自 Claude 的 ai-title / summary 行;「动过的文件」只覆盖 Write/Edit(及 Read)工具调用;本地命令模式会话(消息多为命令注入)会被识别并标注,而不是误当对话。
开发
git clone https://github.com/changhang155/dsh-plugin-claude-import
cd dsh-plugin-claude-import
npm test # node --test tests/(零依赖)
node --check lib/index.js lib/client.js lib/parse.js
结构:
lib/index.js— host 半区:注册两个 agent 工具(defineTool,来自@deepseek-ai/dsh-tools)lib/client.js— client 半区:Web GUI 入口(由 client runner 加载)lib/parse.js— 纯 Node 的 Claude Code JSONL 解析器(零依赖)cordis.patch.yml— 激活插件的 bundle patch 层
License
MIT —— 见 LICENSE。请在 GitHub 仓库打上 dsh-plugin topic 便于发现。