前言¶
dsh 的會話可以歸檔,但歸檔之後的事情沒有太多現成入口:想找回某條舊會話、批量還原,或者按規則把不活躍的會話定期歸檔,都缺一個可視化的操作位置。下面介紹的 dsh-plugin-archive-manager 就是爲解決這個問題寫的,它把這些能力放進 dsh Web UI 的設置頁。
這是什麼¶
dsh-plugin-archive-manager 是一個 dsh 插件,由 qinyre 維護,MIT 許可,當前版本 0.3.0。它在 Web UI 設置頁提供一級分區「歸檔管理」,覆蓋三件事:瀏覽已歸檔會話、取消歸檔、按規則自動歸檔。
它前身爲 dsh-plugin-atlas。0.3.0 起官方 Web UI 自帶對話刻度尺,插件不再內置刻度尺與輸入歷史,專注歸檔一件事,並隨版更名。
核心功能¶
歸檔瀏覽與還原¶
已歸檔會話按工作區分組,支持搜索與批量取消歸檔。還原後側邊欄即時恢復,無需重啓。列表裏的標題與輪次數取自會話日誌本體,不依賴額外索引。
自動歸檔¶
自動歸檔默認關閉。開啓後可配置兩條規則:「不活躍超過 N 天」與「每個工作區保留最近 M 條」,每日覈查一次。執行前可以試運行,先看到將要歸檔的清單再決定是否執行。
舊規則沿用¶
如果之前用的是舊包名 dsh-plugin-atlas,它的自動歸檔規則會在升級後自動沿用,不需要重新配置。
安裝與啓用¶
默認的安裝命令:
dsh plugin --profile web add dsh-plugin-archive-manager
也可以在 Web UI 的 設置 → 插件 裏按包名安裝(經 dsh-plugin-install),或直接從 GitHub 裝:
dsh plugin --profile web add github:qinyre/dsh-plugin-archive-manager
開發時想裝本地檢出,用 add file:/path/to/dsh-plugin-archive-manager,包內 prepare 腳本會自動構建。卸載把 add 換成 remove 即可。
從舊包名升級,先移除舊包再安裝本包:
dsh plugin --profile web remove dsh-plugin-atlas
dsh plugin --profile web add dsh-plugin-archive-manager
經過上面的步驟裝好後,如果你使用的是 DSH Desktop(內嵌同一 Web UI),插件裝上即在桌面內生效,無需額外配置。
安全與邊界¶
插件的寫路徑有幾個明確的邊界:
- 寫操作要求同源 POST,規則數值有範圍校驗。
- 自動歸檔只調用 dsh 公開的
archiveSession。 - 取消歸檔經由註冊表預留的狀態寫入路徑完成。若未來 dsh 的改動使其失效,插件會明確報錯而不是損壞數據,屆時更新 dsh 與本插件即可。
- 插件不刪除任何會話或文件。
開發與測試¶
倉庫內的開發流程依次是:
pnpm install
pnpm run typecheck
pnpm test
pnpm run build
端到端 smoke 測試默認關閉,要求同級目錄存在 deepseek-harness 源碼檢出且 Node ≥ 22.19:
DSH_ARCHIVE_MANAGER_PLUGIN_SMOKE=1 pnpm test
它會建臨時 DSH_HOME、把本插件裝入 web profile、啓動 dsh web,並逐一探測各路由。
適用場景與注意¶
適合的讀者:會話量大、按工作區管理項目、希望側邊欄保持乾淨,又不想手動逐條歸檔的 dsh 用戶。
使用前注意兩點:
1、插件以當前 dsh 進程的權限運行,安裝前建議先檢查源碼與許可證(MIT)。
2、自動歸檔默認關閉,啓用前先試運行預覽清單,確認影響範圍後再設置 N 與 M 的具體數值。
結尾¶
dsh-plugin-archive-manager 做的事不復雜:把歸檔會話的瀏覽、還原和自動歸檔放進 Web UI,並把安全邊界寫清楚。如果你在 dsh 裏積累了不少歸檔會話,值得一試。
- 目錄頁:https://www.skillhub.cn/plugins/qinyre/dsh-plugin-atlas
- GitHub:https://github.com/qinyre/dsh-plugin-atlas
社區目錄爲獨立站點,與 DeepSeek / 幻方無官方從屬關係。