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。

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

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

小夜