前言¶
DeepSeek Harness(DSH)默認會把會話歸檔,但不會真正從磁盤上刪掉對話。工作區裏試過的分支、過期任務、誤建的會話會一直佔着列表和目錄,只能歸檔、不能「清掉又後悔」。若你希望在本地 Harness 環境裏做一次刪除、又保留幾天內反悔的餘地,就需要在歸檔之外再疊一層回收站語義。
下面介紹社區插件 dsh-conversation-trash(維護者 ASALULU,SkillHub 分類:記憶)。它把會話日誌、列表投影緩存與工作區歸屬移入 30 天回收站,支持 Toast 撤銷、回收站頁恢復與永久清除,而不改動 DSH 核心的歸檔行爲。
這是什麼¶
dsh-conversation-trash 是 DSH 的宿主 + Web 客戶端插件:在會話行提供刪除入口,把指定 Session 的日誌與相關緩存遷到本地回收站,並從工作區註冊表裏解除關聯。刪除後列表立即不再展示該會話;誤刪可在短時間內撤銷,或在 Plugins → 對話回收站 中恢復或徹底刪除。
- 倉庫:https://github.com/ASALULU/dsh-conversation-trash
- 目錄頁:https://www.skillhub.cn/plugins/ASALULU/dsh-conversation-trash
- 當前包版本(
package.json):0.4.0 - 許可證:MIT
SkillHub 爲社區插件目錄,與 DeepSeek / 幻方無官方從屬關係;安裝前請自行查看源碼與許可證。
核心功能¶
依據 README 與 package.json,插件已覈實能力如下。
- 官方 Slot 集成:會話行懸停垃圾桶按鈕,以及行尾「…」菜單中的「刪除對話」;不注入 DOM、不改原生菜單結構。
- 刪除與撤銷:確認後日志移入回收站、列表行消失;Toast 提供 撤銷,可立即恢復。
- 回收站頁面:Plugins → 對話回收站,可查看標題、刪除時間、佔用空間,並執行恢復、徹底刪除、清空回收站(後兩者爲兩段式確認)。
- 30 天自動清掃:到期後自動清理;已刪會話的日誌不再參與列表與搜索。
- 界面語言:中文 / English,跟隨 DSH 語言設置。
會移動什麼、什麼不動¶
刪除時插件主要處理以下內容(路徑均相對 <DSH_HOME>):
| 對象 | 處理 |
|---|---|
sessions/<項目目錄>/<session-id>/ |
移入回收站;失敗則保持原樣 |
storages/session_projcache/sessions/<session-id>.json |
盡力移入;失敗則留在原處,不阻塞刪除 |
workspace.json 的成員 / 置頂 / 歸檔 |
通過 Workspace registry 解除 |
attachments/** |
不動(內容尋址、跨會話共享) |
| 子代理會話 | 不動(獨立 session 目錄) |
回收站目錄形如:plugin-data/session-delete/trash/<時間戳>--<session-id>--<隨機後綴>/,內含 manifest.json、log/、projection.json。
安裝與啓用¶
要求:DSH >= 0.2.2-rc.1 且 < 0.3.0,Node >= 22.15.0。
在 DSH 內打開 Plugins → Add plugin,填寫插件名 dsh-conversation-trash;或使用 CLI(profile 請換成你的實際配置名,例如 web):
dsh plugin --profile web add dsh-conversation-trash
安裝後需要重啓 DSH,宿主在啓動時加載插件。桌面端建議在應用內 Plugins 頁面安裝。
典型用法¶
- 在會話列表中,懸停會話行點擊垃圾桶,或打開行尾「…」→ 刪除對話。
- 確認後內容進入回收站,列表中該行消失;若剛誤刪,在 Toast 上點 撤銷。
- 需要批量管理時,打開 Plugins → 對話回收站:對單條 恢復 或 徹底刪除,或 清空回收站。
若刪除返回需先重啓的提示(活會話仍在內存中),應先退出並重啓 DSH,再執行刪除;README 說明這是爲了避免「列表裏沒了、內容仍能從內存打開」的不一致。
宿主側還提供 POST /api/session-delete,通過 body 中的 action(delete、restore、list-trash、purge、purge-all)調用;路由爲 owner-only,一般由 UI 使用,擴展集成時可參閱倉庫 README。
安全模型與已知限制¶
安全(README 摘要):插件不執行 shell、不發起網絡、不使用 eval;路徑經 resolve 與根目錄包含檢查;HTTP 路由僅 owner 可訪問;活會話拒絕刪除;日誌先移動,緩存移動失敗不會清空已建立的回收站條目。
使用上需注意:
- 插件在當前 DSH 進程權限下讀寫本地文件;安裝前應閱讀源碼與 MIT 許可證,確認符合你的環境策略。
- 打開過的會話需重啓 DSH 後才能刪除(
live狀態)。 - 附件、子代理會話不隨父會話刪除。
- 回收站內容保留約 30 天;若需立即釋放磁盤,請在回收站頁「徹底刪除」。
- 多進程:
workspace.json無跨進程寫鎖,刪除過程中避免在另一個 DSH 進程裏操作同一工作區。 - DSH 大版本升級若改變磁盤佈局,刪除可能返回診斷而非靜默破壞;升級前建議在測試 profile 驗證。
結尾¶
DSH 生態強調「一切皆插件」。dsh-conversation-trash 在不動核心歸檔的前提下,補上了「可撤銷刪除 + 30 天回收站」這一層本地治理能力,適合需要定期清理會話、又希望保留誤刪緩衝的 Harness 用戶。
- 目錄頁:https://www.skillhub.cn/plugins/ASALULU/dsh-conversation-trash
- GitHub:https://github.com/ASALULU/dsh-conversation-trash