前言¶
在使用 DeepSeek Harness (DSH) 進行智能體開發或長期運行服務時,持久化會話和歸檔文檔會隨着時間推移不斷累積。這些殘留數據可能佔用存儲空間,也可能影響系統性能。手動清理這些文件或從數據層中移除它們通常需要操作文件系統或修改配置。dsh-session-cleanup 插件提供了一個圖形化的入口,讓你在 DSH 的設置頁面中直接查看並清理這些數據。
插件簡介¶
dsh-session-cleanup 是一個 DSH 配置文件包,由 ShiraGawaAnri 維護,採用 MIT 許可證。它的核心價值在於爲 DSH Web 配置文件添加了兩個設置頁面:Sessions清理 和 歸檔清理。這兩個頁面允許你查看當前內存中的會話、持久化但未打開的殘留會話,以及所有已歸檔的會話,並提供刪除操作。
核心功能¶
Sessions 清理¶
在設置中進入 Sessions 清理頁面,你可以:
1. 刷新 Sessions:更新列表數據。
2. 當前 Sessions:顯示當前內存中運行中的會話。這部分僅用於查看,不提供刪除按鈕。
3. 殘留 Sessions:顯示持久化但當前未打開的會話。每一項都配有刪除按鈕。
歸檔清理¶
在歸檔清理頁面,你可以:
1. 刷新歸檔:更新歸檔列表。
2. 所有歸檔:列出所有歸檔會話,包含 ID、摘要和日期。每行配有刪除按鈕。
3. 刪除全部:一鍵刪除所有歸檔會話。
4. 運行中徽章:處於運行狀態的會話會顯示“運行中”徽章,且無法被刪除。
安全機制¶
所有刪除操作均受雙重確認機制保護(先確認,再執行,期間可取消)。
安裝與啓用¶
該插件通過 dsh plugin 命令安裝。安裝前請確保已安裝 pnpm,且 DSH Web 服務處於可用狀態。
# 1. 將解壓後的文件夾放置到指定目錄,例如 D:/plugins/dsh-session-cleanup
# 2. 安裝到 web 配置文件
dsh plugin --profile web add file:D:/plugins/dsh-session-cleanup
# 或者直接從解壓目錄的父目錄運行
dsh plugin --profile web add ./dsh-session-cleanup
安裝完成後,重啓 dsh web,在設置菜單中即可找到 Sessions清理 和 歸檔清理 選項。
卸載¶
如需移除該插件,使用以下命令:
dsh plugin --profile web remove @dsh-external/dsh-session-cleanup
技術說明與注意事項¶
刪除行爲¶
該插件通過 Node.js 的 fs.rm API 在宿主機端執行刪除操作。刪除邏輯受限於 sessionPersistence.locate() 返回的路徑,客戶端僅提交會話 ID。刪除操作會:
1. 拒絕刪除運行中的會話。
2. 移除持久化的會話日誌文件/目錄。
3. 將會話從工作區賬戶中分離。
4. 從全局歸檔集合中移除 ID(並同步緩存)。
重要提示:刪除操作不可恢復。
依賴與服務¶
該插件運行需要宿主機提供以下服務支持:sessions、sessionPersistence、workspaceRegistry、storageDomain。客戶端需要 slots 服務。可選的服務包括 webServer。
安全與限制¶
- API 安全:刪除接口 (
POST /_dsh/session-cleanup/api) 會拒絕跨站請求。 - 權限:刪除屬於管理員動作,僅在設置頁面觸發,不與 DSH 沙盒策略或模型工具調用交互。
- 依賴:插件本身不包含任何第三方 npm 依賴。
總結¶
dsh-session-cleanup 爲 DSH 用戶提供了一個可視化的會話管理工具。如果你需要管理大量殘留會話或清理歸檔數據,通過設置頁面進行操作比直接操作文件系統更爲安全且便捷。