dsh-updater:DeepSeek Harness (DSH) 增量更新與回滾插件

前言

DeepSeek Harness (DSH) 是一個智能體開發工作流工具。傳統更新方式通常涉及全量 npm install,這會重建整個包倉庫,容易在內存受限環境(如 Docker)中觸發 OOM。dsh-updater 旨在解決這一更新效率與穩定性問題。

什麼是 dsh-updater

dsh-updater 是一個社區插件,由 Takinggg 維護,採用 MIT 協議。它不 fork DSH 或執行 git pull,而是通過增量下載 npm tarballs 來更新。

核心功能

該插件提供以下能力:
1. 一鍵更新:在 DSH 界面中直接觸發更新。
2. 增量更新:複用現有引擎(node_modules),僅下載發生變化的 @deepseek-ai/* 包。
3. 保留第三方依賴:當版本匹配時,保留第三方依賴(如 commander、koffi)。
4. 備份與回滾:更新前自動備份引擎,並在更新失敗時自動回滾。

安裝與啓用

安裝該插件需要先克隆倉庫,然後使用絕對路徑添加。不要使用 github:owner/repo 這種非固定引用方式。

  1. 克隆插件倉庫:
    git clone https://github.com/Takinggg/dsh-updater.git
  1. 添加插件到 DSH(使用絕對路徑):
    dsh plugin --profile web add /absolute/path/to/dsh-updater
  1. 啓用後,在 DSH 界面中打開 Settings → Updates 面板即可進行操作。

典型用法

在 DSH 的設置面板中,可以查看更新進度和結果。插件支持通過環境變量控制部分行爲:
* DSH_UPDATE_MODE:覆蓋顯示設置。
* DSH_UPDATE_RESTART:控制進程退出行爲(強制重啓或保持運行)。
* DSH_HOME:設置備份、緩存和暫存目錄的根路徑(默認爲 ~/.dsh)。

適用場景與注意事項

  • 適用場景:需要在 Docker 容器、nvm 全局安裝、Windows %APPDATA%\npm 或其他可寫位置運行 DSH 的環境。
  • 安全與限制:
    • 這是一個社區插件,非 DeepSeek 官方軟件。
    • 插件不會運行 sudo 或 curl | bash。
    • 目標版本必須是 npm registry 中發佈的 next 或 latest dist-tag。
    • 插件會校驗 tarball 路徑防止目錄遍歷攻擊。
    • 如果驗證失敗,會自動從 engine-bak 恢復。

總結

dsh-updater 通過增量更新和自動回滾機制,解決了 DSH 在特定環境下全量安裝導致內存溢出的問題。對於需要頻繁更新或部署在資源受限環境的用戶,該插件提供了一個可行的維護方案。

插件目錄頁
GitHub 倉庫

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

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

小夜