dsh-dep-audit:DeepSeek Harness 依賴供應鏈衛生審計

前言

DeepSeek Harness (DSH) 採用“一切皆插件”的架構。隨着插件生態的擴張,依賴項的衛生狀況直接關係到插件的穩定性和安全性。Peer 依賴範圍無法解析、dist-tag 指向錯誤版本、許可證缺失或版本悄悄漂移,都可能導致運行時異常或供應鏈風險。dsh-dep-audit 旨在回答一個問題:“這個插件/Profile 的依賴圖能信嗎?”它提供了一套可落地的檢查清單。

插件定位

  • 名稱:dsh-dep-audit
  • 維護者:zoahdev
  • 類別:admin-security
  • 定位:依賴供應鏈衛生審計。檢查清單有效性、Peer 範圍可解析性、壞 dist-tag 檢測、過期/缺失許可證/非註冊表依賴、以及已安裝與聲明的版本漂移。

核心能力

該插件對依賴項執行以下驗證:

  1. 清單驗證:檢查 package.json 是否存在、可解析,並包含正確的 name 和 version。
  2. Peer 依賴可解析性:驗證每個 peerDependencies 範圍在註冊表上至少有一個已發佈的版本。
  3. 壞 dist-tag 檢測:檢測 dist-tags.latest 是否與聲明範圍矛盾(例如 ERESOLVE 錯誤類問題)。
  4. 依賴源驗證:確保依賴使用註冊表來源,而非 git:、file:、link: 或 workspace:。
  5. 許可證檢測:檢查註冊表依賴的最新元數據是否聲明瞭許可證。
  6. 新鮮度檢查:驗證註冊表依賴是否在 365 天內有新發布(默認閾值,可配置)。
  7. 版本漂移檢測:對比 node_modules 中的實際安裝版本與 package.json 聲明的範圍。
  8. 過時版本檢查:檢查已安裝版本是否落後於註冊表的 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
羽毛球分组比赛记分
小程序二维码

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

小夜