前言¶
DeepSeek Harness (DSH) 採用“一切皆插件”的架構。隨着插件生態的擴張,依賴項的衛生狀況直接關係到插件的穩定性和安全性。Peer 依賴範圍無法解析、dist-tag 指向錯誤版本、許可證缺失或版本悄悄漂移,都可能導致運行時異常或供應鏈風險。dsh-dep-audit 旨在回答一個問題:“這個插件/Profile 的依賴圖能信嗎?”它提供了一套可落地的檢查清單。
插件定位¶
- 名稱:dsh-dep-audit
- 維護者:zoahdev
- 類別:admin-security
- 定位:依賴供應鏈衛生審計。檢查清單有效性、Peer 範圍可解析性、壞 dist-tag 檢測、過期/缺失許可證/非註冊表依賴、以及已安裝與聲明的版本漂移。
核心能力¶
該插件對依賴項執行以下驗證:
- 清單驗證:檢查
package.json是否存在、可解析,並包含正確的name和version。 - Peer 依賴可解析性:驗證每個
peerDependencies範圍在註冊表上至少有一個已發佈的版本。 - 壞 dist-tag 檢測:檢測
dist-tags.latest是否與聲明範圍矛盾(例如 ERESOLVE 錯誤類問題)。 - 依賴源驗證:確保依賴使用註冊表來源,而非
git:、file:、link:或workspace:。 - 許可證檢測:檢查註冊表依賴的最新元數據是否聲明瞭許可證。
- 新鮮度檢查:驗證註冊表依賴是否在 365 天內有新發布(默認閾值,可配置)。
- 版本漂移檢測:對比
node_modules中的實際安裝版本與package.json聲明的範圍。 - 過時版本檢查:檢查已安裝版本是否落後於註冊表的
latest。
安裝與啓用¶
安裝插件到 DeepSeek Harness 環境中:
dsh plugin add dsh-dep-audit
也可以在不安裝的情況下直接運行:
npx dsh-dep-audit .
該插件返回 dsh-dep-audit/v1 schema 的機器可讀報告。
使用方法¶
命令行使用¶
基礎用法:
npx dsh-dep-audit .
指定目錄審計:
npx dsh-dep-audit ~/.dsh/profiles/web --offline
輸出 JSON 格式報告:
npx dsh-dep-audit . --json
常用參數:
* --json:打印機器可讀報告。
* --offline:跳過註冊表網絡請求。
* --all:把 devDependencies 也納入審計。
* --registry <url>:npm 註冊表地址。
* --stale-days <n>:超過 n 天未發佈即告警(默認 365)。
在 Harness 內使用¶
安裝後,可在 Agent 交互中調用 dep_audit 工具。
對話示例:
審計一下當前插件的依賴健康:
dep_audit,目錄指向項目根目錄。
Agent 將執行審計並返回結構化報告。
報告結構¶
每個檢查項返回包含以下字段的 JSON 對象:
* id:檢查項 ID(如 manifest, peer-resolvable)。
* status:狀態(ok, fail, warn)。
* title:標題。
* detail:詳細描述。
* items:問題列表,包含 name, issue, level。
生態與注意¶
- 環境要求:需要 Node.js >= 18。
- 許可證:MIT。
- 生態互補:該插件與
dsh-poison-guard(惡意代碼掃描)和dsh-plugin-doctor(發佈就緒檢查)共同構成完整的插件安全與維護工具鏈。 - 退出碼:0 全部通過,1 存在 fail 項,2 用法/IO 錯誤。
鏈接¶
- 目錄頁:https://www.skillhub.cn/plugins/zoahdev/dsh-dep-audit
- GitHub 倉庫:https://github.com/zoahdev/dsh-dep-audit