dsh-session-cleanup:在 DSH 中永久刪除會話數據

前言

DeepSeek Harness(DSH)側欄裏可以把會話「歸檔」:列表裏不再顯示,但磁盤上的事件日誌、投影緩存和工作區登記往往還在。長期本地開發或反覆試跑智能體時,session.v4.jsonl.zstd 和 storages/workspace.json 裏的 id 會不斷累積,佔用空間,也不利於按工作區梳理。內置歸檔沒有真正的刪除入口;dsh-session-cleanup 是社區插件,補這一塊維護面板,並在會話菜單裏提供「永久刪除」確認流程。

這是什麼

dsh-session-cleanup(GitHub:LucasCaleb-ggg/dsh-session-cleanup)由維護者 LucasCaleb-ggg 發佈,MIT 許可證,當前 package 版本 1.0.0。定位是 DSH 的會話與工作區維護面板:列出各工作區下的會話(標題、id、體積、最後活動、是否歸檔 / 運行中 / 日誌缺失),支持批量或從側欄菜單一次性刪掉事件日誌、投影緩存以及 workspace.json 中的登記——而不是隻隱藏側欄行。

核心功能

下面介紹 README 中已說明的能力。

工作區與會話列表

  • 按 Workspace → sessions 展示每個會話的標題、id、大小、最後活動時間。
  • 狀態包括 archived、running、log missing。
  • 已無工作區登記、但日誌仍在磁盤上的會話,單獨成組 Unregistered sessions,便於清理。

刪除會話

  • 批量刪除:勾選多個會話,確認一次即可;running 會話會被拒絕(仍有 turn、子智能體、job 或 schedule 時不能刪),原因會在 UI 中顯示。
  • 側欄快捷入口:任意會話 … 菜單增加 Delete permanently…,彈出確認對話框,無需先打開維護面板。

刪除每個會話時會移除三處數據(README 原文路徑):

  1. $DSH_HOME/sessions/<workspace-key>/session-<id>/(事件日誌目錄)
  2. $DSH_HOME/storages/session_projcache/sessions/session-<id>.json(投影緩存)
  3. $DSH_HOME/storages/workspace.json 中的 sessionIds 與 archivedSessionIds

操作前須勾選 I understand this cannot be undone,未勾選前不會動任何文件。

刪除過程通過 workspaceRegistry.detachSession / unarchiveSession 與 Host 內存表、workspace.json 保持一致,併發出 api-session/removed,側欄會立即去掉該行,而不是重啓前一直掛在「Ungrouped」下。

工作區

可刪除工作區在 DSH 中的登記;可選同時刪除磁盤上的工作區目錄。對盤符根目錄、用戶主目錄、DSH home、以及仍包含其他已註冊工作區的目錄會拒絕刪除。

安全與已知限制

  • 會話 id 在構造路徑前會做校驗。
  • Attachments(.dsh/attachments)不會被刪除——共享 blob 可能屬於其他會話。
  • 已刪會話不會級聯刪除其子智能體會話;若某標籤頁仍打開已刪會話,該 tab 會指向已不存在的日誌。

安裝與啓用

插件爲純 JavaScript bundle,無需構建;安裝後會在 DSH profile 中註冊 session-cleanup 入口。

從 GitHub 安裝(命令來自倉庫 README,將 OWNER 換爲實際倉庫所有者):

dsh plugin add https://github.com/LucasCaleb-ggg/dsh-session-cleanup

若本地已有倉庫檢出,也可指向目錄:

dsh plugin add /absolute/path/to/this/directory

Requirements(README):DeepSeek Harness 0.2.x 且帶 Web GUI;Host 需具備 webServer、connection、workspaceRegistry、agents 等服務。

典型用法

  1. 側欄點擊 Session cleanup 圖標(位於 Plugin market 與 Schedules 之間)進入全頁維護面板;或
  2. 在任意會話的 … 菜單中選擇 Delete permanently…,在對話框中確認。

在面板中可勾選多個非運行中會話批量刪除,或處理未登記會話組、工作區刪除等操作。安裝後具體文案以界面與 locale/*.json 爲準。

適用場景與注意

適合長期在本地用 DSH 跑智能體、歸檔很多但仍想釋放磁盤、或需要覈對「歸檔 vs 日誌是否還在」的開發者。

插件以當前 DSH 進程的用戶權限讀寫 $DSH_HOME 下路徑;安裝前建議閱讀 GitHub 源碼 與 MIT 許可證,確認行爲符合預期。DSH 生態強調「一切皆插件」;社區目錄 SkillHub 插件頁 爲獨立站點,與 DeepSeek / 幻方無官方從屬關係。

結尾

dsh-session-cleanup 把 DSH 裏「只歸檔、不刪盤」的缺口補上:同一套 UI 裏查看工作區與會話狀態,並在確認後永久移除日誌、投影緩存與工作區登記。需要時可從目錄頁或 GitHub 安裝,並按 README 的 Safety 一節理解運行中會話與附件等邊界。

  • 目錄頁:https://www.skillhub.cn/plugins/LucasCaleb-ggg/dsh-session-cleanup
  • 倉庫:https://github.com/LucasCaleb-ggg/dsh-session-cleanup
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜