前言¶
DSH 默認的會話管理僅提供“歸檔”功能,將會話隱藏但不從磁盤清理。長期使用或共享環境會導致 $DSH_HOME/sessions/ 日誌目錄膨脹。dsh-delete-session 插件填補了這一空白,它爲 Web 側欄增加了真正的會話刪除能力,支持單條右鍵刪除和批量刪除,並會同步清理對應的日誌目錄與投影緩存。
插件介紹¶
這是一個客戶端插件,由 NIGHT576 維護,採用 MIT 許可證。它解決了產品自身不提供“真正刪除”能力的痛點,適用於需要清理磁盤空間、管理共享機器環境或確保演示環境乾淨的部署場景。
核心功能¶
- 右鍵菜單刪除:在會話列表的每一行右鍵菜單中增加“Delete conversation”選項,用於刪除單個會話。
- 批量刪除對話框:在工作區標題欄顯示垃圾桶圖標,點擊可打開批量刪除對話框,支持按標題過濾和全選操作。
- 歸檔優先機制:刪除前會先將會話加入歸檔集(這是產品隱藏會話的唯一持久機制),確保邏輯順序正確。
- 磁盤清理:刪除
$DSH_HOME/sessions/目錄下的會話日誌文件,並移除投影緩存條目。 - 運行中保護:拒絕刪除
agent status爲running的會話,防止因文件被佔用導致數據損壞。
安裝與啓用¶
使用以下命令將插件安裝到 Web 配置文件中。安裝完成後,必須重啓 DSH 進程以加載主機部分。
dsh plugin --profile web add github:NIGHT576/dsh-delete-session
典型用法¶
- 單條刪除:在會話列表行點擊右鍵,選擇“Delete conversation”並確認。
- 批量刪除:點擊工作區標題欄的垃圾桶圖標,在彈出的對話框中勾選需要刪除的會話,點擊確認。
注意事項¶
- 不可逆操作:一旦刪除,日誌目錄將被永久移除,無法恢復。
- 運行會話攔截:處於運行狀態的會話(
agent status爲running)無法被刪除。 - 數據隔離:刪除操作僅針對當前會話,不會影響附件、其他會話或工作區記錄。
- 進程重啓:安裝後需重啓進程以加載主機部分。
結尾¶
該插件通過徹底清理日誌和緩存,幫助開發者解決 DSH 環境下的磁盤空間佔用問題。如需查看更多細節或貢獻代碼,可訪問 插件目錄 或訪問 GitHub。