前言¶
在使用 DeepSeek Harness (DSH) Web 端進行開發時,側邊欄往往會積累大量會話。手動管理這些會話的可見性和優先級容易導致視線混亂。dsh-session-activity 插件通過活動優先級對會話進行自動分組,幫助開發者快速聚焦當前需要的上下文。
核心功能¶
該插件基於會話的 Last updated 時間戳,將可見會話劃分爲四個層級:Hot(熱)、Warm(溫)、Cool(冷)、Cold(冷)。系統會持續監控會話狀態,並根據配置的規則動態調整分組。
排序邏輯遵循以下優先級(由高到低):
1. 顯式用戶交互(等待用戶操作)。
2. 已完成 AI 回覆(等待用戶繼續)。
3. 普通空閒會話。
4. AI 正在運行或子代理持續運行中的會話。
除了自動分組,插件還提供了以下能力:
- Focus 模式:提供一個持久按鈕,隱藏除 Hot 以外的所有分組,僅顯示活躍會話。
- 搜索與展開:Focus 模式下仍可搜索所有會話;當前會話所在的分組會自動展開,空組會被隱藏。
- 保留操作:保留會話的打開、重命名、分叉、歸檔、工作區創建/重命名/移除以及新建會話等原生操作。
安裝與啓用¶
使用 DSH 的命令行工具安裝插件:
dsh plugin --profile web add dsh-session-activity
安裝完成後,重啓 dsh web 進程並刷新頁面,插件即可生效。它會通過 DSH 的插槽優先級機制覆蓋內置的工作區瀏覽器。
配置¶
配置文件位於 $DSH_HOME/session-organizer.json。通過 Settings → Session Organizer 菜單進行編輯,保存後側邊欄會立即更新。
默認配置如下:
config:
hot:
label: Hot
within: 3h
expanded: true
warm:
label: Warm
within: 1d
expanded: false
cool:
label: Cool
within: 2d
expanded: false
cold:
label: Cold
expanded: false
focus:
defaultEnabled: false
refreshEvery: 1m
配置說明:
- within 參數設定分組的時間閾值,單位支持 m、h、d、w。
- 時間閾值必須滿足 hot.within < warm.within < cool.within。
- 邊界判定爲“包含在較舊的組中”:Hot 爲 <,Warm 爲 ≤ 且 <,以此類推。
- refreshEvery 最小值爲 1m,控制分組計算頻率。
典型用法¶
- 調整分組閾值:根據實際使用習慣,在設置中修改
hot.within(如 2 小時)或warm.within(如 6 小時),以改變會話活躍度的判定標準。 - 手動排序:在會話的操作菜單中,使用鍵盤可訪問的
Move earlier和Move later功能,對同一層級內的會話進行微調排序。 - 添加工作區:在側邊欄中通過
Add workspace功能,利用 DSH 的browse能力在應用內瀏覽目錄,無需依賴操作系統的文件選擇器。
適用場景與注意¶
該插件適合需要在 Web 端長時間運行 DSH、管理多個併發會話的開發者。
注意:
- DSH 擁有 Last updated 字段的持久化權限,插件僅在此字段基礎上進行投影計算,不會修改 DSH 的會話摘要。
- 子會話(Subagent child Sessions)不會出現在頂層列表中,這與內置的工作區瀏覽器行爲一致。
- 插件遵循 MIT 許可證。
結尾¶
dsh-session-activity 通過自動化的分組和排序邏輯,簡化了 DSH Web 端側邊欄的會話管理。更多細節可查看社區目錄或源碼倉庫。