前言¶
DeepSeek Harness(DSH)側欄裏,每個 Session 通常可以歸檔、重命名或 Fork,但官方並未提供「徹底刪掉這條會話」的入口。歸檔仍會保留日誌副本;若只在磁盤上刪文件而不從 session store 裏摘掉,會話還可能在下一次啓動前繼續出現在 Ungrouped 裏。社區插件 dsh-chat-trash(倉庫 mars-area/dsh-chat-trash)在會話 ··· 菜單裏增加 Delete chat…,確認後停止運行中的 turn、清理成員關係與標記,並刪除本地 session 目錄與 projection cache,然後刷新頁面——不是移到歸檔,也不是進回收站。
下面介紹它做什麼、如何安裝,以及刪除前需要知道的限制。
這是什麼¶
dsh-chat-trash 是 DSH 的客戶端向插件 bundle(chat-trash),由 mars-area 維護,當前 package 版本爲 1.3.1,許可證 MIT。它在側欄 Session 的 ··· 菜單末尾增加一行 Delete chat…,行爲與官方 Pin、Rename、Fork、Archive 等項一致:使用 @deepseek-ai/dsh-client-ui-primitives 的 MenuItemButton,並帶上應用自帶的 IconTrashOutlineRegular 圖標。
核心功能¶
確認刪除後,插件會依次完成 README 中描述的操作:
- 停止該 chat 上仍在運行的 turn、job、subagent 或 scheduled reminder。
- 從 session store 中移除 live Session,側欄立即不再列出;持久化層排空最後的事件並關閉 log handle。
- 清除 pin、workspace 成員關係以及 archive 標記,避免在其他視圖裏殘留行或歸檔副本。
- 刪除
<DSH_HOME>/sessions/<workspace>/<session-id>/目錄,以及<DSH_HOME>/storages/session_projcache中對應行。 - 重新加載頁面,避免對話 pane 仍顯示已無 log 的會話。
空閒但未關閉的 chat 也可以刪。DSH 會把打開過的 chat 留在內存裏,因此插件不以「是否仍打開」作爲可否刪除的判斷。
沒有撤銷:log 被刪除而非歸檔。重要內容請先備份:Session 頭裏的 Download session log,或 /export 命令(導出含子 session 與附件的 ZIP)。
安裝與啓用¶
DSH 社區插件目錄見 skillhub.cn 上的插件頁;該站點爲社區目錄,與 DeepSeek / 幻方無官方從屬關係。安裝步驟以倉庫 README 爲準:
- 在 Harness Web UI 側欄打開 Plugins。
- 選擇 Add plugin → Install a third-party plugin。
- 填入倉庫地址(短形式亦可):
https://github.com/mars-area/dsh-chat-trash
或:
github:mars-area/dsh-chat-trash
- 安裝完成後,若
chat-trashbundle 未開啓,在 Plugins 裏將其打開。 - 打開任意 chat 側欄
···菜單,最後一行應爲 Delete chat…。
本地開發時,可在第三步改爲本機 checkout 的絕對路徑(例如 C:\Users\<user>\projects\dsh-chat-trash),修改 client.js 或 index.js 後關閉再打開 bundle 以加載變更。
插件以當前 DSH 進程權限運行;安裝第三方 bundle 前建議瀏覽倉庫源碼並確認 MIT 許可證是否可接受。
典型用法¶
日常流程很簡單:
- 在側欄選中要移除的 Session。
- 點擊該 Session 行的
···,選擇 Delete chat…。 - 在確認對話框中確認;頁面 reload 後,該 chat 從各視圖消失。
若刪除前需要留檔,先執行 Download session log 或 /export,再使用 Delete chat…。
適用場景與注意¶
適合:本地試驗會話、誤建 workspace、或確定不再需要且已自行備份的 chat,需要從側欄與磁盤上一併清掉,而不是歸檔。
限制(摘自 README):
- DSH 設計上沒有 delete API;本插件直接操作 persistence 目錄。未來 Harness 若變更 log 佈局或
sidebar.workspaces.session.menu.item契約,插件可能報錯(按鈕會報告錯誤)或菜單項消失,需跟隨更新。 - 刪除僅影響本機。已通過 Settings → General → Upload Session Log when using the official model API 上傳的 log,無法從此插件側刪除。
- 在 Plugins 裏關閉 bundle 只會去掉菜單項;已經刪掉的 chat 不會恢復。
實現結構(供查閱)¶
| 文件 | 作用 |
|---|---|
index.js |
Host:刪除路由、停止工作、成員清理、文件刪除 |
client.js |
瀏覽器:菜單行、圖標、確認流程 |
cordis.patch.yml |
將插件行插入 profile |
icon.png |
Plugins 頁展示的 256×256 圖標 |
維護與 issue 見 GitHub:https://github.com/mars-area/dsh-chat-trash。目錄頁:https://www.skillhub.cn/plugins/mars-area/dsh-chat-trash。