dsh-session-migrator:DeepSeek Harness 可視化跨設備會話遷移插件

在 DeepSeek Harness 中,會話數據通常與特定的工作區目錄綁定。要在另一臺設備上恢復完整的對話歷史、子代理會話以及關聯的附件,手動複製文件容易出錯且難以維護。下面介紹 dsh-session-migrator,這是一個提供可視化工作流的插件,支持通過拖拽 ZIP、JSONL 或文件夾導入,實現跨設備的會話遷移。

核心功能

該插件提供了以下能力:

  1. 可視化工作流:通過側邊欄操作完成導入,無需記憶命令。
  2. 拖拽導入:支持將 Harness 會話 ZIP、session.jsonl 或完整的導出文件夾拖入頁面。
  3. 跨設備工作區映射:自動重寫導入會話的 cwd 字段,適配目標設備的目錄結構。
  4. 完整會話樹:導入根會話及其所有 subagents/<id>/session.jsonl 後代會話。
  5. 安全重複導入:如果目標工作區中已存在同名會話,插件會克隆整個導入樹,生成新的 UUID 並重映射血緣關係,絕不覆蓋現有數據。
  6. 附件遷移:恢復引用的 PNG、JPEG、WebP 和 GIF 附件,並驗證其內容尋址 ID。
  7. Harness 原生驗證:使用 decodeStorageRecord() 解碼存儲行,並通過 Session.create() 驗證重構日誌,確保寫入 Harness 的數據格式正確。
  8. 即時原始標題:導入時預熱 Harness 的投影緩存,使工作區列表在會話打開前就能顯示會話標題。
  9. 多語言支持:UI 自動跟隨 Harness 當前語言(支持英文和中文)。
  10. CLI 回退:保留 /session-import 命令,滿足腳本化或本地工作流需求。

安裝與啓用

在運行 DeepSeek Harness 的機器上執行以下步驟:

git clone https://github.com/Suixin04/dsh-session-migrator.git
cd dsh-session-migrator
npm install
npm run build:client

安裝到 Web 配置文件中:

dsh plugin --profile web add /absolute/path/to/dsh-session-migrator

安裝完成後,重啓現有的 dsh web 進程。側邊欄底部會出現 Import sessions 操作按鈕。

典型用法

可視化導入

  1. 點擊側邊欄的 Import sessions。
  2. 選擇 ZIP/JSONL 文件、完整的導出文件夾,或直接將文件拖拽到 Harness 頁面上。
  3. 選擇或拖拽到目標工作區卡片上。
  4. 等待驗證和持久化完成。
  5. 點擊 Open imported session。

命令行導入

使用當前會話所在的工作區:

/session-import "/absolute/path/dsh-session-xxx.zip"

指定另一個已存在的工作區:

/session-import "/absolute/path/dsh-session-xxx.zip" --workspace "/absolute/path/to/project"

支持解壓後的導出目錄或單個 JSONL 文件:

/session-import "/path/to/unpacked-export" --workspace "/path/to/project"
/session-import "/path/to/session.jsonl" --workspace "/path/to/project"

適用場景與注意事項

適用場景:
- 需要在不同物理設備間遷移 DeepSeek Harness 的完整會話歷史。
- 需要備份會話數據並恢復到新環境。
- 需要在保持血緣關係的前提下,在目標工作區中創建與源環境結構一致的會話副本。

注意事項:
- 版本要求:DeepSeek Harness 版本需爲 0.1.1-rc.2 或兼容構建。
- 目錄要求:目標工作區目錄必須在目標主機上已存在。
- 文件範圍:會話導出不包含項目文件(如 Git 倉庫文件),需通過 Git 或其他同步方法單獨遷移項目。
- 敏感數據:會話導出可能包含完整的提示詞、響應、系統上下文、工具調用、絕對路徑和圖片。請將其視爲敏感數據處理。
- 限制檢查:插件強制執行歸檔、JSONL 和條目計數限制,拒絕不安全路徑、重複條目、格式錯誤日誌、重複 ID 和循環血緣。
- 持久化機制:Harness 持久化是僅追加模式。如果插件在寫入過程中失敗,可能會留下已成功提交的前綴。部分寫入後再次導入會創建一個全新的克隆樹。
- 遷移範圍:該插件僅遷移會話狀態和引用的圖片,不遷移倉庫文件、憑據、模型提供商設置或外部服務配置。


插件目錄:SkillHub
源碼倉庫:GitHub

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

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

小夜