dsh-delete-session:爲 DSH Web 側欄添加真正的會話刪除功能

前言

DSH 默認的會話管理僅提供“歸檔”功能,將會話隱藏但不從磁盤清理。長期使用或共享環境會導致 $DSH_HOME/sessions/ 日誌目錄膨脹。dsh-delete-session 插件填補了這一空白,它爲 Web 側欄增加了真正的會話刪除能力,支持單條右鍵刪除和批量刪除,並會同步清理對應的日誌目錄與投影緩存。

插件介紹

這是一個客戶端插件,由 NIGHT576 維護,採用 MIT 許可證。它解決了產品自身不提供“真正刪除”能力的痛點,適用於需要清理磁盤空間、管理共享機器環境或確保演示環境乾淨的部署場景。

核心功能

  1. 右鍵菜單刪除:在會話列表的每一行右鍵菜單中增加“Delete conversation”選項,用於刪除單個會話。
  2. 批量刪除對話框:在工作區標題欄顯示垃圾桶圖標,點擊可打開批量刪除對話框,支持按標題過濾和全選操作。
  3. 歸檔優先機制:刪除前會先將會話加入歸檔集(這是產品隱藏會話的唯一持久機制),確保邏輯順序正確。
  4. 磁盤清理:刪除 $DSH_HOME/sessions/ 目錄下的會話日誌文件,並移除投影緩存條目。
  5. 運行中保護:拒絕刪除 agent status 爲 running 的會話,防止因文件被佔用導致數據損壞。

安裝與啓用

使用以下命令將插件安裝到 Web 配置文件中。安裝完成後,必須重啓 DSH 進程以加載主機部分。

dsh plugin --profile web add github:NIGHT576/dsh-delete-session

典型用法

  1. 單條刪除:在會話列表行點擊右鍵,選擇“Delete conversation”並確認。
  2. 批量刪除:點擊工作區標題欄的垃圾桶圖標,在彈出的對話框中勾選需要刪除的會話,點擊確認。

注意事項

  • 不可逆操作:一旦刪除,日誌目錄將被永久移除,無法恢復。
  • 運行會話攔截:處於運行狀態的會話(agent status 爲 running)無法被刪除。
  • 數據隔離:刪除操作僅針對當前會話,不會影響附件、其他會話或工作區記錄。
  • 進程重啓:安裝後需重啓進程以加載主機部分。

結尾

該插件通過徹底清理日誌和緩存,幫助開發者解決 DSH 環境下的磁盤空間佔用問題。如需查看更多細節或貢獻代碼,可訪問 插件目錄 或訪問 GitHub。

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

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

小夜