dsh-easy2restart:側邊欄雙擊重啓 DSH,歸檔前確認與自動備份

前言

在 DeepSeek Harness(DSH)裏做 Agent 開發,經常會遇到兩類操作:進程卡死或配置改完需要整進程重啓,以及歸檔會話時誤點、會話仍在跑就被關掉。DSH 自帶歸檔入口,但缺少「一鍵整進程重啓」和「歸檔前統一確認 + 活動會話保護」的組合能力。社區維護者 SMPcosy 發佈的客戶端插件 dsh-easy2restart(npm 包名,倉庫 SMPcosy/dsh-easy2restart)把原先兩個舊包 dsh-plugin-easy2restart 與 dsh-plugin-safe-archive 合併爲單一插件,當前版本 0.2.3,MIT 許可證。下面介紹它做什麼、如何安裝,以及使用時需要注意的環境限制。

這是什麼

dsh-easy2restart 是 DSH 桌面端的客戶端插件:在側邊欄底部注入「重啓 DSH」按鈕(雙擊觸發整進程重啓);攔截各歸檔入口,先彈確認框,會話仍活動時展示活動清單並強制 10 秒倒計時後才能「停止並歸檔」;歸檔成功後按配置自動把會話文件、附件、標題緩存與元數據複製到備份目錄,並在右側欄提供「已歸檔會話」文件樹瀏覽(根目錄爲 DSH 歸檔會話目錄,不指向備份副本)。

插件以當前 DSH 進程權限運行,安裝前建議在 GitHub 倉庫覈對源碼與許可證;社區目錄頁見 skillhub.cn 條目(獨立站點,與 DeepSeek / 幻方無官方從屬關係)。

核心功能

重啓 DSH

  • 按鈕位置:sidebar.footer.action(賬號頭像、設置上方),圖標爲手繪缺口環 + 箭頭。
  • 雙擊後,宿主通過 Windows 計劃任務拉起脫離 DSH 進程樹的 PowerShell 腳本,對整棵 DSH 進程樹執行 taskkill /T,再重新啓動 DeepSeek Harness.exe。
  • 當任意 Agent 會話狀態爲 running 時按鈕置灰,懸停說明原因;宿主會保存「重啓待辦」(pending.json),便於後續擴展「重啓後回到原會話」等流程。

安全歸檔

  1. 從菜單、行尾按鈕或快捷鍵觸發歸檔時,先出現確認框;若開啓自動備份,文案會寫明備份目錄;若關閉自動備份,會以紅字提示本次不生成備份副本。
  2. 點「確認歸檔」後若 Host 因 workspace/session-active 拒絕,對話框切換爲「會話正在活動」,列出進行中回合、子代理、後臺任務、定時任務等;「停止並歸檔」需 10 秒倒計時 結束後纔可點擊。

歸檔即備份

  • 宿主包裝 workspaceRegistry.archiveSession:歸檔成功約 3 秒後,將會話相關文件複製到
    <備份根目錄>\<會話名>-<歸檔日期-時間>\。
  • 去重與狀態記錄在 <備份根目錄>\_auto-backup-state.json;插件啓動 5 秒後補掃「已歸檔但未備份」的會話,也可通過 POST /api/dsh-easy2restart/scan 手動補掃。
  • 每次備份追加到 歸檔清單.md 與 _auto-backup-manifest.json;進度可查看 ~/.dsh/archive-backup/auto-backup.log。
  • 備份根目錄可在右側欄修改,自動備份可整體關閉;關閉後歸檔仍進行,只是不復制副本。

右側欄「已歸檔會話」

  • 在 DSH 右側欄引導頁新增條目,以 <DSH_HOME>/sessions 爲根做只讀文件樹(含歸檔清單與會話存儲目錄兩棵樹),點擊文件可在資源管理器中定位;頂部有「自動備份」設置卡片與備份狀態展示。

配置優先級

環境變量 > ~/.dsh/storages/dsh-easy2restart/config.json > 內置默認。

名稱 作用
DSH_EASY2RESTART_BACKUP 設爲 off / 0 / false 等可關閉自動備份
DSH_EASY2RESTART_BACKUP_DIR 絕對路徑,覆蓋界面中的備份目錄
config.json 示例 {"backup":{"enabled":true,"dir":"D:\\DSH備份"}}
內置默認目錄 F:\AI\會話歸檔備份\DSH(未配置時)

環境變量存在時,界面上的開關與路徑框變爲只讀並提示,避免誤以爲改界面即可覆蓋 env。

保存備份目錄前會探測:目錄不存在則嘗試創建並寫探針文件;不可寫則紅字提示且不落盤。

安裝與啓用

前提:dsh 命令已在 PATH 中(DeepSeek Harness 自帶),且爲 DeepSeek Harness 桌面版 0.2.0-rc 以上、Node.js ≥ 22、Windows(重啓與文件夾選擇依賴計劃任務、PowerShell 與 Windows 路徑守衛)。

在 DSH「插件 / 查檢中心」搜索 dsh-easy2restart,或執行:

dsh plugin --profile desktop add dsh-easy2restart@0.2.3

README 建議釘死版本號:pnpm 的 minimumReleaseAge(默認 24 小時)可能導致只寫包名時裝到上一版。裝完後用 dsh plugin --profile desktop list 覈對,並重啓 DeepSeek Harness(插件不支持熱加載)。成功後側邊欄底部可見重啓按鈕,右側欄引導頁出現「已歸檔會話」。

從舊包遷移:先移除 dsh-plugin-easy2restart(若曾本地裝過未發佈 npm 的 dsh-plugin-safe-archive 也一併 remove),再安裝本包;狀態文件、備份目錄與配置兼容,無需遷移數據。

卸載:

dsh plugin --profile desktop remove dsh-easy2restart

重啓 DSH 後生效;磁盤上的備份、config.json 與日誌需自行刪除。

典型用法

  1. 重啓:會話空閒時雙擊側邊欄「重啓 DSH」;會話運行中請等待 Agent 結束或先停止任務。
  2. 歸檔:沿用 DSH 原有歸檔入口;按確認框操作;若會話仍在活動,等倒計時結束再點「停止並歸檔」。
  3. 改備份位置:右側欄「已歸檔會話」→ 展開「自動備份」→ 修改目錄或點「選擇…」→ 保存;隻影響之後的歸檔,已有備份不會移動。
  4. 健康檢查(可選):GET /api/dsh-easy2restart/health 可確認宿主是否已加載本插件。

離線自檢(不啓動 DSH、不觸發重啓、不動真實備份):

node test/plugin.selftest.mjs

(需在插件包目錄內執行,一般用於開發或裝包後驗貨。)

適用場景與注意

適合:經常在 Windows 桌面版 DSH 上開發 Agent、需要快速整進程重啓而不手動找 exe;希望歸檔前統一確認、避免誤歸檔仍在跑的會話;希望歸檔後自動留一份可配置的本地備份,並在 UI 裏瀏覽已歸檔會話目錄。

務必知曉:

  • 重啓能力僅 Windows;Linux/macOS 用戶若安裝包,歸檔與備份相關能力仍可能部分可用,但 README 明確重啓依賴 Windows。
  • 插件與 DSH 同權限運行;第三方插件應自行審閱 GitHub 源碼 後再安裝。
  • README 單獨說明了一項與插件無關的 DSH 啓動問題:頻繁重啓會導致 127.0.0.1 上 dsh-auth-* cookie 累積,約 71 條後請求頭超限、桌面握手失敗。處理方式是清理 %APPDATA%\@deepseek-ai\dsh-desktop\Network\Cookies 中相關條目,或安裝 dsh-cookie-guard 做長期清理;點 DSH 彈窗裏的「Disable third-party plugins…」不能解決 cookie 問題。若你 heavily 使用本插件的重啓功能,應瞭解該宿主側限制。

結尾

dsh-easy2restart 把「雙擊重啓整進程」「歸檔確認 + 活動會話倒計時」「歸檔後可選自動備份」和「已歸檔會話」側欄收進一個客戶端插件,適合在 Windows 桌面 DSH 上日常歸檔與會話運維。目錄與詳情:skillhub.cn/plugins/SMPcosy/dsh-easy2restart;源碼與完整 API 表:github.com/SMPcosy/dsh-easy2restart。

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

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

小夜