dsh-move-session:DSH 插件裏的跨工作區會話遷移

前言

在 dsh Web GUI 中,一個會話通常屬於當前工作區。若希望把已有上下文帶到另一個工作區繼續處理,手動複製日誌、標題、Agent 預設和模型選擇容易遺漏。下面介紹的 hucj09/dsh-move-session 是 dsh Web GUI 插件,用於把當前空閒會話複製到另一個工作區,並保留完整上下文。

這是什麼

hucj09/dsh-move-session 是 dsh Web GUI 的跨工作區會話遷移插件,倉庫 owner 爲 hucj09,許可證爲 MIT。

它不修改 dsh 源碼,使用零依賴純 JavaScript,源碼即產物。插件會在 dsh Web GUI 中新增會話遷移入口:會話頭部操作行提供 Move Session 按鈕,側邊欄會話行「…」菜單可注入「遷移會話」項。

核心功能

下面只列已覈實的插件能力:

  • 在 dsh Web GUI 會話頭部操作行新增 Move Session 按鈕。
  • 側邊欄會話行「…」菜單可注入「遷移會話」項。
  • 將當前會話原封不動複製到另一個工作區,保留對話日誌、標題、Agent 預設和模型選擇。
  • 支持「保留原會話」或「歸檔原會話」兩種模式。
  • 僅支持空閒會話遷移;運行中會話會被客戶端禁用,並由宿主端拒絕。
  • 遷移後通過 host 事件觸發側邊欄跨端自動刷新。
  • 副本繼承源會話的模型與 Agent 預設,並保留 parentSession 血緣信息。
  • 使用新會話 id 複製,不覆蓋、不刪除現有會話記錄。
  • 目標工作區存在同名會話時,自動追加 [MS<n>] 區分。
  • 零依賴純 JavaScript,源碼即產物,不修改 dsh 源碼。

安裝與啓用

安裝命令如下:

dsh plugin --profile web add @hucj/dsh-move-session

執行安裝後,重啓 dsh web,並在瀏覽器中用 Ctrl+F5 強刷頁面。打開任意會話後,如果會話頭部操作行出現 Move Session 或「遷移會話」入口,即表示插件已啓用。

典型用法

1、打開一個空閒會話。

2、點擊會話頭部操作行的 Move Session 按鈕,或從側邊欄會話行「…」菜單選擇「遷移會話」。

3、選擇目標工作區。列表會排除當前工作區,並顯示路徑與會話數。

4、選擇「保留原會話」或「歸檔原會話」。

5、確認後側邊欄即時更新,並可打開遷移後的會話。

適用場景與注意

這個插件適合在多個 dsh 工作區之間複用同一會話上下文,例如把一個已整理好的會話作爲另一個工作區的起點。

使用前建議注意以下邊界:

  • 插件會在 dsh Web GUI 中運行,安裝前應檢查源碼與 MIT 許可證;運行時應視爲以當前 dsh 進程權限使用宿主能力。
  • 僅空閒會話可遷移;運行中會話會被客戶端禁用,並由宿主端拒絕。
  • 遷移要求源日誌平衡;異常中斷且未修復的日誌可能被拒絕。
  • 會話 id 會變化。副本使用新會話 id,血緣通過 parentSession 保留。
  • 副本會以 live 空閒 agent 形式駐留內存,不隨本插件卸載。
  • 遷移只複製會話日誌,附件/文件本身不受影響。
  • 「歸檔原會話」屬於 registry 級全局歸檔集合;本插件不提供取消歸檔入口。
  • 宿主需已組裝 @deepseek-ai/dsh-client-runtime 等標準 web 運行時。

鏈接

  • 插件目錄頁:https://www.skillhub.cn/plugins/hucj09/dsh-move-session
  • GitHub 倉庫:https://github.com/hucj09/dsh-move-session
羽毛球分组比赛记分
小程序二维码

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

小夜