dsh-install-review:DSH 插件裝前審查

前言

DeepSeek Harness(DSH)採用「一切皆插件」的架構:模型調用、界面、工具鏈往往都通過 Cordis 插件掛進 profile。社區目錄(如 skillhub.cn)方便發現插件,但收錄不等於能力掃描或安全背書;生態裏常見的路徑是「先安裝、出問題再整 profile 回滾」。對經常換插件、改 patch 的開發者來說,缺的是裝前可讀的檢查報告、可逐項批准的變更方案,以及備份與裝後覈驗。

下面介紹維護者 GIN0076 的工作流插件 dsh-install-review(Pre-install Review · 插件裝前審查):在點擊安裝之前,對目標包做只讀審查,由你批准改動計劃、自動備份後再安裝並覈驗。

這是什麼

dsh-install-review 的定位是:DSH 插件安裝前的審查閘門——審計、批准變更方案、備份,再執行安裝。

  • 維護者:GIN0076
  • 分類:工作流
  • 許可證:MIT(package.json 與 README 一致)
  • 當前包版本:1.3.0(@local/dsh-install-review)
  • 適配:DeepSeek Harness 0.2.0-rc.2(README 標註的實測版本)
  • 運行時依賴:0;不改宿主源碼(README 徽章:host source changes 0)

插件本身通過 dsh.bundle(patch)、dsh.client(web 界面)接入;它不修改第三方插件源碼,只動來源、版本、構建批准、profile 配置四類屬於你自己的配置。

核心功能

13~14 項只讀檢查

輸入包標識後,面板在數秒內生成審查報告。檢查項全部只讀,主要包括:

方向 內容
本機 DSH 版本與 profile(路徑自動打碼,便於分享截圖)
官方 inspect pluginManager.inspect 下的 dsh.bundle / dsh.client / dsh.tool / dsh.page / dsh.configForm
兼容與清單 peer 解析(含 includePrerelease);名錄、倉庫、星標、30 天下載量(不把倉庫星標冒充包星標)
安裝與衝突 已裝/未裝;loader id 是否與現有行撞車(重複 id 可能導致宿主啓動崩潰)
patch 與槽口 override 行目標是否存在、是否被其他插件雙重改寫;槽口與本機目錄對照(打包桌面版讀 app.asar 內編譯目錄,跑不起來則警告而非默許放行)
風險信號 安裝期腳本(prepare / postinstall 等);終端類描述;engines.dsh 與 dsh.engines.dsh 兩種寫法;描述中改宿主核心的措辭;清單上的 10 類能力與紅線句(中譯,未標註則如實寫「上游未標註能力」)

README 強調:清單未標註能力不等於安全;出現 阻斷(block) 時,默認正確動作是不要繼續安裝。

閉環:審查 → 方案 → 批准 → 改 → 裝 → 覈驗

  1. 審查:輸入 npm 包名、owner/repo、github:owner/repo 或 GitHub 鏈接,生成報告。
  2. 方案:僅列出可執行改動,勾選才會執行;標題旁有「全選 / 全不選」。典型項包括:固定或更新版本、在 peer 不兼容且你確認風險後授予這一對版本的豁免、換下載源、啓用包聲明但未啓用的 loader 行、批准 pnpm 攔截的構建腳本、經 configEditor 寫 profile 配置(模板由包 patch 默認值與現有配置合併預填)、git 來源切換爲 npm 固定包等。
  3. 你的建議:在「你的建議」中寫修改意圖 →「複製報告給我複覈」→ 將會話返回的修訂 JSON 粘貼到「導入修訂」(目標不匹配會拒收;導入不能代替你勾選「接受風險」)。
  4. 執行:先備份 package.json、cordis.patch.yml、pnpm-workspace.yaml、cordis.yml(有豁免記錄時含 compatibility.json),再應用批准項並安裝。
  5. 覈驗:除安裝狀態與 loader id 外,還檢查 patch 行是否激活、bundle 是否選中、瀏覽器半是否進入客戶端模塊圖,並給出可讀結論(例如需重啓 dsh)。

內置中文清單快照(README 稱 4377 條)支持服務端搜索、分類與排序,便於從目錄挑包再審查。

紅燈後的處理(有處方 vs 硬阻斷)

  • peer 不兼容:面板可引導通過官方通道爲「包@版本 + 當前 DSH 版本」授予精確版本豁免,需本人勾選風險確認;豁免可撤銷,換版本或升級 DSH 後失效。
  • engines.dsh 不符:仍爲阻斷,但報告說明宿主安裝路徑主要覈對 peerDependencies,並提供「確認仍安裝」或改用滿足範圍的版本等選項。
  • 硬阻斷:讀不到 manifest、缺少 dsh.bundle、loader id 撞車等,報告會明確建議不要安裝。

邊界說明

這是裝前體檢,回答「能不能裝、會碰什麼配置與能力面」,不能替代對來源與源碼的人工判斷。插件以當前 dsh 進程權限運行;安裝任何插件前仍應自行查看倉庫、許可證與維護者信息。

安裝與啓用

Web profile 下,README 給出的安裝命令爲:

dsh plugin --profile web add github:GIN0076/dsh-install-review

說明:

  • 要求 DeepSeek Harness 0.2.0-rc.2 與 web profile 或桌面版。
  • 零運行時依賴、無構建步驟、無 postinstall。
  • 僅執行 add 會把倉庫放進 node_modules,不會自動掛載界面;還需把 @local/dsh-install-review 加入 profile 的 dsh.profile.bundles,並在 cordis.patch.yml 加入對應 insert 行。
  • 完成後重啓 dsh web,再硬刷新(Ctrl+Shift+R)→ 設置 → 插件裝前審查。

桌面版(打包 App):設置 → 插件 → 添加插件,填本地目錄路徑(或通過插件管理工具的 install_bundle 指向目錄)。正式打包版無瀏覽器式硬刷新;客戶端半改動常可熱更新,Host 半可按 README 的 remove_bundle + install_bundle 換代流程重載。不想走 git 時,可將倉庫拷到本地後用 install_bundle 並做同樣的 profile 兩處配置。

卸載:設置 → 插件 → 移除,或 remove_bundle。卸載不刪除執行前備份;默認目錄爲 profile 下的 install-review-backup(可在行 config 的 backupDir 調整)。

典型用法

  1. 打開 插件裝前審查 面板。
  2. 在審查框輸入目標,例如某 npm 包名、GIN0076/某倉庫 或 github:GIN0076/dsh-install-review。
  3. 閱讀報告中的阻斷、警告與能力/紅線翻譯;必要時在清單頁搜索同一插件的收錄信息。
  4. 在變更方案中只勾選你接受的項;若 peer 紅燈且你仍要安裝,先勾選「我已閱讀並接受風險」再啓用豁免類項。
  5. 執行安裝,查看裝後覈驗結論;若 pnpm 攔截構建腳本,使用面板內「批准 <包名> 的構建腳本並重試」。
  6. 若希望 AI 幫你改勾選與參數:填寫「你的建議」→ 複製報告到會話 → 導入返回的修訂 JSON。

適用場景與注意

適合:需要從社區目錄或 GitHub 頻繁試裝插件、希望統一做 peer/loader/patch 檢查;希望在改 profile 前有備份與可審批的變更清單;希望在裝後確認 bundle 與 patch 行真的生效。

注意:

  • 社區目錄(如 skillhub.cn 插件頁)與 DeepSeek / 幻方無官方從屬關係,星標與下載量爲快照數據,以頁面與審查報告抓取時爲準。
  • 全綠不保證無害;自動化檢查不能替代你對插件來源的信任判斷。
  • 安裝與啓用步驟涉及 profile 與 patch 編輯,操作前確認當前 profile 已納入版本管理或另有備份習慣。

鏈接

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

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

小夜