dsh-session-manager:DSH Web 會話管理插件

前言

在 DeepSeek Harness(DSH)裏跑智能體,會話會隨工作目錄、歸檔狀態和運行狀態不斷累積。官方側邊欄能打開和切換會話,但刪除往往只是歸檔隱藏,回收站、統計、暫停回合、工作區分組等操作分散在不同入口,或需要直接翻日誌目錄。長時間使用後,列表臃腫、誤刪難恢復、上下文壓縮時機不可控,是常見痛點。

下面介紹社區插件 dsh-session-manager(維護者 dream12347)。它在不改動 DSH 核心的前提下,在設置頁與對話頂部提供統一的會話管理界面,覆蓋刪除與回收站、統計、繼續/暫停、日誌目錄、工作區分組排序,以及全局上下文壓縮閾值。

這是什麼

dsh-session-manager 是 DSH 的客戶端插件platform: web),通過官方插槽向 Web UI 注入「會話管理」分欄和對話頂部快捷入口。Host 層註冊刪除、恢復、徹底刪除、暫停、打開文件夾、壓縮閾值等路由;Client 層訂閱 useSessions / useWorkspaces 等標準數據源,自繪列表與抽屜。

插件不修改系統提示詞、不新增模型工具,對 token 與模型行爲無額外影響。當前版本 v0.2.2,適配 DSH 0.1.1-rc.1

  • 目錄頁:https://www.skillhub.cn/plugins/dream12347/dsh-session-manager
  • GitHub:https://github.com/dream12347/dsh-session-manager

核心功能

設置頁「會話管理」分欄

安裝後,設置頁左側會出現與 Notifications 同級的 會話管理 分欄。主列表展示未歸檔會話(標題、工作目錄);底部摺疊區單獨列出 已歸檔會話,支持一鍵恢復。

每行可操作:

  1. 繼續會話 — 打開並進入對話,同時關閉面板
  2. 暫停 — 停止正在運行會話的當前回合
  3. 統計 — 居中彈窗展示近期活動(輪次、用戶消息、助手消息、全部工具調用、活動窗口)
  4. 文件夾 — 在系統文件管理器中打開該會話日誌目錄
  5. 刪除 — 會話移入回收站(非運行中均可刪;當前打開且空閒的會話也可刪)

回收站保留最近 10 條刪除記錄,超出自動清除最早一條。回收站內可 恢復(回到會話列表)或 徹底刪除(永久清除,不可恢復)。刪除時先走官方歸檔通道,側邊欄會立即隱藏該會話。

對話頂部快捷入口

任意對話頁右上角(Session log 左側)新增三個入口:

  • 對話管理 — 打開右側會話管理抽屜(完整列表 + 已歸檔 + 回收站);圖釘可固定常駐,點擊外部自動收起
  • 回收站 — 打開抽屜並直接展開回收站
  • 刪除本對話(紅色) — 確認後將當前對話移入回收站

抽屜行內「更多」菜單收納統計、文件夾、新聊天中繼續(調用官方 sessions.fork fork 子會話並打開)。

未讀 / 已讀狀態

會話行標題旁圓點表示四種狀態:

顏色 / 形態 含義
藍色 手動標記未讀
琥珀 官方等待輸入
綠色 官方完成提醒
轉圈 運行中

點擊琥珀或綠色點可 就地標記已讀(不跳轉);點擊藍色點清除未讀;點擊空白處標記未讀;打開會話自動已讀。官方側邊欄對應會話行旁同步顯示藍色未讀點(按標題文本匹配;重複標題的會話會共享該點,抽屜內按真實 id 精確標記)。手動未讀集保存在瀏覽器 localStorage 的共享 key dsh.session-unread.v1,與其他會話管理插件互通。

工作區分組與排序

會話按工作區分組展示,組內按最後使用時間排序,可切換 最新在前 / 最舊在前。拖拽工作區標題可調整順序:放到某組上方或下方插入、放到標題上交換、拖到最下方移到末尾。懸停工作區標題出現 置於頂部重命名刪除(二次確認;按官方定義僅移出列表,文件夾與會話記錄保留,會話歸入「未分組」)。

上下文壓縮閾值

設置 → 通用設置 中新增「上下文壓縮閾值」滑塊(17%–90%)。當對話上下文用到模型窗口(100 萬 token)的設定比例時自動壓縮,每次壓縮保留最近 16% 原文。保存後立即生效(含已打開會話),對所有 Agent 預設的會話統一生效,重啓後依然有效。閾值持久化在 DSH 存儲域;Host 在 agent/pre-step 鉤子裏寫入各預設的壓縮引擎配置。

子代理與刪除限制

子代理(subagent)會話在非運行狀態下支持刪除,包括主會話已刪除後的「孤兒子代理」。不能刪除正在思考的會話(按鈕禁用);多標籤頁場景需先確認該會話已在別處停止。live 會話刪除後,內存狀態在 DSH 重啓時徹底清理。

安裝與啓用

從 GitHub 安裝(官方 README 命令):

dsh plugin --profile web add 'github:dream12347/dsh-session-manager#v0.2.2'

Windows CMD:

dsh plugin --profile web add github:dream12347/dsh-session-manager#v0.2.2

從本地目錄:

dsh plugin --profile web add /absolute/path/to/dsh-session-manager

從 tarball(先 pnpm pack):

dsh plugin --profile web add /absolute/path/to/dsh-session-manager-0.2.2.tgz

安裝完成後 重啓 dsh web(host 插件與客戶端 bundle 需重啓加載)。

典型用法

設置頁清理與恢復會話

  1. 打開側邊欄底部 設置(齒輪圖標)
  2. 左側點擊 會話管理
  3. 對不需要的會話點 刪除 → 進入底部 回收站 摺疊區
  4. 誤刪則在回收站內 恢復;確認無用則 徹底刪除
  5. 展開 已歸檔會話 可恢復曾被官方歸檔的會話

對話中快速管理

在對話頁右上角點 對話管理 打開抽屜,用圖釘固定後可持續瀏覽全量列表;點 回收站 直接處理最近刪除項;紅色 刪除本對話 一鍵移入回收站。

調整壓縮時機

  1. 設置 → 通用設置
  2. 調整「上下文壓縮閾值」至 17%–90%
  3. 保存後立即生效,無需逐個會話配置

適用場景與注意

適合誰: 長期在 DSH Web 界面維護多個工作區、多會話的開發者;需要回收站式刪除、活動統計、暫停回合、fork 子會話、工作區排序,或統一控制上下文壓縮比例的用戶。

運行權限: 插件以當前 dsh 進程權限運行。刪除、打開文件夾、讀寫 ~/.dsh/storages/dsh_delete_session.json~/.dsh/dsh-delete-session-trash/ 等操作均受此權限約束。安裝前應閱讀源碼與許可證(倉庫含 LICENSE),確認符合本機安全策略。

兼容性: 當前適配 DSH 0.1.1-rc.1,依賴 settings.sectionconversation.session.header.utilities 等插槽及 ctx.sessionPersistencectx.workspaceRegistryctx.agents 等服務。DSH 升級後若 API 變化,需等待插件同步適配。

已知限制: 不能刪除運行中會話;側邊欄未讀點按標題匹配,重複標題會話共享藍點;已徹底刪除的會話 id 會留在瀏覽器 localStorage(防止刷新「復活」),屬無害殘留。

結尾

dsh-session-manager 把 DSH Web 裏分散的會話操作收攏到設置分欄與對話頂部抽屜:刪除帶回收站、統計與暫停、工作區分組排序、全局壓縮閾值,均在不改核心的前提下通過官方插槽實現。若你日常會話量大、需要可恢復的刪除與更細的列表管理,可按上文命令安裝 v0.2.2 並重啓 dsh web

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

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

小夜