DSH STORE:DeepSeek Harness 插件商城與安全生命週期管理器

前言

在 DSH 的插件化用法裏,單個 Profile 可以掛載多個能力,但第三方插件的來源、更新和回滾仍然需要明確控制。DSH STORE 是運行在 DeepSeek Harness(DSH)設置頁中的第三方插件商城與安全生命週期管理器,由 AI-Scarlett 維護。它不開發獨立桌面端,不修改 DSH 源碼,也不替換 @deepseek-ai/* 官方包。

這是什麼

DSH STORE 的包名/Bundle 名稱是 dsh-safe-plugin-manager。它把插件發現、固定來源安裝和生命週期管理放在 DSH 設置頁內完成,而不是把安裝動作拆到獨立桌面端或手工腳本里。

已覈實能力包括:

  • 從 GitHub 在線目錄讀取插件;網絡失敗時回退到隨包發佈的已知快照。
  • 候選發現庫與可信安裝庫物理隔離;候選條目必須經過固定 Commit 審覈後晉級。
  • 支持按名稱、包名、分類或 GitHub 倉庫搜索。
  • 支持 22 個分類篩選、推薦置頂和“只看推薦”篩選。
  • 目錄安裝目標固定到 40 位 Git Commit,不接受 npm-only、任意下載地址或浮動分支。

核心功能

固定來源安裝

DSH STORE 不要求用戶信任一個浮動分支或任意下載地址。目錄中的安裝目標固定到 40 位 Git Commit,安裝命令直接指向該 Commit。這樣安裝入口和來源版本是同一個對象,避免分支繼續變化後安裝結果漂移。

生命週期保護

從商城發起的安裝、更新、遷移、停用、啓用和卸載,會進入一次性計劃、精確確認、Profile 前置哈希、備份、健康檢查和失敗回滾流程。這個流程的目標不是“能裝上”,而是把每個包操作變成可確認、可回滾的動作。

Guardian 重啓驗收

DSH STORE 提供獨立 macOS launchd Guardian,用於心跳、Boot ID、重啓和運行驗收。包操作完成後,商城會標記“待重啓”;只有 Guardian 心跳正常時,才生成一次性的 RESTART DSH <profile> 計劃。

舊版更新修復

已覈實資料提到舊版更新安全修復入口會使用官方 DSH CLI 與 --ignore-scripts,必要時僅 --allow-build。這比放開整個 Profile 的腳本權限更保守,也更接近“只修必要項”的做法。

Catalog 分層與兼容

Catalog 分層兼容包括:2 MiB 兼容橋/主索引,512 KiB 單詳情上限,失敗關閉。目錄讀取失敗或完整性不一致時,不會繼續混用不可信數據。

安裝前準備

首次安裝發生在管理器尚未運行時,因此還沒有計劃確認、自動備份、健康檢查和失敗回滾保護。運行安裝命令前,需要先手動備份目標 Profile 的以下文件(文件存在時):

package.json
pnpm-lock.yaml
pnpm-workspace.yaml
cordis.patch.yml

下面以 web Profile 爲例。如果目標 Profile 名稱不同,請在命令中替換 web。

安裝命令

使用固定 GitHub Commit 安裝:

dsh plugin --profile web add 'git+https://github.com/AI-Scarlett/DSH-Store.git#0bc733064bfc8ff16f6e8144188a7ac563092e12'

不要把 Commit 換成 main 等浮動分支,也不要繞過 DSH CLI 直接運行 pnpm 或手工編輯 Profile。命令失敗時,保留完整錯誤和安裝前備份,不要連續重複執行。

啓用與驗收

經過上面的步驟後,建議按下面順序驗收:

  1. 運行以下命令,確認配置可以成功合成:
   dsh --profile web --dump-config
  1. 在商城中用獨立計劃安裝隨包提供的 DSH Guardian。Guardian 是獨立 macOS launchd Guardian,用於心跳、Boot ID、重啓和運行驗收。
  2. 包操作完成後,等待商城標記“待重啓”。只有 Guardian 心跳正常時,才生成一次性的 RESTART DSH <profile> 計劃。
  3. 啓用 Guardian 後,不要手工運行 pnpm dsh web 或 dsh web,否則第二個實例可能以 EADDRINUSE 退出。
  4. 如果異常,在 GitHub Issues 提交原始錯誤;不要提交憑據、完整 Profile 文件或環境變量。

典型用法

搜索與篩選

在商城中可以用名稱、包名、分類或 GitHub 倉庫搜索。分類篩選、推薦置頂和“只看推薦”適合先縮小候選範圍,再查看具體插件的來源和狀態。

固定 Commit 安裝

安裝時使用目錄固定的 40 位 Git Commit。已覈實示例爲:

dsh plugin --profile web add 'git+https://github.com/AI-Scarlett/DSH-Store.git#0bc733064bfc8ff16f6e8144188a7ac563092e12'

包操作與回滾

安裝、更新、遷移、停用、啓用和卸載都從商城發起。操作會進入一次性計劃、精確確認、Profile 前置哈希、備份、健康檢查和失敗回滾流程。真實生產 Profile 的完整“安裝—重啓—停用—啓用—更新—卸載—回滾”閉環仍是獨立驗收項,不能由測試結果替代。

適用場景與注意

適合以下使用方式:

  • 需要把第三方 DSH 插件集中在一個設置頁入口內管理。
  • 希望插件來源固定到明確 Commit,而不是浮動分支。
  • 希望安裝、更新、停用、啓用和卸載有確認、備份、健康檢查和失敗回滾。
  • 希望在重啓後由 Guardian 做心跳、Boot ID 和運行驗收。

需要注意:

  • DSH STORE 是第三方插件商城,不是 DSH 官方應用商店。
  • 第三方插件會隨當前 DSH 進程/Profile 的可用權限運行;使用前應檢查源碼、許可證和實際運行權限。
  • 已覈實資料未提供許可證;星標數也未確認。
  • 首次安裝前必須手動備份目標 Profile 文件,因爲此時管理器保護尚未生效。
  • 不要把 Commit 換成浮動分支,也不要繞過 DSH CLI 直接操作 Profile。
  • 命令失敗時不要連續重複執行,先保留完整錯誤和安裝前備份。

鏈接

  • GitHub 倉庫:https://github.com/AI-Scarlett/DSH-Store
  • 目錄頁:已覈實資料未提供固定 URL;目錄來源以 GitHub 倉庫和不可變 Commit 爲準。
羽毛球分组比赛记分
小程序二维码

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

小夜