前言¶
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 依賴。
典型使用流程¶
以找回一個誤歸檔的會話爲例:
- 點開側邊欄底部的「已歸檔會話」入口,打開面板
- 在搜索框輸入標題關鍵字,跨分組定位目標會話
- 拿不準內容時,點擊標題打開只讀預覽,確認是不是要找的那條
- 點恢復,會話從歸檔集中移除,回到原分組
- 確認不再需要的會話,走刪除並二次確認
經過上面的步驟,已歸檔會話從「只能隱藏」變成可以查看、找回或清理的普通數據。
適用場景與注意事項¶
適合的場景:
- 日常使用 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、幻方沒有官方從屬關係,插件信息以倉庫爲準。