dsh-chat-trash:在 DeepSeek Harness 側欄永久刪除會話

前言

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 中描述的操作:

  1. 停止該 chat 上仍在運行的 turn、job、subagent 或 scheduled reminder。
  2. 從 session store 中移除 live Session,側欄立即不再列出;持久化層排空最後的事件並關閉 log handle。
  3. 清除 pin、workspace 成員關係以及 archive 標記,避免在其他視圖裏殘留行或歸檔副本。
  4. 刪除 <DSH_HOME>/sessions/<workspace>/<session-id>/ 目錄,以及 <DSH_HOME>/storages/session_projcache 中對應行。
  5. 重新加載頁面,避免對話 pane 仍顯示已無 log 的會話。

空閒但未關閉的 chat 也可以刪。DSH 會把打開過的 chat 留在內存裏,因此插件不以「是否仍打開」作爲可否刪除的判斷。

沒有撤銷:log 被刪除而非歸檔。重要內容請先備份:Session 頭裏的 Download session log,或 /export 命令(導出含子 session 與附件的 ZIP)。

安裝與啓用

DSH 社區插件目錄見 skillhub.cn 上的插件頁;該站點爲社區目錄,與 DeepSeek / 幻方無官方從屬關係。安裝步驟以倉庫 README 爲準:

  1. 在 Harness Web UI 側欄打開 Plugins。
  2. 選擇 Add plugin → Install a third-party plugin。
  3. 填入倉庫地址(短形式亦可):
https://github.com/mars-area/dsh-chat-trash

或:

github:mars-area/dsh-chat-trash
  1. 安裝完成後,若 chat-trash bundle 未開啓,在 Plugins 裏將其打開。
  2. 打開任意 chat 側欄 ··· 菜單,最後一行應爲 Delete chat…。

本地開發時,可在第三步改爲本機 checkout 的絕對路徑(例如 C:\Users\<user>\projects\dsh-chat-trash),修改 client.js 或 index.js 後關閉再打開 bundle 以加載變更。

插件以當前 DSH 進程權限運行;安裝第三方 bundle 前建議瀏覽倉庫源碼並確認 MIT 許可證是否可接受。

典型用法

日常流程很簡單:

  1. 在側欄選中要移除的 Session。
  2. 點擊該 Session 行的 ···,選擇 Delete chat…。
  3. 在確認對話框中確認;頁面 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。

羽毛球分组比赛记分
小程序二维码

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

小夜