前言¶
在 DSH 的日常使用中,會話經常會被歸檔,側邊欄裏不再直接顯示,但記錄仍然保留;刪除會話之後,也希望有一處地方能查看、恢復或永久清除。imrascal/dsh-archive 就是針對這個場景的 DSH 插件:它把歸檔會話和回收站管理放進設置面板,先恢復、再刪除、再清空的操作都能在同一個入口裏完成。
這是什麼¶
imrascal/dsh-archive 是一個 DeepSeek Harness(DSH)插件,由 imrascal 維護,許可證爲 MIT。
它的一句話定位是:從設置面板恢復/刪除歸檔會話並管理回收站。目標版本是 DSH 0.1.0-rc.5 及以後,支持原生 Web UI 和桌面 GUI。
核心功能¶
下面是已覈實的主要能力:
- 管理歸檔會話和回收站,入口位於設置面板。
- 查看側邊欄隱藏但保留記錄的歸檔會話。
- 單個或一次性恢復歸檔會話。
- 將歸檔會話移動到回收站。
- 查看已刪除會話的回收站記錄。
- 恢復回收站會話、永久清除單個會話或清空整個回收站。
- 刪除會話默認可逆,移動到
~/.dsh/trash;僅purge/empty trash爲永久刪除。 - 運行中的即時會話拒絕刪除。
- 提供
native和fallback雙路徑設計。 - 啓動時進行能力檢測,並在已具備功能時自動
no-op。 deleteSession在持久層非trash-aware時fail-closed拒絕運行。fallback路徑刪除後同時刷新workspaces和sessions兩個 store。
安裝與啓用¶
先確認 pnpm 在 PATH 中。原因是 dsh plugin 會轉發到 pnpm。
遠程安裝使用:
dsh plugin --profile web add github:imrascal/dsh-archive
如果本地已有 checkout,可以使用本地路徑安裝:
dsh plugin --profile web add file:C:/path/to/dsh-archive
經過上面的步驟後,還需要重啓應用,然後刷新頁面。入口會出現在:
Settings → Archived Sessions
環境要求方面,已覈實資料給出:
- 目標 DSH:
0.1.0-rc.5及以後。 - 平臺支持:Windows / macOS / Linux。
package.json engines要求node >=22.0.0。package.json devDependencies使用@deepseek-ai/cordis ^4.0.1。
典型用法¶
下面列出可直接對照執行的步驟和示例。
1、安裝插件後重啓應用,並刷新頁面。完成後在設置面板找到 Archived Sessions 入口。
2、查看歸檔會話。這裏可以看到側邊欄隱藏但記錄仍保留的會話。
3、恢復歸檔會話。支持單個恢復,也支持一次性恢復。
4、將歸檔會話移動到回收站。刪除會話後會移動到:
~/.dsh/trash/<sessionId>-<timestamp>/
這類刪除默認可逆,可稍後恢復。
5、查看回收站記錄。可以查看已刪除會話在回收站中的狀態。
6、恢復回收站會話。如果誤刪除,可以按需要恢復。
7、永久清除單個會話或清空整個回收站。purge / empty trash 不可逆,並有確認彈窗保護。
8、如果當前 DSH 安裝已經帶有 in-box patch,可以先恢復 dsh-client-ui-workspace/lib/client.js 到官方 release,再安裝並重啓本插件。
設計與安全邊界¶
這個插件使用 native 與 fallback 雙路徑設計。
- 啓動時會做能力檢測。
- 如果當前環境已經具備相同功能,插件會自動
no-op。 deleteSession在持久層非trash-aware時fail-closed拒絕運行。fallback刪除後的dual-store resync會同時刷新workspaces和sessions兩個 store,用於避免會話停留在stale sessions list或Ungrouped bucket。- 在 Cordis 4 strict inject 場景下,插件通過
ctx.get(...)和patched methods receiver解析服務,避免未聲明inject的屬性讀取錯誤。
數據安全方面,已覈實資料明確:
- 刪除會話會移動到
~/.dsh/trash/<sessionId>-<timestamp>/,可稍後恢復。 - 永久清除或清空回收站不可逆。
- 刪除會話不會刪除附件;附件按內容尋址且共享。
- 運行中的即時會話拒絕刪除。
開發驗證¶
本地開發驗證可以先安裝依賴:
npm install
然後運行以下腳本:
node scripts/host-logic-test.mjs
node scripts/host-robustness-test.mjs
node scripts/cordis4-strict-test.mjs
node scripts/eval-check.mjs
適用場景與注意¶
適合希望在 DSH 設置面板中統一處理歸檔會話和回收站的用戶,尤其是希望“刪除默認可逆、永久刪除有確認保護”的場景。
使用前需要注意:
- 插件以當前
dsh進程權限運行。 - 安裝前應檢查源碼與許可證。
purge/empty trash不可逆。- 運行中的即時會話不能刪除。
- 刪除會話不會刪除附件。
鏈接¶
- GitHub:https://github.com/imrascal/dsh-archive
- 目錄頁:已覈實資料未提供 URL。