dsh-plugin-session-delete:DeepSeek Harness 會話刪除插件

DSH 0.1 版本的側邊欄三點菜單隻有重命名、分叉和歸檔,API 也沒有 delete 路由,JSONL 持久層是 append-only 的。歸檔功能只是隱藏會話,數據仍留在磁盤上。本插件補齊了這一能力,通過頂部 Trash 按鈕移除內存和磁盤數據。

插件介紹

這是一個給 DeepSeek Harness (dsh) 補上刪除會話能力的插件,由 chuling-lingling 維護。它解決了原版 dsh 無法徹底刪除會話、磁盤數據無法清理的問題。

插件註冊了宿主端的刪除隊列,瀏覽器端在會話頭部註冊 Trash 按鈕。刪除操作會觸發 session/disposed 事件,將會話從內存中摘除並同步給所有客戶端,同時刪除對應的磁盤目錄 ~/.dsh/sessions/<項目>/<會話ID>/。

核心功能

  • 刪除當前會話:同時移除內存中的會話對象和磁盤目錄。
  • UI 入口:在會話頭部工具區註冊 Trash 按鈕,與 Session log 按鈕同排相鄰。
  • 安全校驗:會話 ID 需通過白名單校驗(session- 前綴 + 受限字符集),防止路徑注入。
  • 健壯性處理:延遲複查剛創建的會話目錄,防止目錄落盤晚於刪除操作;單次隊列上限 50 個,處理結果寫入日誌。
  • 持久化表現:側邊欄實時移除,重啓後不會復活。

安裝與啓用

插件依賴 @deepseek-ai/schemastery,需要 dsh 0.1.x 環境及 pnpm。

# 安裝
dsh plugin --profile web add github:chuling-lingling/dsh-plugin-session-delete

# 卸載
dsh plugin --profile web remove dsh-plugin-session-delete

安裝後重啓 dsh web 即可生效。

典型用法

  1. 打開任意會話。
  2. 點擊會話頁面頂部標題行、Session log 按鈕左邊的 Trash 按鈕。
  3. 在確認彈窗中點擊確認。

執行後,當前會話會從側邊欄和磁盤上消失,正在運行的會話會被強制終止,界面會自動切換。

適用場景與注意

  • 適用場景:需要清理本地會話存儲、保持側邊欄整潔的用戶。
  • 不可恢復:刪除操作不可逆,確認彈窗是唯一防線。
  • 按鈕顯示:頭部 Trash 按鈕只在非空白會話(有對話內容的會話)顯示。
  • 無批量列表:插件不提供批量刪除列表,需逐個打開會話進行刪除。
  • 入口變更:v0.3.0 版本已移除設置頁入口,僅保留聊天頁 Trash 按鈕。

結尾

該插件填補了 DeepSeek Harness 在會話管理上的關鍵空白,提供了真正意義上的數據清理能力。更多詳情可查閱插件目錄或源碼。

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

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

小夜