前言¶
DeepSeek Harness (DSH) 的升級涉及原生模塊(koffi)的替換,若在進程運行中直接執行安裝,會導致模塊斷鏈,引發啓動崩潰。dsh-check-for-updates 是一個用於解決此問題的插件(MIT 許可證,由 ShanHaiFish 維護)。它會在首次打開頁面時自動檢查新版本,並在發現更新時通過彈窗提供一鍵升級入口。
核心功能¶
該插件通過以下機制保證更新過程的穩定與安全:
- 自動檢查與彈窗提示:首次打開 Web 頁面時自動觸發一次更新檢查。發現新版本時,在左下部“設置”按鈕上方彈窗提示,並提供【更新到 {版本}】按鈕。
- 分離式兩階段更新:點擊更新只“安排任務”,退出 DSH 後由獨立進程完成安裝。這從根本上避免了 Windows 運行中升級導致 koffi 斷鏈、dsh 無法啓動的問題。
- 安裝後三重校驗:獨立更新器在安裝完成後執行 npm 退出碼、對盤版本、koffi 原生模塊一致性三項校驗。
- koffi 斷鏈自愈:若校驗發現斷鏈,自動從 registry tarball 恢復,修復失敗會在下次啓動時告知。
- 啓動自檢:每次檢查更新時校驗 koffi 完整性,發現損壞彈警告卡,提供【安排修復】按鈕。
- 調試工具:添加“測試網絡”按鈕用於調試網絡連接。
安裝與啓用¶
使用 DSH 官方 CLI 安裝插件:
dsh plugin --profile web add dsh-check-for-updates
插件安裝後無需手動啓用,Web 頁面加載即生效。
使用方式¶
- 自動檢查:首次打開 Web 頁面時自動檢查一次。
- 手動檢查:進入“設置 > 通用 > DSH 更新”入口,可手動點擊“檢查更新”或“測試網絡”。
- 執行更新:在彈窗或設置頁面點擊“更新到 {版本}”,該操作僅安排任務,退出 DSH 後由後臺進程完成安裝。
技術細節與注意事項¶
- 無硬編碼路徑:插件在運行時探測 DSH 安裝根、版本及 node/npm-cli,不依賴固定路徑。
- Mac/Linux 路徑限制:若路徑含空格或非 ASCII 字符,建議先複製到無空格的路徑再使用
file:安裝。 - 版本選擇:插件從 npm registry 取實際最高版本(不侷限於 latest 標籤)。
總結¶
該插件通過分離式更新流程和三重校驗機制,解決了 DSH 升級時的原生模塊斷鏈問題,提升了系統的穩定性與安全性。