dsh-plugin-sidebar-views:DSH 側欄雙視圖與固定會話管理

前言

DeepSeek Harness 的原生側欄在處理大量自動化任務時,會話列表容易變得雜亂。插件通過引入雙視圖切換和固定會話機制,幫助開發者將人工會話與自動化任務區分開,保持側欄的可讀性。

插件介紹

這是一個由 NattoCB 維護的客戶端插件,爲 DSH Web 界面側欄增加雙視圖切換和固定會話分組功能。集成方式爲純客戶端注入,依賴 window.__ModuleLoader__ bundle,並通過 localStorage 存儲狀態。插件聲明瞭 dsh.bundle.patch 和 dsh.client(web)。

核心功能

  • 雙視圖切換條:列表上方提供“工作區”與“歷史會話”兩個 Tab。工作區顯示原生分組,歷史會話將所有會話按最近排序平鋪,包含相對時間戳、運行狀態點與所屬工作區標籤。
  • 固定會話分組:兩種視圖下都會在列表頂部顯示固定會話,實時計數並支持摺疊。已刪除的會話會以置灰行顯示,不會消失。
  • 歷史會話分組:歷史會話視圖下,會話分爲“工作區”和“外部調用”兩組。“外部調用”指無 workspace 的 headless 會話(如直連創建),默認摺疊並顯示實時計數。歸組邏輯基於 workspace 成員資格,若註冊滯後則按 cwd 路徑前綴兜底。
  • 行級菜單與過濾:每一行提供“複製 Session ID”等操作。歷史會話視圖內置標題過濾框。原生工作區菜單增加了“在 Finder 中打開”功能。
  • 性能優化:純 DOM 實現,不使用 React 或 portal。使用 DocumentFragment 批量插入,視口外分組使用 content-visibility 跳過佈局重繪,支持 2400+ 行列表的毫秒級渲染。
  • 舊插件平滑遷移:檢測到舊插件 dsh-plugin-pin-session 時,啓動時一次性合併固定列表,過渡期支持雙寫,舊插件移除後不影響當前插件運行。

安裝與啓用

  1. 確保已安裝 DeepSeek Harness 並能運行 dsh web。
  2. 執行安裝命令:
    dsh plugin --profile web add github:NattoCB/dsh-plugin-sidebar-views
  1. 安裝完成後重啓 dsh web。側欄列表上方會自動出現切換條,無需額外配置。

使用說明

  • 切換視圖、固定會話、摺疊分組的狀態均存儲在瀏覽器的 localStorage 中(鍵名爲 dsx2-pins, dsx2-groups),刷新頁面後狀態不丟失。

注意事項與卸載

  • 狀態持久化:Pin 與分組狀態存儲在瀏覽器 localStorage,固定關係跟隨瀏覽器 profile,不跟隨 DSH host。
  • 卸載安全:卸載時必須從 profile 的 package.json 中同時移除 dependencies 和 dsh.profile.bundles 裏的條目,然後重啓 DSH。僅刪除 node_modules 而不更新配置文件,會導致 boot graph 請求不存在的 client.js,引發致命錯誤並無法掛載 GUI。

參考

  • 倉庫地址:https://github.com/NattoCB/dsh-plugin-sidebar-views
  • 許可證:MIT
  • 生態目錄:https://www.skillhub.cn/plugins/NattoCB/dsh-plugin-sidebar-views
羽毛球分组比赛记分
小程序二维码

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

小夜