dsh-session-vault:DeepSeek Harness 會話清理插件

前言

DeepSeek Harness (DSH) 在長期使用後,側邊欄通常會堆積大量歸檔會話或無日誌記錄的空白會話。這些會話在界面中不可見,但會佔用存儲空間並污染 sessionIds 集合。dsh-session-vault 是一個設置插件,用於列出並刪除側邊欄隱藏的歸檔或空白會話,以及無法讀取日誌的會話。

插件介紹

該插件由 nateyu 維護,是一個 DeepSeek Harness 客戶端插件。它的核心作用是提供一個設置頁面,讓用戶能夠清理那些被產品界面隱藏、無法正常交互或日誌損壞的會話。

核心功能

  • 列出並刪除隱藏會話:插件會列出側邊欄隱藏的歸檔會話、無日誌記錄的空白會話,以及無法讀取日誌的“Unreadable”會話。
  • 會話過濾與分頁:列表支持按類型和日期過濾,並支持分頁瀏覽。
  • 排除 Subagent:插件自動排除 Subagent 類型的會話,避免誤刪。
  • 多語言導航:設置頁面的導航標籤會自動跟隨產品語言,中文環境下顯示“歸檔”,英文環境下顯示“Archive”。
  • RPC 刪除機制:刪除操作通過 Connection RPC 進行,確保了操作的底層權限控制。
  • 批量限制:單次 vault.delete 調用最多接受 200 個會話 ID。

安裝與啓用

使用官方插件目錄安裝:

dsh plugin --profile web add dsh-session-vault

安裝完成後,重啓 dsh web,在設置頁面中即可找到該插件入口。

使用流程

  1. 切換會話:當前正在查看的會話無法刪除,必須先切換到其他會話。
  2. 運行狀態限制:標記爲 running 的會話會被拒絕刪除。
  3. 確認與撤銷:刪除操作需要用戶確認,且確認後無法撤銷。

實現細節與限制

  • 後端要求:需要使用 JSONL 持久化後端(dsh web 默認配置)。刪除操作會拒絕任何無法通過 locate() 返回會話目錄的後端(例如 SQLite)。
  • 文件清理:刪除操作會清除任何活動的 agent 或 session,防止下次刷新時系統重寫文件。
  • 數據移除:插件會從工作區 sessionIds 和全局 archivedSessionIds 集合中移除 ID。
  • 歸賬本處理:由於上游沒有發佈對應的 API 來從歸檔賬本中移除 ID,插件直接寫入 WorkspaceRegistry 狀態。該寫入操作不運行在註冊表的內部操作隊列上,若發生併發衝突會報錯,而非靜默覆蓋。
  • 單次上限:一次請求最多處理 200 個 ID,超過此數量需分批操作。

結語

dsh-session-vault 提供了 DeepSeek Harness 實例中清理不可見會話的能力,適合需要維護大量歷史會話或遇到會話索引混亂的開發者使用。

插件目錄
GitHub 倉庫

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

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

小夜