前言¶
DeepSeek Harness (DSH) 的核心設計理念是“一切皆插件”。然而,原生 dsh-client-ui-workspace 的 README 明確指出“不刪除會話——會話可以歸檔但永遠不能刪除”。dsh-plugin-session-purge 這一插件通過引入回收站機制,補上了這一空白,提供了真正的刪除能力。
核心功能¶
- 兩步刪除:先放入回收站(移動目錄,不刪字節),下次啓動時真正刪除。
- 回收站管理:支持恢復、立刻刪除、清空以及查看待刪數量。
- 智能保護:不刪除附件字節(尋址共享)和搜索索引(派生數據)。
- 子會話處理:可處理子代理會話,支持勾選取消連帶刪除。
- API 支持:宿主側提供精確路由 API (
plan,move,list,restore,empty)。
安裝與啓用¶
使用命令行安裝:
dsh plugin --profile web add github:OliYogSothoth/dsh-plugin-session-purge
或在界面插件頁添加,粘貼 GitHub 倉庫地址。
使用方法¶
- 在側欄任意會話的菜單中點擊“放入回收站”。
- 在確認框中查看將要移出的目錄和子代理會話數,勾選確認。
- 在側欄底部的“回收站”入口中,點擊“恢復”或“立刻刪除”。
實現與安全細節¶
- 兩段式刪除:點菜單時只移動目錄;真正刪除發生在下次啓動 DSH 時。此階段會清理工作區登記、投影緩存和會話目錄。
- 數據保護:插件不會刪除附件字節(避免破壞尋址共享)和搜索索引(派生數據)。
- 進程安全:如果會話在進程內活着,插件會先停掉工作、驅逐內存條目,再進行文件操作。
- 權限限制:調用方聲明自己的會話身份時無法刪除該會話。
卸載與清理¶
卸載前必須在回收站面板點擊“清空回收站”。卸載後,回收站目錄仍保留在 <DSH_HOME>\session-purge-trash\ 下,需手動處理:刪除目錄即真刪,移回即恢復。
結尾¶
此插件通過回收站機制解決了 DSH 原生無法刪除會話的痛點,適合需要徹底清理歷史會話、釋放存儲空間的用戶。