dsh-session-archive:把 DeepSeek Harness 的已歸檔會話找回來

前言

DeepSeek Harness(DSH)的思路是「一切皆插件」,宿主沒覆蓋的能力交給插件補。Web profile 裏有一個典型空檔:會話一旦歸檔,就會從工作區分組、搜索等所有界面中消失,而 harness 本身沒有提供查看或恢復這些會話的入口。歸檔成了一個單向操作,誤歸檔的會話找不回來,想確認某個已歸檔會話裏聊過什麼也沒有辦法。

下面介紹的 dsh-session-archive 補的就是這塊:它在側邊欄加一個入口,把註冊表全局的已歸檔會話列出來,支持預覽、恢復(取消歸檔)與刪除。

這是什麼

dsh-session-archive(包名 @kiligzzz/dsh-session-archive)是 kiligzzz 維護的 DeepSeek Harness Web 插件,當前版本 0.1.3,MIT 許可證,源碼公開在 GitHub 上。

一句話定位:在側邊欄呈現註冊表全局的已歸檔會話,支持預覽、恢復與刪除。歸檔狀態本身持久化在工作區域的 ~/.dsh/storages/workspace.json 中,插件讀寫的正是這份歸檔集。

核心功能

側邊欄入口與分組面板

插件在側邊欄底部添加「已歸檔會話」按鈕,側邊欄收起爲圖標 rail 時同樣可用。點擊打開一個寬幅固定尺寸的面板:

  • 按所屬工作區目錄分組,未分組的排在最後;分組可摺疊,每組帶計數徽章
  • 每行顯示緊湊相對時間(剛剛 / 5分鐘 / 3小時 / 2天),懸停顯示絕對本地時間;組內按時間倒序,最新在上
  • 頂部是即時標題搜索,輸入即跨全部分組過濾會話

只讀預覽

點擊會話標題打開預覽彈窗,內容從磁盤日誌渲染,列出該會話全部真實用戶問題,系統注入的內容已排除。預覽是純觀察性操作,不影響歸檔狀態,可以先看內容再決定恢復還是刪除。

恢復與刪除

恢復:從持久化歸檔集中移除該會話 id,操作冪等,寫入經 workspace-registry 寫入鏈串行化,完成後會話回到原來的分組。

刪除:垃圾桶按鈕觸發確認彈窗,確認後永久移除歸檔記錄、解除工作區記賬,並刪除磁盤上的日誌目錄。活躍會話一律拒絕刪除。

Host 服務 API

插件還向相鄰的 host 插件暴露一個 workspaceArchive 服務,提供四個方法:

list()
preview(sessionId)
restore(sessionId)
deleteSession(sessionId)

其他 host 插件可以基於這套接口讀取或操作歸檔會話。

安裝與啓用

前置條件:DeepSeek Harness Web profile 可用,即 dsh 命令可用,且 pnpm 在 PATH 上。

安裝:

dsh plugin --profile web add https://github.com/kiligzzz/dsh-session-archive

安裝後重啓 Web profile(host 與瀏覽器 bundle 都在啓動時掃描插件),再刷新頁面。bundle id 出現在 __DSH_BOOT__ 中、側邊欄底部出現 sidebar.footer.action 入口,說明插件已生效。

如果要基於本地 checkout 安裝,比如改過代碼:

pnpm --dir <本倉庫路徑> install   # 僅重建時需要(dev 依賴 esbuild)
pnpm --dir <本倉庫路徑> run build # 可選,lib/ 構建產物已提交
dsh plugin --profile web add "$PWD"

卸載:

dsh plugin --profile web remove @kiligzzz/dsh-session-archive

依賴方面,插件以 peer 依賴聲明瞭 dsh 相關包(@deepseek-ai/dsh-*^0.1.0-rc.7 || ^0.1.1-rc.1)、cordis(^4.0.0-rc.7 || ^4.0.0)和 react(^18.2.0),其中 @deepseek-ai/dsh-host-webserver 是可選 peer 依賴。

典型使用流程

以找回一個誤歸檔的會話爲例:

  1. 點開側邊欄底部的「已歸檔會話」入口,打開面板
  2. 在搜索框輸入標題關鍵字,跨分組定位目標會話
  3. 拿不準內容時,點擊標題打開只讀預覽,確認是不是要找的那條
  4. 點恢復,會話從歸檔集中移除,回到原分組
  5. 確認不再需要的會話,走刪除並二次確認

經過上面的步驟,已歸檔會話從「只能隱藏」變成可以查看、找回或清理的普通數據。

適用場景與注意事項

適合的場景:

  • 日常使用 DSH Web profile,歸檔過會話後想再確認內容,或者誤歸檔要找回
  • 清理舊會話前,先通過預覽確認磁盤日誌裏的內容再決定是否刪除
  • 其他 host 插件需要讀寫歸檔會話時,複用 workspaceArchive 接口

注意事項:

  • 刪除是永久操作:移除歸檔記錄、解除工作區記賬,並刪除磁盤上的日誌目錄;活躍會話會被拒絕刪除
  • 插件以當前 dsh 進程的權限運行,能讀寫的範圍就是你的 DSH 工作區域。安裝任何第三方插件前,建議先檢查源碼與許可證;本插件源碼在 GitHub 公開,許可證爲 MIT

小結

dsh-session-archive 解決的問題很具體:讓已歸檔會話可列出、可預覽、可恢復、可刪除,補上 harness 在這塊缺失的入口。如果你在用 DSH Web profile 且歸檔過會話,可以裝上試試。

  • 社區插件目錄頁:https://www.skillhub.cn/plugins/kiligzzz/dsh-session-archive
  • GitHub 倉庫:https://github.com/kiligzzz/dsh-session-archive

社區目錄是獨立維護的站點,與 DeepSeek、幻方沒有官方從屬關係,插件信息以倉庫爲準。

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

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

小夜