imrascal/dsh-archive:DeepSeek Harness 歸檔會話與回收站管理插件

前言

在 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。
羽毛球分组比赛记分
小程序二维码

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

小夜