dsh-session-purge:徹底清理 DeepSeek Harness 會話

前言

DeepSeek Harness (DSH) 的核心設計理念是“一切皆插件”。在默認行爲中,DSH 客戶端僅提供“歸檔”功能。歸檔會將會話從主視圖隱藏,但不會從磁盤上刪除日誌文件(如 session.vN.jsonl.zstd)或投影緩存。官方也明確在 dsh-client-ui-workspace 中標註了“無會話刪除”的限制。

dsh-session-purge 插件填補了這一空白。它允許用戶徹底刪除會話數據,釋放磁盤空間,並清理持久化狀態。

核心功能

該插件提供兩條刪除路徑,覆蓋單條與批量場景:

  • 徹底刪除單條會話:每條會話行右側的「…」菜單中提供入口。無論會話是否歸檔,該選項均可見。
  • 一鍵刪除全部已歸檔:在側邊欄頂部菜單將篩選切換爲「僅顯示已歸檔」後,底部操作區會出現批量按鈕。此設計確保刪除範圍與當前視圖一致,不會誤刪未歸檔會話。

刪除操作會依次執行以下步驟,確保狀態一致性:
1. 工作區記賬:從所屬 Workspace 的 sessionIds 中移除會話 ID。
2. 歸檔標記:從全局歸檔集合 archivedSessionIds 中移除。
3. 磁盤日誌:刪除會話日誌目錄及對應的 session.vN.jsonl.zstd 文件。
4. 投影緩存:刪除 session_projcache 中的緩存文件,並清理其他持久化狀態。

安裝

使用官方命令安裝:

dsh plugin --profile desktop add @lxchapu/dsh-session-purge

安裝後需重啓應用以使改動生效。

典型用法

  1. 單條刪除:在會話列表中找到目標會話,點擊右側的「…」,選擇「徹底刪除」。系統會彈出二次確認,提示將從磁盤永久刪除且不可撤銷。
  2. 批量刪除:點擊側邊欄頂部的篩選按鈕,選擇「僅顯示已歸檔」。此時列表底部會出現批量操作按鈕,點擊後可刪除當前列表中的所有會話。

注意事項

  • 運行中的會話會被拒絕:若會話狀態爲 running(包括等待審批、工具阻塞等),刪除請求會被拒絕,系統會提示先結束當前輪次再刪除。
  • 操作不可逆:刪除後無回收站機制,磁盤日誌與緩存將被物理移除。
  • 依賴項:插件依賴 dsh.client.inject,確保宿主注入了必要的會話與工作區控制器接口。
  • 版本更新:版本 0.1.2 修復了單條會話無法刪除的問題,建議使用最新版本。

總結

dsh-session-purge 是解決 DSH 會話數據堆積的有效工具。它在不改變 DSH 官方架構的前提下,提供了安全的會話清理能力。

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

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

小夜