前言¶
在 DeepSeek Harness (DSH) 中,會話日誌是持久化的。當需要快速測試或進行一次性的探索性對話時,手動清理舊會話會增加維護負擔。dsh-temp-workspace 插件通過在側邊欄添加快速入口,允許用戶創建即用即棄的臨時工作區。在 Harness 重啓時,這些工作區及其關聯的會話會被自動清理,不留殘留痕跡。
這是什麼¶
這是一個 DSH Web 客戶端插件,旨在爲 Harness 增加臨時工作區功能。插件由 wjj-8283 維護,採用 MIT 許可證。它通過注入必要的運行時模塊和註冊特定的 API 路由,實現了“創建臨時環境”和“安全清理”的閉環。
安裝與啓用¶
推薦使用官方提供的命令直接安裝,無需本地構建。
dsh plugin --profile web add @wjj-8283/dsh-temp-workspace
如果需要從 GitHub 源碼安裝,可以使用:
dsh plugin --profile web add github:wjj-8283/dsh-temp-workspace
安裝後,插件會自動加入 Loader 層棧。重啓 dsh web 後,插件生效。
核心功能¶
插件主要提供以下能力:
- 快速入口:在側邊欄的“添加工作區”按鈕旁添加一個小沙漏圖標。
- API 路由:註冊
/temp-workspace/api路由,供瀏覽器端調用創建工作區。 - 設置面板:在“設置 -> 插件”中註冊一張卡片,用於配置刪除策略。
- 運行時注入:注入
webServer、webRuntime、workspaceRegistry、sessionPersistence、settings和loader。
典型用法¶
創建臨時工作區¶
點擊側邊欄“添加工作區”按鈕旁的小沙漏圖標,系統會自動創建一個臨時工作區並打開一個新的對話窗口。這個工作區僅用於當前的會話,不產生持久化負擔。
將臨時工作區轉爲永久¶
如果某個臨時工作區的內容需要保留,可以在側邊欄對應的“臨時工作區”行上找到釘子圖標,點擊它。這會觸發系統調用文件選擇器,將工作區文件移動到指定的 OS 文件夾,並將該文件夾直接設爲永久工作區。操作完成後,需要重啓 Harness 才能讓新的工作區在註冊表中生效。
工作原理與注意事項¶
清理機制¶
由於 DSH 的持久化接口是追加的,沒有公開的“刪除會話日誌” API,因此清理工作必須在 Harness 重啓時進行。
- 刪除模式:默認爲
immediate(立即刪除),也可配置爲delayed(延遲刪除),此時會設置一個deleteDelay(默認 3600 秒)的寬限期。 - 確認刪除:如果開啓
confirmBeforeDelete(默認開啓),Harness 啓動時不會自動刪除任何會話,而是彈出確認對話框。用戶可以選擇“刪除”、“保持臨時”或“保持原樣直到下次”。未處理的會話會在下次啓動時再次詢問。 - 無殘留:無論是臨時會話還是磁盤上的日誌,在確認刪除後都會被完全移除,不留下任何殘留文件或緩存記錄。
限制¶
- 啓動對話框:在開啓確認刪除的情況下,主機啓動時不會自動刪除,且“永久保留”的選項不在此對話框中,需要通過側邊欄的釘子按鈕手動操作。
- 目錄標記:臨時工作區的目錄清理依賴於
<dsh-home>/temp-workspaces/state.json中的標記路徑,即使註冊表記錄已被 UI 刪除,只要標記存在,目錄仍會被清理。