dsh-deepseek-import:把 DeepSeek 网页对话迁入 DSH 会话

前言

在 DeepSeek Harness(DSH)里续写智能体会话时,如果历史留在 chat.deepseek.com 的网页端,就需要自己复制粘贴或手工整理上下文。DeepSeek 网页对长对话会分页加载,附件和思考过程也不一定和正文在同一条导出链路里。Hungry-M 维护的 dsh-deepseek-import 把这条链路拆成两步:用 Edge 扩展在浏览器侧抓取对话并导出 JSON,再用导入器 CLI(亦可作为 DSH 插件的一部分能力)把 JSON 重建为可恢复的 DSH 会话与工作区条目。

项目自述为 0.x 预发布,数据格式与 CLI 参数可能变动;且非 DeepSeek 或 DeepSeek Harness 官方产品。许可证为 MIT。package.json 当前版本为 0.3.2。

这是什么

一句话:DeepSeek web chat → DSH session migration(Edge 扩展 + 导入 CLI)。

数据流如下:

Edge extension  ──export──▶  dsh-deepseek-*.json  ──dsh-import.cmd──▶  ~/.dsh/sessions + workspace.json
  • 维护者:Hungry-M
  • 分类:客户端(社区目录归类)
  • 运行环境:导入器要求 Node.js 22+(会话压缩使用内置 zstd)
  • DSH 插件形态:npm 包内含 dsh 字段与 cordis.patch.yml,可作为 DSH 生态插件使用;浏览器扩展无法随 npm 包分发,需单独加载。

核心功能

Edge 扩展:抓取与导出

  1. 在 chat.deepseek.com 打开对话,加载完成后扩展可识别已捕获内容。
  2. 可逐条打开多个对话,列表会累积;勾选后 Export selected 导出。
  3. 若某对话未出现,可在该页使用 Capture chat:依次尝试 IndexedDB 本地缓存、按屏回填、仅可见区域。
  4. 长对话:按 message_id 合并消息,重复抓取只增不盖;多数情况下可直接从 IndexedDB 的 deepseek-chat / history-message 一次读完,无需反复上滑。

导入器:会话、附件与旁路文件

  • 无参数时可在下载目录中查找最新的 dsh-deepseek-*.json;也可将 JSON 拖到 dsh-import.cmd 上执行。
  • 列出 DSH 工作区后按编号选择;每个对话对应一个 session,标题、顺序与正文(含代码块、表格)尽量保留。
  • 附件:仅在数据源带有时,写入 <workspace>/.dsh-imported/<sessionId>/;无法下载时降级为占位说明。IndexedDB 来源通常不含附件。
  • Thinking 写入同目录 thinking.md,不注入上下文。
  • 编辑 / 再生成:正文仅保留选中分支,全版本记入 revisions.md。
  • 中断输出:默认仅编号占位;可加 --keep-interrupted 保留部分正文。
  • 修改 workspace.json 前会备份;过程记入 import.log。

导入后必须重启 DSH

侧栏列表来自 ~/.dsh/storages/workspace.json,DSH 仅在启动时读取。应完全退出 DSH 再打开;若仍看不到新会话,顺序应为:退出 DSH → 运行导入 → 再启动 DSH,避免运行中的 DSH 用内存列表覆盖磁盘上的 workspace.json。

配置与优先级

与 CLI / TUI / 扩展共用的 import.config.json 示例:

{ "downloadDir": "D:\\Downloads", "subdir": "dsh-import", "lang": "zh" }
键 含义
downloadDir 查找导出的目录(默认系统下载目录)
subdir 扩展保存到 <downloadDir>/<subdir>/,导入器也扫描该路径
lang zh / en,影响 TUI 与扩展界面
autoTrim 默认 true:超过阈值时自动裁剪对话
autoTrimChars 触发阈值,默认 120000 字符
autoTrimTurns 保留的最大轮数,默认 20
autoTrimBudget 保留部分的字符预算,默认 60000(从末尾向前取)

扩展 ⚙ 中可设置相同裁剪项;导出 JSON 的 options 与 CLI 标志、配置文件、内置默认的解析顺序为:

CLI flags  >  export options(扩展设置)  >  import.config.json  >  built-in defaults

扩展还可选择 Write sidecars to DSH home,等价于 CLI 的 --no-sidecar。

审计与修复

DSH session format v4 要求首个模型可见节点为 system/message。0.1.0 导入的会话可能在继续聊天时出错;0.1.1 起导入时会写入头节点。可用:

node dsh-import.mjs --audit
node dsh-import.mjs --repair
node dsh-import.mjs --doctor

安装与启用

导入 CLI(npm)

资料中的安装方式如下:

# from npm (once published)
npm i -g dsh-deepseek-import
dsh-import --list

亦可在克隆后的仓库目录直接运行(需自行获取源码):

node dsh-import.mjs --list

扩展必须单独安装,不能通过 npm 包附带。

加载 Edge 扩展(一次性)

  1. 在 Edge 打开 edge://extensions/
  2. 开启 Developer mode
  3. Load unpacked,选择仓库中的 edge-extension 目录
  4. 可选:固定到工具栏

作为 DSH 插件使用时,安装 npm 包后按 DSH 对 Cordis 补丁类插件的常规方式启用即可;具体以项目 cordis.patch.yml 与 DSH 文档为准。社区目录页:https://www.skillhub.cn/plugins/Hungry-M/dsh-deepseek-import

典型用法

1. 捕获并导出

在 chat.deepseek.com 打开对话 → 打开扩展确认已捕获 → 勾选 → Export selected。导出文件命名形如 dsh-deepseek-*.json,默认落在配置的 downloadDir / subdir 下。

2. 导入到工作区

双击工作区内的 dsh-import.cmd,或将 JSON 拖到该脚本上;命令行等价示例:

node dsh-import.mjs
node dsh-import.mjs export.json -w "D:\proj"
node dsh-import.mjs export.json --dry-run

交互式界面:

node dsh-import-tui.mjs

可选分支起点(从某条用户消息之后开始会话,而非默认「最后 N 轮」):

node dsh-import.mjs export.json --from-match "some text you typed"
node dsh-import.mjs export.json --from-index 157

其它常用标志(节选):

node dsh-import.mjs export.json --thinking
node dsh-import.mjs export.json --keep-versions
node dsh-import.mjs export.json --keep-interrupted
node dsh-import.mjs export.json --tail 20
node dsh-import.mjs export.json --no-auto-trim
node dsh-import.mjs export.json --no-sidecar

脚本 / AI 调用可 import 模块函数 runImport、getWorkspaces、listExports、peekExport(见 README)。

导入后首条用户消息末尾会带索引行,指向 .dsh-imported/<sessionId>/ 下的 thinking.md 与附件路径,便于需要时用普通文件工具读取,而不会自动塞进上下文。

3. 极长对话

README 提醒:单会话若达到数十万字符量级,token 体量很大;DSH 虽有压缩,仍建议用 --tail、--from-index、autoTrim 等控制导入范围,避免一次整包迁入。

适用场景与注意

适合:已在 Edge 使用 DeepSeek 网页聊天、希望把选定对话迁到本地 DSH 工作区继续开发或复现上下文的用户;需要保留 thinking / 多版本修订到旁路文件、而非全部堆进 prompt 的场景。

注意:

  • 插件与 CLI 在用户本机、以当前 DSH / Node 进程权限读写 ~/.dsh 与工作区;安装前请阅读 GitHub 仓库 源码与 MIT 许可证。
  • 项目为第三方工具,与 DeepSeek、幻方及 DSH 官方无隶属关系;社区目录 SkillHub 为独立站点,不是官方应用商店。
  • 预发布阶段接口与 JSON 结构可能变化;生产环境迁移前建议 --dry-run 或小样本试导入。
  • 抓取依赖 Edge 与 chat.deepseek.com 前端实现,页面或存储结构变更可能导致需更新扩展。

结尾

dsh-deepseek-import 把「网页端聊天」和「DSH 可恢复会话」用 JSON 桥接起来:扩展负责可靠抓取(含长对话与 IndexedDB 路径),导入器负责 session、工作区登记与 thinking / 附件等旁路归档。装好 Node 22+ 与全局 dsh-import、加载 edge-extension 后,按「捕获 → 导出 → 导入 → 重启 DSH」即可接续在 Harness 里工作。

  • 社区目录:https://www.skillhub.cn/plugins/Hungry-M/dsh-deepseek-import
  • 源码与文档:https://github.com/Hungry-M/dsh-deepseek-import
羽毛球分组比赛记分
小程序二维码

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

小夜