dsh-session-multiselect:DSH Desktop 對話多選與批量管理

前言

在 DeepSeek Harness(DSH)裏做智能體或長週期開發時,側邊欄會話會按工作區不斷累積。原生會話列表面向「點開一條繼續聊」,缺少一次勾選多條、再統一刪除、歸檔或置頂的路徑。若只靠逐條操作,清理歷史對話或整理置頂/歸檔狀態會佔用不少時間。dsh-session-multiselect 是面向 DSH Web 客戶端的插件,用可搜索、可按工作區分組的多選面板,把刪除、歸檔、置頂做成批量動作,並儘量走官方 sessions / workspaces 契約,而不是改 DSH 原生代碼。

這是什麼

dsh-session-multiselect 由維護者 xlxs123 發佈,分類爲客戶端插件,當前 package 版本 0.10.2,許可證 MIT。它定位是:在 DSH Desktop 的會話列表旁提供入口,打開面板後多選對話,再批量刪除、歸檔或置頂。

官方會話列表由 @deepseek-ai/dsh-client-ui-workspace 以 single slot 獨佔渲染,沒有逐行擴展 slot,因此入口通過 DOM 注入實現:在會話列表工具欄、搜索放大鏡左側放置 28px 按鈕;定位失敗時,入口會退到側邊欄底部 sidebar.footer.action slot,功能不丟。面板與批量邏輯使用官方擴展面:sessions 服務、workspaces 服務(歸檔/置頂)、locale 與客戶端 store。

兼容性方面,README 寫明在 DSH Desktop 0.9.0 / 0.10.0(Harness 0.1.x / 0.1.7-rc.2)與 DeepSeek Harness nightly(Harness 0.2.0-rc.2)的 Web 客戶端上開發並實測(Windows)。插件不聲明 @deepseek-ai/dsh* 的 peerDependency,0.2 起的安裝期/啓動期 peer 校驗一般不會攔它。需要 Node ≥ 20 僅針對開發;安裝 bundle 本身 README 說明無需 build。

核心功能

面板多選

點入口按鈕打開面板,支持:

  • 複選框列表:只列真實對話,自動隱藏空白會話與子智能體(origin === "subagent")會話。
  • 按工作區分組:每組標題顯示完整路徑(過長時省略號在左側、保留尾部目錄名),標題帶「已選/總數」,點標題可整組勾選或取消;也可關閉分組,改爲按時間平鋪。
  • 三種分組模式:按工作區 / 按日期(今天、昨天、最近 7 天、更早)/ 不分組,選擇會記住。
  • 快捷篩選:全部 / 運行中 / 置頂,可與「顯示歸檔」疊加。
  • 搜索:按標題、工作目錄、會話 ID 過濾。
  • 選擇:全選、清空、反選;Shift + 點擊按當前顯示順序範圍選擇;Ctrl/Cmd + 點擊追加選擇。
  • 鍵盤:方向鍵移動焦點,空格/回車 勾選,Ctrl/Cmd+A 全選,Delete 打開刪除確認;回收站視圖同樣支持。
  • 複製清單:將當前可見對話複製爲 Markdown 表格(標題 / 工作區 / 更新時間 / 狀態標籤),便於貼進 issue 或交接。
  • 已置頂行排在最前並帶「已置頂」標籤;已選計數實時顯示。

批量刪除與回收站

刪除走官方 session.delete 契約,但不是直接 rm -rf:會話目錄(含投影緩存)移入 $DSH_HOME/trash/session-multiselect/,保留 7 天,可在面板工具欄「回收站」中查看標題、工作區、刪除時間與「還剩 N 天」,支持單條恢復、永久刪除、清空回收站(均有二次確認)。回收站內可多選後「恢復選中」或「永久刪除選中」,並帶搜索與工作區下拉篩選。

  • 正在運行的對話拒絕刪除,狀態行會說明原因。
  • 僅被打開、當前空閒的對話會進回收站;狀態行會提示其中若干仍被打開,重啓 DSH 後列表行消失,文件已在回收站可恢復。
  • 刪除確認框最多列出 3 個將被刪除的標題,而非只顯示數量。

歸檔與置頂

操作 說明
歸檔 / 取消歸檔 選中項全爲已歸檔時按鈕爲「取消歸檔」,否則爲「歸檔」。調用 workspaces 的 archiveSession / unarchiveSession,原生列表歸檔分組同步變化;運行中的對話會被服務拒絕並逐條報因。服務不存在時退回插件本地標記,狀態行註明「僅本插件內隱藏」。
置頂 / 取消置頂 調用 pinSession / unpinSession;無 workspaces 服務時會明確報錯,不假裝成功。已歸檔與置頂互斥,違規操作會逐行列失敗原因。

三個批量動作均逐 id 執行並逐個報告失敗原因。

版本說明(避免與舊簡介混淆)

插件線索裏曾出現 fork、導出、彙總等字樣;以 README 爲準:0.2.0 起已移除 Fork、導出 MD/JSON、彙總給 AI 等;0.3.0 將歸檔升級爲工作區控制器命令並恢復置頂;0.4.0 起移除內聯勾選模式,僅保留面板模式。當前描述的能力是:批量刪除(含回收站)、歸檔、置頂。

安裝與啓用

README 給出的標準 DSH bundle 安裝方式爲在插件目錄執行:

dsh plugin --profile desktop add .

說明:無需 build,MIT 許可。安裝前建議閱讀倉庫源碼與 LICENSE,插件在當前 DSH 進程權限下運行,批量刪除會移動會話目錄到回收站或調用官方刪除契約,權限與數據範圍與宿主一致。

典型用法

  1. 啓動 DSH Desktop(README 實測環境爲 0.9.0 / 0.10.0 或 nightly 對應客戶端)。
  2. 在側邊欄會話列表工具欄,點擊搜索放大鏡左側的多選入口(若頭部注入失敗,使用側邊欄底部兜底入口)。
  3. 在面板中搜索或按工作區/日期分組,勾選目標對話;需要時用 Shift 範圍選或點工作區標題整組勾選。
  4. 根據需求點擊 刪除(二次確認)、歸檔 或 置頂;刪除後可從工具欄 回收站 恢復或永久清理。
  5. 需要交接列表時,使用 複製清單 得到 Markdown 表格。

適用場景與注意

適合:同一機器上多工作區、多會話並行,需要定期清理、歸檔冷對話,或批量調整置頂狀態的用戶。

注意:

  • 子智能體會話不在面板中列出;清理其日誌屬於文件系統維護,非本面板職責。
  • 插件依賴官方 slots / locale / sessions,可選 workspaces;跨版本對裝飾性契約(圖標名、Button variant 等)採用多候選名與兜底策略。
  • 社區目錄 SkillHub 與 DeepSeek / 幻方無官方從屬關係,安裝來源以你信任的倉庫與目錄頁爲準。

結尾

dsh-session-multiselect 用「面板 + 官方服務契約」補上了 DSH Desktop 會話列表缺少的批量管理能力:分組、搜索、回收站式刪除,以及與工作區控制器一致的歸檔與置頂。若你要在本地啓用,按 README 使用 dsh plugin --profile desktop add . 安裝 bundle,並從目錄頁或 GitHub 跟蹤更新。

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

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

小夜