dsh-session-port:将 DeepSeek Harness 会话打包迁移

在 DeepSeek Harness (DSH) 中,将一个包含多个子代理、媒体和文件的工作区会话移动到另一个实例,通常涉及复制多个文件和手动配置。dsh-session-port 插件将一个会话及其所有引用(日志、子代理、媒体、工作区)打包成 ZIP,以便在其他 DSH 实例中完全还原。

插件简介

该插件由 seth-hg 维护,旨在解决会话迁移和持久化的问题。它将会话数据结构化地打包,支持导出和导入。

核心功能

  • 导出:将会话及其引用打包成 ZIP,包含根日志、子代理、媒体和引用的工作区文件。
  • 导入:还原会话、媒体和文件,自动重新连接到工作区。
  • 修复:重新连接导入的会话并重新折叠标题,修复“未分组”或名称丢失的问题。

安装与启用

插件依赖 Node.js >= 22.10 和 pnpm(dsh plugin 底层使用 pnpm)。

  1. 使用官方命令安装:
    dsh plugin --profile web add "github:seth-hg/dsh-session-port"
  1. 安装后需要重启 dsh web 才能在会话标题栏看到导出/导入按钮。

典型用法

通过会话标题栏

  • Export:点击后下载 session-port-<id>.zip。
  • Import:选择 .zip 文件,会将其恢复到当前会话的工作区中(即头部 cwd)。
    • 导入也接受 DSH 内置的 session-log 导出(该导出不包含工作区文件,因此导入时也不会期望包含这些文件)。

通过 HTTP 路由

以下接口需要 loopback-trust 环境。

  • 导出:流式下载 ZIP。
    curl 'http://127.0.0.1:3080/wsx/session-pack?sessionId=<id>&scope=referenced' -o out.zip
  • 导入:恢复归档文件。
    curl -X POST 'http://127.0.0.1:3080/wsx/session-pack/import?workspace=/path/to/workspace&remap=/old::/new' \
      --data-binary @out.zip
  • 修复:重新连接并修复标题。
    curl -X POST 'http://127.0.0.1:3080/wsx/session-pack/repair?sessionId=<id>'

适用场景与注意

  • 该插件以当前 DSH 进程的权限运行,安装前请检查源码和许可证(MIT)。
  • 使用 HTTP 路由时需确保信任。
  • 导入功能接受 DSH 内置的 session-log 导出,该导出不包含工作区文件,因此导入时也不会期望包含这些文件。

通过上述步骤,可以在不同环境间完整迁移 DSH 会话。更多细节可参考 GitHub。

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

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

小夜