DeepSeek Harness (DSH) 的核心設計理念之一是「一切皆插件」。在智能體開發與調試過程中,側邊欄展示的會話列表往往需要維護。當需要清理歷史會話時,手動刪除日誌文件和清理工作區會計記錄不僅繁瑣,且容易遺漏。
dsh-session-eraser 是一個爲 DSH 設計的插件,它直接在側邊欄會話行中提供了刪除入口,並實現了後端會話徹底清理的邏輯。
插件定位¶
這是一個 DeepSeek Harness (DSH) 插件,由開發者 Gty2408 維護,採用 MIT 許可證。它不依賴複雜的配置文件,通過 DSH 的打包機制自動將功能注入到系統中。
核心功能¶
該插件主要實現了以下能力:
- 側邊欄刪除入口:在側邊欄的會話行中增加「刪除會話」選項。該選項同時出現在行的
...菜單中,以及鼠標懸停時顯示的垃圾桶按鈕上。 - 永久清理:確認刪除後,會永久移除會話存儲的日誌文件及其對應的工作區會計記錄。
- 當前會話保護:提供「打開會話保護」機制,拒絕刪除當前正在主面板中打開的會話。
- API 接口:提供
POST /api/session.delete接口,允許通過 API 調用刪除會話。 - 清理關聯索引:刪除會話後,會自動清除會話歸檔和置頂的索引條目,防止出現懸空引用。
安裝與啓用¶
推薦使用 DSH 官方 CLI 進行安裝。安裝後需要重啓 DSH 應用才能使變更生效。
- 執行安裝命令:
dsh plugin --profile desktop add dsh-session-eraser
- 重啓 DeepSeek Harness 應用。
注意:如果沒有
dshCLI 環境,需要手動將插件包放入node_modules並在cordis.patch.yml中添加配置。該插件會自動應用cordis.patch.yml並將包加入 bundle 列表。
適用場景與注意¶
- 附件保留:刪除操作僅清理日誌文件和工作區會計記錄。會話引用的外部文件(附件)不會被自動刪除,僅會移除文件引用。
- 客戶端保護:當前的「打開會話保護」機制是純客戶端實現的。Host 端沒有視圖狀態的概念,因此理論上可以通過直接調用
POST /api/session.delete接口來刪除當前打開的會話。但該接口位於與/api相同的鑑權網關後,且 DSH 官方 UI 沒有提供此調用入口,因此主要風險在於用戶自行編寫腳本調用。 - 許可證:該插件遵循 MIT 許可證,可自由使用。
總結¶
dsh-session-eraser 爲 DSH 提供了標準化的會話清理能力,通過側邊欄交互和後端邏輯的結合,解決了會話管理中的碎片清理問題。對於需要維護長期會話記錄的開發者或團隊,這是一個實用的工具。
- GitHub 倉庫:https://github.com/Gty2408/dsh-session-eraser
- 社區目錄:https://www.skillhub.cn/plugins/Gty2408/dsh-session-eraser