前言¶
DeepSeek Harness (DSH) Web GUI 的 Profile Bundle 插件。它通過側邊欄按鈕實現本地 DSH 倉庫的一鍵更新。對於需要頻繁迭代本地代碼的開發者,該插件省去了在終端手動執行 git 和 pnpm 命令的步驟,將完整的更新流程封裝在 Web 界面中。
安裝與啓用¶
該插件以 Profile Bundle 形態分發,通過一條命令即可完成安裝並自動激活。
dsh plugin --profile web add @zhucy123/dsh-update
安裝完成後,重啓 DSH Web 進程。側邊欄底部、設置按鈕上方會出現一個圓形的「⭯ 更新DSH」按鈕。
核心功能¶
- 版本對比:讀取本地 checkout 與遠程
dsh-v*tags 進行對比。 - 更新前確認:檢測到新版本時,不會自動執行,而是先展示本地/遠程版本與更新內容,確認無誤後再點擊開始。
- 一條龍更新:自動執行
git fetch --tags、git stash(暫存本地改動)、git checkout、pnpm install、pnpm run clean、pnpm run build。 - 構建前自動 clean:切換版本後自動清理舊產物,防止
MISSING_EXPORT錯誤。 - 構建後覈驗:只有
install和build都成功纔算完成。 - 更新內容展示:面板內展示該版本的 GitHub Releases 說明。
- 自動重啓:更新成功約 2 秒後自動重啓 dsh,或手動點擊「重啓DSH」。
- 版本回退:可在面板下拉選擇歷史
dsh-v*tag 進行回退。 - 本地改動安全:更新前自動執行
git stash push -u保護本地修改。 - 失敗自動回滾:已切到新版本後,若 install/build 失敗,自動回滾到原版本。
- 併發保護:同一時間只允許一個更新任務。
- 跨平臺:支持 Windows / Linux / macOS。
使用方法¶
- 啓動 dsh web,在側邊欄底部點擊「⭯ 更新DSH」圓形按鈕。
- 面板會自動檢查版本,顯示本地與遠程版本信息。
- 若有新版,預覽更新內容後,點擊「開始更新」。
- 等待進度條,構建階段頁面可能會突然變空白,這是正常現象(構建階段會替換網頁資源文件)。
- 更新完成後,約 2 秒後自動重啓,或手動點擊「重啓DSH」。
要求¶
- 本地需有
deepseek-harness的 git checkout 倉庫,且 origin 包含dsh-v*tags。 - 本機可訪問 GitHub(不可達時插件會嘗試走
gh-proxy.com鏡像)。 - Node.js ≥ 18,系統需安裝 git 和 pnpm(POSIX 系統若無 pnpm 會自動回退使用
corepack pnpm)。
注意事項¶
- 更新期間整個頁面可能突然變空白(構建階段會替換網頁資源文件),這屬於正常現象。
- 默認自動定位更新目錄(從進程 cwd 向上查找
.git),也可通過環境變量或插件 config 覆蓋。 - 插件以 Profile Bundle 形態分發,安裝後自動激活,無需手動編輯配置。