前言¶
在 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),便於後續擴展「重啓後回到原會話」等流程。
安全歸檔¶
- 從菜單、行尾按鈕或快捷鍵觸發歸檔時,先出現確認框;若開啓自動備份,文案會寫明備份目錄;若關閉自動備份,會以紅字提示本次不生成備份副本。
- 點「確認歸檔」後若 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 與日誌需自行刪除。
典型用法¶
- 重啓:會話空閒時雙擊側邊欄「重啓 DSH」;會話運行中請等待 Agent 結束或先停止任務。
- 歸檔:沿用 DSH 原有歸檔入口;按確認框操作;若會話仍在活動,等倒計時結束再點「停止並歸檔」。
- 改備份位置:右側欄「已歸檔會話」→ 展開「自動備份」→ 修改目錄或點「選擇…」→ 保存;隻影響之後的歸檔,已有備份不會移動。
- 健康檢查(可選):
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。