前言¶
DeepSeek Harness 的歸檔操作只打一個標記,不通刪文件。@deepseek-ai/dsh-session-persistence-jsonl 自己的文檔寫着:日誌會在 root 下不斷累積,直到被外部刪除,該接縫沒有刪除 API;@deepseek-ai/dsh-client-ui-workspace 也把「No Session deletion」列爲已知限制。結果是歸檔過的對話越多,磁盤上的會話日誌越積越厚。如果你在按 DSH「一切皆插件」的思路補這塊能力,下面介紹 trimine/dsh-purge-archived——一個把歸檔會話的日誌、投影緩存、歸檔標記和工作區成員記錄一併清除的插件。
這是什麼¶
維護者 trimine,分類 admin-security,包版本 1.0.1,許可證 MIT。倉庫是純 JavaScript 實現,index.js 是 Host 半(Cordis 插件),client.js 是瀏覽器模塊,cordis.patch.yml 負責插入插件行,locale/*.json 提供插件管理器的顯示元數據。
它補的是 DSH 缺失的那一個操作:歸檔之後真正把會話從磁盤上拿走,而不是讓它繼續佔空間。
核心功能¶
這些能力都來自插件清單與 README,已覈對。
- 永久刪除…:已歸檔會話「…」菜單末尾出現一行紅色操作,點開有二次確認對話框。
- 清理已歸檔對話:側邊欄新增一個一級面板,與「插件」「自動化任務」同級,列出每個已歸檔對話的標題、佔用大小和最近活動時間。
- 批量刪除:勾選任意條目,或全選後一次刪除。
- 無效條目清理:日誌文件被手動刪掉的對話,歸檔標記和工作區成員記錄仍會殘留,這類條目在面板裏顯示爲「日誌已丟失」,可一鍵清掉。
- 界面中英雙語,樣式跟隨主題 token,對話框可用鍵盤操作。
一次刪除會移除什麼¶
下面四類產物是一次 purge 的清除範圍,路徑按 README 原文列出:
| 內容 | 位置 |
|---|---|
| 會話日誌(全部格式代) | <DSH_HOME>/sessions/<項目>/<sessionId>/ |
| 投影緩存檢查點 | <DSH_HOME>/storages/session_projcache/sessions/<sessionId>.json |
| 歸檔標記 | 註冊表中持久化的歸檔集合 |
| 工作區成員記錄 | 各 Workspace 的 sessionIds |
已連接的客戶端通過標準的 api-session/removed 通知立即移除該行,不需要刷新頁面。
安全邊界也寫在 README 裏:只接受兩類條目——在持久化歸檔集合中的 id,或者磁盤上已無日誌且不是活會話的 id。普通、未歸檔、日誌仍在的對話一律拒絕。兩個 HTTP 路由只接受同源的 JSON POST。
安裝與啓用¶
插件頁安裝:側邊欄 插件 → 添加插件 → 輸入 dsh-purge-archived → 安裝。
dsh 命令行安裝:
dsh plugin --profile desktop add dsh-purge-archived
從本地 checkout 安裝,直接把插件管理器指向目錄:
dsh plugin --profile desktop add /absolute/path/to/dsh-purge-archived
本地目錄安裝是 link 方式,源目錄不能刪除或移動。另外,已安裝插件升級到新版本後,需要重啓一次 DeepSeek Harness 讓 Host 半加載新模塊,然後刷新頁面。
典型用法¶
三種路徑,按場景選。
1、單個對話。先把側邊欄「視圖選項」切到 全部對話 或 僅歸檔 讓歸檔行可見,再打開該行「…」菜單,選 永久刪除…。
2、批量。點側邊欄面板列表裏的 清理已歸檔對話,勾選條目或 全選,再點 刪除所選。
3、無效條目。同一頁面裏標記爲「日誌已丟失」的條目,用 清理全部 N 個無效條目 一次清掉。
適用場景與注意¶
適合自己管理 DSH_HOME、歸檔對話已經明顯佔空間的人,也適合在測試環境裏反覆跑會話、需要定期清場的人。
幾點提醒:
- 刪除操作以當前
dsh進程的權限運行。裝之前先看一遍源碼與許可證(MIT),確認刪除路徑與自己的目錄約定一致。 index.js導出了文件系統層removeSessionArtifacts(),可以針對臨時 DSH 目錄單獨測試,不必運行 Host。這既是審查入口,也是驗證行爲的地方。- 兼容性標註爲 DeepSeek Harness
0.2.1-rc.5(V4 會話日誌格式,Windows 桌面端)。刪除邏輯與日誌格式無關:它整目錄刪除,而不是寫死日誌文件名,後續格式代仍能正常工作。依賴@deepseek-ai/dsh-client-ui-workspace客戶端包和 Host 側的 Workspace 註冊表。 - 發佈的包名和 scope 由維護者決定,倉庫的清單裏
author等字段仍是OWNER佔位符狀態,安裝前建議覈對package.json實際內容。
結尾¶
這個插件的價值很窄但實在:DSH 的歸檔只做標記,它把標記背後的東西真正拿走。目錄頁在 https://www.skillhub.cn/plugins/trimine/dsh-purge-archived ,源碼在 https://github.com/trimine/dsh-purge-archived ,README 裏有完整的刪除範圍和安全說明。