前言¶
在 DSH(DeepSeek Harness)裏並行開多條會話是常態:調試、寫稿、對照文檔往往各佔一條側邊欄記錄。會話一多,列表變長,真正在用的條目和「暫時不用、又不想刪」的條目混在一起,只能靠滾動和記憶區分。宿主自帶歸檔可以移出列表,但歸檔更偏長期收納;若你只想把當前空閒會話從主列表裏挪開、稍後再原樣回到列表,缺少一個輕量、可撤銷的入口。
下面介紹社區插件 dsh-session-suspend(維護者 Lqg97,分類爲客戶端):在側邊欄增加「掛起」模式,把暫時不用的空閒會話收進底部「已掛起」摺疊組,需要時再逐個或整批恢復。掛起不會刪除會話,只是借用宿主歸檔狀態移出行列表,並在本地記錄哪些項是由掛起動作產生的。
這是什麼¶
dsh-session-suspend 是 DSH 的本地 bundle 插件(包名 @local/dsh-session-suspend,當前版本 0.1.0,MIT 許可證)。它在側邊欄會話行上增加掛起入口,在底部提供「已掛起」摺疊組,並與 DSH 主題、locale、提示氣泡等宿主 UI 保持一致。開發與驗證所用 DSH 版本爲 0.2.1-rc.5;更早版本若缺少對應擴展槽位,插件會靜默不註冊,不影響宿主。
目錄頁:skillhub.cn/plugins/Lqg97/dsh-session-suspend
源碼與說明:github.com/Lqg97/dsh-session-suspend
核心功能¶
掛起與恢復入口¶
- 會話行懸停時出現月亮按鈕;或打開該行「…」菜單,選擇「掛起會話」(排在「歸檔」之後、「複製會話 ID」之前)。
- 側邊欄底部出現「🌙 已掛起 N」按鈕;新收進會話時入口會閃一下。點開爲浮層列表:點行 = 恢復並打開;行尾箭頭 = 只恢復;表頭「全部恢復」一次還原;
Esc或點外部收起。 - 掛起/恢復按宿主歸檔狀態判定;對已掛起的會話再點菜單隻會取消掛起,不會重複歸檔。
提示與撤銷¶
掛起成功時,底部居中顯示跟隨主題色的提示條(14px、帶圖標,對齊中間內容列)。該條可點 × 關閉,掛起成功那條帶撤銷;恢復操作會有「已恢復」反饋。提示條本體不攔截點擊,只有「撤銷 / 關閉」接收鼠標。
與宿主行爲對齊¶
懸停提示使用與宿主圖標同款氣泡(500ms 延遲、下方右對齊、portal 到 body)。菜單行、行懸停按鈕、摺疊組入口均走宿主增量槽,不替換宿主 UI;中英文案隨 DSH locale 切換,顏色走主題 token。
安裝與啓用¶
插件是「本地目錄 bundle」:先把倉庫放到本機任意目錄,再在 DSH 裏安裝該目錄。
資料中的獲取倉庫命令如下(安裝前請自行審閱源碼與許可證;插件在 DSH 進程權限下運行):
git clone https://github.com/Lqg97/dsh-session-suspend.git
在 DSH 中打開 插件管理 → 安裝本地目錄,選擇克隆後的目錄(例如 ~/code/dsh-session-suspend);或由 agent 調用插件管理器的 install_bundle,target 填該目錄的絕對路徑。
安裝後刷新一次頁面(Cmd+R)即可生效,無需重啓。首次安裝會出現在插件管理列表裏,標題爲「會話掛起」。
卸載:在插件管理器裏卸載 @local/dsh-session-suspend,或從 profile 的 dsh.profile.bundles 中移除後刷新。
除 DSH 0.2.1-rc.5 及對應槽位外,無其他依賴。
典型用法¶
- 在側邊欄某條會話上懸停,點月亮按鈕;或打開該行「…」菜單 →「掛起會話」。
- 會話從主列表收起,底部出現「🌙 已掛起 N」。
- 點底部按鈕展開摺疊組,逐個或「全部恢復」;也可在掛起成功的提示條上點撤銷。
適用場景與注意¶
適合誰:側邊欄會話較多、希望把「當前不用但還要保留」的空閒會話快速移出主列表,又能在摺疊組裏集中找回的 DSH 用戶。
只有空閒會話能掛起:會話仍在運行(回合、子代理、後臺任務、定時提醒等)時,Host 會拒絕掛起,插件提示「還在運行,停止後再掛起」,不會替你停止任務(插件從不傳 stopActivity)。
複用宿主歸檔:列表行由宿主 ui-workspace 渲染,插件沒有單獨「摺疊行」的插入點,因此掛起借用宿主歸檔把行移出列表;插件只記錄「由掛起動作歸檔」的會話。你在宿主歸檔篩選裏手動取消歸檔時,摺疊組裏對應項會自動消失。
本地記錄:掛起集合保存在瀏覽器 localStorage。換瀏覽器或清除站點數據後,摺疊組記錄會丟失,但這些會話在宿主裏仍是歸檔狀態,可在宿主的歸檔篩選裏恢復。
與歸檔篩選的重疊:切換到「全部對話 / 僅顯示已歸檔」時,已掛起的會話也會按宿主規則出現在列表裏(置灰),這是複用歸檔語義的固有表現。
工作區級掛起:側邊欄工作區分組行目前沒有插件插槽,Host 也沒有工作區級歸檔/收起狀態,「掛起整個工作區」尚不可用。需求已整理並提交上游討論:deepseek-harness/discussions/11996。在宿主支持之前,可先用工作區分組標題的原生摺疊能力。
結尾¶
dsh-session-suspend 用增量方式擴展 DSH 側邊欄:空閒會話一鍵收進底部「已掛起」,恢復路徑清晰,並與歸檔、主題、locale 保持一致。安裝前請閱讀倉庫源碼與 MIT 許可證;DSH 生態強調「一切皆插件」,社區目錄站點與 DeepSeek / 幻方無官方從屬關係。
- 目錄頁:https://www.skillhub.cn/plugins/Lqg97/dsh-session-suspend
- GitHub:https://github.com/Lqg97/dsh-session-suspend