前言¶
DeepSeek Harness(DSH)通過插件機制擴展 Web 端能力,第三方插件由社區或個人開發者維護。對於使用 DSH Web 的開發者來說,舊會話通常需要手動清理。dsh-session-delete 提供的不是替換官方側邊欄的新列表,而是在現有會話菜單中增加一個帶二次確認的“刪除會話”入口。
下面介紹它解決什麼問題、如何安裝,以及使用時需要注意的邊界。
插件定位¶
dsh-session-delete 是一個面向 DeepSeek Harness Web 的個人開源插件,由 StarsTom 維護,當前版本爲 0.1.3,許可證爲 MIT。
它的目標很具體:在 DSH Web 的會話三點菜單中增加“刪除會話”,並在刪除前要求用戶確認,降低誤刪風險。它不替代 DSH 自帶的“歸檔會話”。
核心功能¶
dsh-session-delete 的能力集中在會話刪除入口和刪除前的安全校驗上。
- 在現有“歸檔會話”下方增加“刪除會話”,不替換官方側邊欄。
- 刪除前顯示會話名稱、不可恢復提示和強制確認複選框。
- 只支持官方 JSONL 會話持久化後端;其他後端會拒絕操作並保留數據。
- 遞歸刪除前校驗目標位於 JSONL 持久化根目錄之下。
- 刪除活動會話前停止 agent、等待寫入完成並清理運行時註冊項。
- 不發起網絡請求,不收集或上傳會話內容。
環境要求¶
安裝前確認當前環境滿足以下條件:
- DeepSeek Harness
0.1.0-rc.6或兼容版本。 - Node.js 20 或更高版本。
- 使用
webprofile。 - 使用默認 JSONL 會話持久化後端。
安裝與啓用¶
從 GitHub 安裝標準 DSH bundle,執行下面命令:
dsh plugin --profile web add github:StarsTom/dsh-session-delete
安裝後完整重啓 DSH Web 服務,再刷新頁面。
注意不要向 profile 的 cordis.patch.yml 手工插入同一個插件,否則會產生重複 loader id,導致 DSH 啓動失敗。
開發時也可以從本地目錄安裝:
cd /path/to/dsh-session-delete
dsh plugin --profile web add .
典型用法¶
啓用後,刪除會話的步驟如下:
1、在左側會話列表中找到目標會話。
2、點擊會話右側三點按鈕。
3、選擇“刪除會話”。
4、覈對會話名稱,勾選確認項後點擊“永久刪除”。
經過上面的步驟後,目標會話會被永久刪除。如果需要保留會話記錄,請使用 DSH 自帶的“歸檔會話”。
卸載¶
卸載插件時執行:
dsh plugin --profile web remove dsh-session-delete
重啓 DSH Web 服務後生效。卸載插件不會刪除任何會話。
工作方式與兼容性¶
當前 DSH 公共 slot 尚未暴露會話菜單擴展點,因此瀏覽器端只在檢測到官方“歸檔會話”菜單項時追加入口。如果 DSH 後續調整側邊欄 DOM 或菜單文案,插件會停止注入,而不會替換或破壞原菜單。
服務端 RPC 僅接受 loopback 權限。插件聲明不發起網絡請求、不讀取憑據、不收集或上傳會話內容。
適用場景與注意¶
這個插件適合在 DSH Web 中需要快速清理舊會話、並且使用默認 JSONL 持久化後端的用戶。
使用前需要注意:
- 永久刪除不可恢復。
- 只支持官方 JSONL 會話持久化後端。
- 刪除操作由 DSH 插件流程執行,安裝前應檢查源碼與許可證。
- 本項目是個人開源插件,不代表 DeepSeek 官方。
- 請先在 disposable profile 中驗證,再處理重要會話。
結尾¶
dsh-session-delete 的價值在於把“永久刪除”做成一個有確認、有後端限制、有 loopback 權限邊界的菜單入口。它不會改變 DSH 的會話管理主流程,只是給 Web 端增加了一個更明確的刪除操作。
- GitHub 倉庫:https://github.com/StarsTom/dsh-session-delete
- 社區目錄:以 DSH 社區目錄實際展示爲準。