前言¶
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