dsh-plugin-archive-manager:給 dsh Web UI 補上會話歸檔管理

前言

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 / 幻方無官方從屬關係。

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

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

小夜