前言¶
在 DeepSeek Harness(DSH)中,Archive 會話只是將行移到“歸檔”列表,且可以撤銷。對於需要徹底清理的會話,Archive 不夠用。一個簡單的 rm session.log 往往只刪除日誌文件,而不會讓行從側邊欄消失,因爲 Host 仍然持有會話的“live”狀態,刷新後會重新出現。
下面介紹一個插件,它在側邊欄每個會話的 … 菜單中添加“刪除會話”操作,並在刪除前彈出確認對話框,告知即將刪除的內容。確認後,它會真正停止會話工作、解綁會話目錄與投影檢查點、從所有註冊表中釋放 ID,並刷新側邊欄,讓行徹底消失。該插件不提供撤銷與回收站,由對話框明確提示這一點。
插件是什麼¶
- 名稱:dsh-session-clean-delete
- 維護者:wilsonchengassistant
- 類型:客戶端插件
- 核心價值:爲 DSH 側邊欄會話菜單提供“永久刪除會話”能力,與 Archive 互爲補充
插件通過一個 Typert Remote 服務實現,不依賴 HTTP 路由與權限檢查,瀏覽器端通過 RPC 調用 Host 端的 sessionDelete 服務。確認對話框會列出會話的 live 狀態、日誌大小、運行中的輪次、子代理、後臺任務與提醒數量,並顯示將被刪除的提醒總數。
核心功能¶
- 菜單入口:在每個會話的
…菜單中插入“刪除會話”行,順序在 Pin / Rename / Fork / Archive 之後。 - 確認對話框:打開後顯示:
- 會話是否仍在當前機器上打開(無法在之後重新打開);
- 即將被刪除的日誌大小;
- 綁定到該會話的運行中輪次、子代理、後臺任務與提醒;
- 隨同刪除的提醒數量。 - 刪除執行:確認後執行:
- 停止會話的工作;
- 解綁會話目錄與投影檢查點;
- 按代理循環的銷燬順序先釋放代理,再釋放會話,並調用unarchiveSession(id)與workspace.detachSession(id);
- 從各個註冊表中釋放 ID。 - 刷新側邊欄:刪除完成後刷新側邊欄,會話行消失。
- 無撤銷與回收站:對話框明確提示沒有撤銷與回收站。
安裝與啓用¶
插件以 dsh.bundle manifest 形式發佈,dsh plugin 會將其安裝爲 profile 層,無需手動編輯 cordis.patch.yml。包聲明零依賴,不添加額外的 @deepseek-ai/* 導入。
- 在終端執行:
dsh plugin --profile web add dsh-session-clean-delete
這是 npm 名稱,也是倉庫名稱。
- 從源碼克隆後,使用
file:路徑安裝:
dsh plugin --profile web add file:/path/to/dsh-session-clean-delete
該命令會做兩件事:將包加入依賴,並把它追加到 profile 的 package.json 的 dsh.profile.bundles 中。後者是關鍵,因爲 cordis.patch.yml 只對被 bundle 列表命名的包生效。
- 驗證包已加入樹:
dsh --profile <profile> --dump-config | grep -B1 session-clean-delete
輸出中應出現類似:
# == …/dsh-session-clean-delete/cordis.patch.yml
- id: session-clean-delete
name: dsh-session-clean-delete
- 重啓 Harness。Bundle 在啓動時組合,重啓前菜單中不會出現“刪除會話”行。
常見問題與排查¶
- 重複執行相同
add命令是無操作的。如需重新安裝,先刪除本地副本:rm -rf ~/.dsh/profiles/<profile>/node_modules/dsh-session-clean-delete。 - pnpm 會將包複製到 profile 而非創建符號鏈接,修改源碼不會影響運行中的插件。調試時可手動複製
lib/*.js到 profile 中的node_modules/dsh-session-clean-delete/lib/;client.js支持熱重載,index.js需要重啓。 - 確保
dsh plugin能找到 pnpm(corepack enable pnpm)。 - 若包發佈不足 24 小時,pnpm 可能安裝低於 registry
latest的版本,這是minimumReleaseAge安全機制,不是緩存問題。可等待或使用版本範圍^x.y.z。
適用場景與注意¶
- 適合需要徹底清理會話、不希望保留歸檔列表的場景,例如清理大量測試會話、歸檔後仍需永久移除的會話。
- 插件以當前 DSH 進程的權限運行,刪除操作不可逆,請謹慎確認對話框中的信息。
- 安裝前建議檢查源碼與許可證(MIT),確保符合你的使用環境與安全要求。
小結¶
該插件爲 DSH 側邊欄提供了“永久刪除會話”的選項,與 Archive 形成互補。它通過確認對話框展示會話狀態與刪除內容,並正確處理 Host 的 live 狀態,避免簡單 rm 導致的行重新出現。安裝簡單,依賴零,適合需要在會話管理中徹底清理的場景。
- 目錄頁:https://www.skillhub.cn/plugins/wilsonchengassistant/dsh-session-clean-delete
- GitHub:https://github.com/wilsonchengassistant/dsh-session-clean-delete