DeepSeek Harness 会话导入与校验插件 (dsh-session-import)

前言

需要把 DeepSeek Harness 的对话迁移到另一台电脑、另一个部署环境,或者新建一个工作区?DSH 自带的 /export 命令会生成 .zip 归档和 .l 日志文件,但直接导入往往会导致会话 ID 冲突、数据覆盖,或者在解析中途报错。

dsh-session-import 插件为 DSH Web 界面增加了会话导入功能。它读取并校验导出文件,将内容作为新会话恢复,同时支持选择性同步状态、回滚保护以及 SHA-256 校验。

核心功能

界面与交互
* 在 new-session 页面添加「Import conversation」按钮,支持文件选择和拖放。
* 导入前提供预览,显示标题、消息数、工具活动、回合数、原始工作区、模型和会话状态。
* 在浏览器端处理请求取消、焦点恢复和响应式布局。

校验与安全
* 支持 .zip 归档和 DSH /export 生成的 .l 日志。
* 显示 SHA-256 指纹,并可强制要求与 expectedHash 匹配。
* 校验 ZIP 文件的 CRC-32、中心目录元数据、条目边界和本地头名称,拒绝加密、多磁盘和 ZIP64 格式。
* 在持久化、工作区附加或加载验证失败时自动回滚,避免遗留损坏的会话。

导入与同步
* 始终分配新的会话 ID,绝不覆盖现有会话。
* 支持设置目标工作区、自定义标题、原始时间戳或重置为当前时间。
* 提供无副作用(dryRun=1)的验证模式和立即恢复(open=1)模式。
* 支持选择性同步模型、推理努力、代理预设、权限、沙箱、审批策略和计划模式。

安装与启用

安装前请确保环境已安装 Node.js(推荐 24 或 22.19.x)、Git 和 pnpm。网络需能访问 registry.npmjs.org 和 github.com。

推荐使用 npx 方式安装(无需 DSH 源码):

npx --yes -p @deepseek-ai/dsh dsh plugin --profile web add github:JuneLearn/dsh-session-import

安装完成后,启动 Web 端即可在新建会话页面看到「Import conversation」按钮。

使用步骤

  1. 打开 DSH Web,在左侧边栏顶部点击 New session。
  2. 在工作区控制上方找到工作区和模式控件,点击 Standard mode 右侧的 Import conversation。
  3. 选择或拖放由 DSH /export 生成的 .zip 或 .l 文件。
  4. 检查结构裁决、SHA-256、计数、原始工作区和可同步状态。
  5. 选择目标工作区,并根据需要调整标题、重标记和同步选项。
  6. 点击 Start import,新会话会出现在侧边栏并自动打开。

注意事项与限制

  • 文件大小限制:上传和解压的根会话日志限制为 256 MB。
  • 条目数量限制:单个 ZIP 最多包含 10,000 个条目,展开的根日志最多包含 1,000,000 个事件。
  • 验证范围:结构验证覆盖事件序列、时间、类型、引用、回合/步骤和工具调用配对、消息信封、surfaceOp 和 sourceEventSeqs。
  • Hash 签名:SHA-256 证明与提供的指纹相等,但 DSH 导出未经过数字签名,因此不证明作者身份。
  • 权限与数据:上传的文件在内存中本地解析,绝不发送到外部服务;插件不发起出站网络请求,也不访问 API 密钥或其他凭证。
  • 删除限制:删除权限仅保留给当前 DSH 进程,导入的会话在重启后继续工作,但不能再通过插件回滚端点删除。

结尾

dsh-session-import 提供了一个安全、可控的会话迁移方案,适合需要备份、跨环境复现或整理历史对话的开发者。更多细节可参考 GitHub 仓库 或 社区目录。

羽毛球分组比赛记分
小程序二维码

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

小夜