dsh-workspace-mover:側邊欄會話跨工作區真遷移

DeepSeek Harness 原生支持側邊欄內同一工作區的會話拖拽排序,但將會話拖拽到另一個工作區時,操作會被靜默忽略。本插件補上了跨工作區遷移的能力,通過拖拽或工具調用實現會話檔案的移動。

插件由社區成員 PianoPrince 維護,採用 MIT 許可證。它不依賴 TypeScript 或構建步驟,直接提供純 JavaScript 源碼。

核心能力

  • 拖拽遷移:在側邊欄分組視圖中,將空閒會話行拖拽到目標工作區標題行,確認後完成移動。
  • 批量遷移 / 分組合並:支持 Ctrl/Shift 多選會話後整批拖拽,或使用組標題「⋯」菜單中的「整組遷移」功能。源分組清空後可刪除,兩條命令即可完成分組合並。
  • 真遷移·零 token:遷移不復制會話副本,保留原始會話 ID 與完整歷史記錄,不重新注入上下文,不消耗 token。
  • 工作區搬家嚮導:當項目文件夾被移動或改名導致路徑失效時,可使用此功能原地修復工作區分組,保持 ID、標題、排序和歸檔位不變,名下會話一併遷移。
  • 會話救援:在設置中提供會話救援面板,可一鍵找回失聯、未記賬或掛錯分組的會話。
  • 回收站與備份:刪除操作會進入回收站,支持還原;遷移過程會自動生成備份,可按會話恢復或清理。
  • 數據保護:提供回收站與備份的份數及佔用空間預覽,支持「清理」操作前的預覽。
  • 移動歷史與撤回:記錄最近 100 次跨工作區移動,支持批量撤回。
  • 遷移任務中心:持久化記錄批量遷移任務的狀態(完成/失敗),失敗項支持一鍵重試。
  • 空分組清理:只列出零成員的工作區,支持打開文件夾。
  • Agent 工具:提供 mover_list_sessions、mover_move_session、mover_repair_sessions 三個工具,可在對話中通過自然語言觸發遷移與修復。

安裝

在 Web profile 下執行以下命令:

dsh plugin --profile web add "github:PianoPrince/dsh-workspace-mover"

安裝後需要重啓 dsh web。

系統要求

  • Node.js 版本:>= 22
  • DeepSeek Harness 版本:>= 0.1.5-rc.1
  • 桌面 profile 與 web profile 相互獨立,需各自安裝一次。

使用方法

拖拽遷移

  1. 在側邊欄的分組視圖中,按住任意空閒會話行;
  2. 將其拖拽到目標工作區的標題行,此時會出現虛線高亮提示;
  3. 鬆手確認,目標工作區路徑會顯示在彈窗中,點擊「移動」即可完成。

批量遷移

  1. 使用 Ctrl/Shift + 點擊 選中多個會話(當前打開的會話會自動包含在內),或使用 Esc 清空選擇;
  2. 拖拽任意選中的會話行到目標工作區標題行,確認後全部移動;
  3. 或使用目標組標題的「⋯」菜單,選擇「整組遷移…」,遷入後若源分組爲空,可確認刪除。

對話中遷移

在對話中直接輸入指令,例如「把會話 X 挪到 Y 組」,Agent 工具會解析會話 ID 並執行遷移。此操作會觸發與面板完全相同的備份回滾管線,且在執行前需經宿主審批確認。

限制與兼容性

  • 視圖限制:本插件在「扁平列表」視圖下不激活,必須在分組視圖下操作。
  • 運行中會話:嘗試移動正在運行的會話會被拒絕,操作失敗會自動回滾。
  • 重畫側邊欄插件:與重畫側邊欄的插件基本兼容,但若對方替換了官方側邊欄結構,本插件可能無法識別會話行,表現爲功能不觸發,但不會損壞數據。
  • 同類插件:建議只啓用一個會話移動器插件,避免衝突。

目錄與源碼

插件項目地址:https://github.com/PianoPrince/dsh-workspace-mover

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

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

小夜