前言¶
DeepSeek Harness(DSH)採用「一切皆插件」的架構,社區能力通過插件擴展;目錄站點與 DeepSeek / 幻方無官方從屬關係,插件均爲社區發佈。若你是從源碼用 Web profile 跑 Harness,版本通常來自 GitHub 官方發佈與 npm 元數據,本地還可能改過工作區或依賴。手工拉 tag、換目錄、重裝依賴,一旦和正在跑的 Agent 會話疊在一起,容易留下半升級狀態或數據格式不一致。
下面介紹維護者 zudazhuang 發佈的更新類工作流插件。SkillHub 目錄頁登記爲 zudazhuang/dsh-upgrade(分類:工作流);當前源碼與安裝包在 GitHub 倉庫 zudazhuang/dsh-update-safe,npm 包名自 0.4.1 起爲 dsh-update-safe,用以區分 npm 上另一位作者的 dsh-upgrade。README 說明其爲「DeepSeek Harness 源碼安裝的官方版本檢查和安全更新插件」,面向 macOS / Linux 下的源碼 Web 安裝,不適用於 npm 全局安裝或 Electron 桌面包。
這是什麼¶
插件在 Harness 內提供:對照 GitHub 官方 Release 與 npm 發佈記錄的版本檢查、可配置的定時檢查、在獨立目錄中的隔離構建與試啓動,以及在監督進程下的切換與失敗恢復。適配 README 中寫明的 0.2.0-rc.2 與 0.2.1-alpha.1 的 ConfigForms 與插件詳情頁;文檔記載當前在 0.2.1-alpha.1 上做過驗證。社區插件,非 DeepSeek 官方產品。
核心功能¶
版本檢查與界面入口¶
安裝並重啓 Harness 後,側欄底部出現更新入口;插件詳情頁名稱爲 dsh-update-safe。可手動「檢查更新」;「啓動 Harness 時檢查更新」與「定時檢查官方版本」可分別開關。默認啓動檢查與每 30 分鐘週期檢查開啓;檢查間隔修改後實時生效,電腦睡眠恢復後會補做已到期檢查。網絡失敗時頁面顯示未驗證,等待下一週期,不持續重試。預發佈與穩定渠道分別比較,禁止降級。頁面展示最近檢查、下次檢查及下次安裝時段。
調度與自動安裝¶
自動安裝默認關閉。啓用後按本機時間每天在可配置時段內執行;默認安裝時段爲 03:00–04:00,可設置開始時間與 15–240 分鐘的時段長度。時段開始後覈對官方版本,僅當空閒時長達到設置、監督啓動有效且源碼無未處理衝突時才準備與安裝;整個時段仍 busy 則延至次日,不在指定時段外啓動自動安裝。未使用監督啓動時,自動安裝會暫停;頁面仍可保存自動安裝偏好。
準備、切換與恢復¶
準備階段從 deepseek-ai/deepseek-harness 按發佈標籤下載源碼(HTTPS 標籤歸檔,不依賴 git clone),校驗版本並與 npm 發佈信息交叉覈對;在獨立目錄安裝鎖定依賴並構建。在用戶數據副本中升級官方外部 DSH 依賴、試啓動整個 profile 並檢查運行版本;外部插件版本保持固定。切換前重新覈對 commit、部署文件與會話及任務;有運行中工作會阻止切換,維護期內新建 Agent 會被拒絕。
監督進程在切換時等待舊 Harness 完全退出,複製用戶數據目錄並替換 Web profile 依賴環境。啓動失敗時先保留升級後的用戶目錄副本,再恢復一致性快照並啓動原環境;失敗數據位於用戶目錄旁的 .dsh.failed-update-*。更新記錄、快照與日誌默認在 ~/.local/share/dsh-safe-release-update。若切換過程被中斷,需按 README 說明檢查 transaction.json、runtime.json 與進程組後再從已完成快照恢復;自動恢復此類中斷尚未開放。
監督啓動與 Mac 登錄自啓¶
完整切換能力依賴監督啓動。在 Harness 源碼目錄或顯式指定路徑時,可使用倉庫內的 start-harness.sh:
DSH_SOURCE=/path/to/deepseek-harness ./start-harness.sh
腳本通過 pnpm dsh web --no-open 啓動受監督的 Web profile。可用 DSH_SOURCE、DSH_HOME、DSH_SAFE_UPDATE_ROOT 指定源碼、用戶數據及更新目錄;更新目錄須在用戶數據目錄之外。Mac 上可用 install-login-start.py 配置用戶級 LaunchAgent 登錄自啓(需 Python 3),禁用時使用 --remove。
安裝與啓用¶
環境要求:Node.js ^22.19 或 >=24、pnpm、Git;Mac 登錄自啓還需 Python 3。在 Harness 源碼目錄從 npm 安裝固定版本:
pnpm dsh plugin --profile web add dsh-update-safe@0.4.1
也可使用 Release 附件固定 URL(profile 記錄 URL,換機或清理下載目錄後仍可重裝):
pnpm dsh plugin --profile web add https://github.com/zudazhuang/dsh-update-safe/releases/download/v0.4.1/dsh-update-safe-0.4.1.tgz
安裝後重啓 Harness。README 明確:不要用 dsh plugin add dsh-upgrade 安裝本插件,npm 上的 dsh-upgrade 屬於另一位作者。從舊包名遷移時,先 pnpm dsh plugin --profile web remove <舊包名>(如早期的 dsh-upgrade 或 0.4.0 的 dsh-update-plugin),再安裝 dsh-update-safe@0.4.1;內部配置 id safe-release-update 與數據目錄路徑不變,但不要同時啓用兩個 bundle。遷移前需停止監督啓動。
典型用法¶
- 在源碼樹中按上文命令安裝
dsh-update-safe@0.4.1,重啓後用側欄底部入口或插件頁查看版本與檢查狀態。 - 在插件設置中按需關閉或調整定時檢查、安裝時段、空閒時長與渠道;需要自動安裝時,先用
DSH_SOURCE=... ./start-harness.sh以監督方式啓動,再打開自動安裝相關選項。 - 發現新版本後,在頁面執行檢查與「準備更新」;確認無活動任務且時段與空閒條件滿足後執行切換。若準備或切換失敗,使用「重新準備更新」或按 README 從快照恢復,並查看
~/.local/share/dsh-safe-release-update中的日誌(日誌含本地認證信息,勿外傳)。
本地工作文件、package.json / pnpm-workspace.yaml / .npmrc 等調整會參與三方遷移;存在無法自動合併的衝突時更新會停止,原環境繼續運行,需人工處理後再試。
適用場景與注意¶
適合在本機 macOS / Linux 上長期用源碼 Web profile 開發或運行 Harness、希望對照官方 Release / npm 做版本覈對,並希望在隔離構建與監督切換下降低「半升級」風險的開發者。
安裝前請自行閱讀插件與 Harness 源碼及 MIT 許可證;插件以當前 dsh 進程權限運行,會讀寫用戶數據目錄與更新存儲目錄。本插件覈對 npm 完整性元數據與 GitHub HTTPS 歸檔,README 寫明沒有額外的發佈簽名驗證;前端與其它第三方插件的業務行爲仍需更新後在瀏覽器中自行驗證。官方發佈與 npm 元數據不一致時不會更新。同一目標版本自動更新失敗後,同一版本不再自動重試,可手動重新準備。
鏈接¶
- SkillHub 目錄:https://www.skillhub.cn/plugins/zudazhuang/dsh-upgrade
- GitHub 倉庫與 README:https://github.com/zudazhuang/dsh-update-safe
- 當前文檔版本:
dsh-update-safe0.4.1(package.json)