前言¶
在 DSH 中做智能体开发时,很多会话会分散在 ChatGPT、Claude Code、Codex、Cursor 等外部工具里。如果想在 DeepSeek Harness(dsh)里继续查看这些会话、续聊、归档或沉淀经验,就需要一种统一的导入路径。
dsh-session-import 是 devmom 维护的 dsh 插件,MIT 许可。它把外部工具导出的会话导入 dsh,也可以把 dsh 会话导出为通用格式;同时提供隐私脱敏检测和知识抽取入口。
插件是什么¶
一句话定位:dsh-session-import 是面向 dsh 的跨工具会话迁移插件。
它提供的能力包括:
- 15+ 源会话导入:ChatGPT / Claude Code / Codex / Kimi Code / ZCode / WorkBuddy / OpenClaw / Gemini / Cursor / Aider / Continue / Cline / OpenCode / Reasonix / GitHub Copilot Chat / 通用 JSON。
- 导入产出原生 dsh session-log 事件,经
ctx.sessions写入,并随官方 JSONL 持久化落盘。 - 导入后的会话在 dsh Web UI 中原样渲染、可续聊。
- 双向导出:dsh 会话可导出为 generic JSON / Markdown / transcript。
- 隐私脱敏检测:API Key / 手机号 / 邮箱 / 身份证 / IP / 银行卡。
- 知识抽取:决策 / 代码 / 约定可进入本地记忆去重沉淀,接
memoryseam 接口。 - Web 导入向导:支持多选勾选、标题选项和导入结果展示。
- 对话式发现导入工具:
chat_import_discover/chat_import_import。 /session-import斜杠命令:支持文件、目录、source 过滤、redact、extract-knowledge。sessionImport服务:供其它插件或脚本调用。- REST API:提供
adapters/import/scan-dir/import-dir/import-paths/history。 - bundle 清单:
cordis.patch.yml与package.json#dsh.bundle。 - 独立开发向导:可选使用
npm run wizard。
安装与启用¶
运行环境要求 Node.js >=18。
先执行官方安装命令,把插件加入 web profile:
dsh plugin --profile web add -w session-import
这里需要 -w:pnpm 9.x 的 workspace-root 检查需要该标志,dsh plugin 会原样转发 pnpm 参数。
安装后,插件会以 dsh bundle 插件形式加载,提供命令、服务、REST 路由和 Web 导入向导。插件声明的清单文件包括 cordis.patch.yml 与 package.json#dsh.bundle。
如果本地开发时通过 link 方式安装,Windows 下建议使用 link:<绝对路径> 说明符。pnpm 9.x 对 file:D:/... 绝对路径解析有已知问题;registry 安装不受影响。
维护者如需发布到 npm,需要准备 npm 账号。
典型用法¶
下面介绍几种常用入口。
斜杠命令¶
在 Web UI 中可以直接输入:
/session-import <导出文件路径> [--redact] [--extract-knowledge]
也可以按路径、目录和 source 过滤来导入:
/session-import C:\path\to\chatgpt\conversations.json # 单文件
/session-import C:\Users\PC\.codex\sessions # 目录(递归扫描全部会话)
/session-import C:\Users\PC\.codex\sessions --source codex # 只导 codex
/session-import <path> --redact --extract-knowledge # 脱敏 + 知识抽取
经过上面的命令,插件会执行导入;如加上 --redact,会进行隐私脱敏检测;如加上 --extract-knowledge,会进行知识抽取。
Web 导入向导¶
Web 导入向导支持多选勾选、标题选项和导入结果展示。可以在界面中选择会话项,调整标题选项,并查看导入后的结果。
对话式发现导入¶
插件提供对话工具:
chat_import_discover
chat_import_import
对话式发现导入默认开启。若需要关闭模型工具,可在 bundle config 中设置:
enableModelTools: false
REST API¶
插件会暴露以下接口:
GET /api/session-import/adapters
POST /api/session-import/import
POST /api/session-import/scan-dir
POST /api/session-import/import-dir
POST /api/session-import/import-paths
GET /api/session-import/history
其中 POST /api/session-import/scan-dir 支持:
{ sourceFilter?, maxFiles? }
GET /api/session-import/adapters 可用于查看已注册源。GET /api/session-import/history 可用于查看导入历史。
sessionImport 服务¶
其它插件或脚本可以通过 ctx.get('sessionImport') 调用服务:
const svc = ctx.get('sessionImport')
// { ingest, sources, detectSource, parseCount, scanDirectory, ingestDirectory }
const preview = await svc.scanDirectory('C:/Users/PC/.codex/sessions', { sourceFilter: ['codex'] })
const batch = await svc.ingestDirectory('C:/Users/PC/.codex/sessions', { sourceFilter: ['codex'], redact: true })
先做 scanDirectory 查看扫描结果,再做 ingestDirectory 执行导入。
独立开发向导¶
如果没有完整 dsh 环境,也可以运行独立开发向导:
npm run wizard
数据落点¶
会话本体写入 dsh 官方 session-log。原文归档、导入历史、本地记忆写入:
$DSH_HOME/session-import/
如需覆盖数据目录,可修改 bundle config:
dataDir
适用场景与注意¶
适合需要把多个 agent 工具会话统一迁入 dsh 的场景,尤其是希望后续续聊、导出、脱敏、抽取知识的个人开发者或团队。
使用前注意:
- 插件以当前 dsh 进程权限运行,会读取指定文件或目录、写入 dsh 会话和相关数据目录;安装前应检查源码、依赖和 MIT 许可证。
- 隐私脱敏检测覆盖 API Key / 手机号 / 邮箱 / 身份证 / IP / 银行卡;导出或分享前,仍建议人工确认敏感信息。
- 知识抽取会沉淀到本地记忆,使用前应确认
$DSH_HOME/session-import/或自定义dataDir的权限。
资源¶
目录页是独立插件目录,不等同于官方应用商店。
- 目录页:https://www.skillhub.cn/plugins/devmom/dsh-session-import
- GitHub:https://github.com/devmom/dsh-session-import