dsh-plugin-update-audit:Profile 插件依赖的只读更新审计

前言

DeepSeek Harness(DSH)Profile 里往往会挂一批插件依赖:有的来自 npm,有的指向 GitHub 仓库,还有本地 tarball 或目录。日常开发里,你更关心「当前装的是什么、上游有没有变」,而不是一上来就批量升级。手工对照 Registry、git rev-parse 和本地路径,既慢又容易漏项。

下面介绍社区插件 dsh-plugin-update-audit(维护者 Muggle8888,分类 admin-security)。它在不安装、不更新、不删除任何插件的前提下,对指定 Profile 的直接依赖做清单与比对,把结果交给智能体或运维人员做后续决策。

这是什么

dsh-plugin-update-audit 的定位是:对 DeepSeek Harness Profile 中直接插件依赖做只读更新审计(Read-only update auditing for DeepSeek Harness profile plugins)。

插件向 Cordis 注册一个工具:plugin_update_audit。它会盘点所选 Profile,并按各依赖声明的来源分别检查:

  • npm:与官方 npm Registry 上该包的 latest manifest 对比;
  • GitHub:通过 GitHub API 与仓库当前 HEAD 对比(若已 pin 不可变 commit,则看是否与 HEAD 不一致);
  • 本地 tarball / 目录:标记为需人工复核,对可读文件给出 SHA-256;
  • 不支持、缺失或不可达的来源:按插件单独上报,不会因此中断整次审计。

工具不会安装、更新、移除或改写插件。默认联网范围限于 registry.npmjs.org 与 api.github.com;设置 offline: true 时仅做本地清单。本地依赖路径在工具输出中会被脱敏。

项目采用 MIT 许可证,当前 npm 版本为 0.1.0(以 README 与 package 元数据为准)。目录页:SkillHub 插件页;源码与说明:GitHub — Muggle8888/dsh-plugin-update-audit。

核心功能

单一审计工具

整个插件能力集中在一个工具名上:plugin_update_audit。调用后返回各直接依赖的状态与说明,供你决定是否要读 release notes、做快照、逐条升级。

按来源的检查逻辑

  1. npm 依赖:查询 Registry,判断是否存在更新的稳定 latest 版本。
  2. GitHub 依赖:对比 pin 的 commit 与远端 HEAD 是否一致。
  3. 本地包:不自动得出「可升级」结论,而是提示需要显式重建与人工审查,并提供可读文件的 SHA-256 便于核对。
  4. 异常来源:缺失、不支持或网络不可达时,仅影响该条依赖的报告,其余项照常完成。

安全与边界

  • 只读:无任何包管理写操作。
  • 联网可关:offline: true 适合 air-gapped 或仅想核对本地清单的场景。
  • 输出侧对本地路径做 redaction,降低误泄露工作区布局的风险。
  • 安全披露流程见仓库内 SECURITY.md。

安装与启用

安装命令须写入目标 Profile,并以 README 为准:

dsh plugin --profile <profile> add dsh-plugin-update-audit@0.1.0

将 <profile> 换成你的 Profile 名称(例如 dev-lab)。安装完成后重启 DSH Desktop,新工具才会被加载。

说明:插件以当前 DSH 进程权限运行;安装前请自行审阅源码与 MIT 许可证,并确认与 @deepseek-ai/cordis(>=4.0.0)、@deepseek-ai/dsh-tools(>=0.1.0-rc.5)等 peer 依赖环境匹配(package.json 要求 Node >=20)。

典型用法

在对话中让智能体调用 plugin_update_audit,参数示例来自官方 README:

{
  "profile": "dev-lab",
  "offline": false,
  "timeout_ms": 10000
}

字段含义简要说明:

  • profile:要审计的 Profile 名称;
  • offline:false 时会访问 npm / GitHub;true 时仅本地盘点;
  • timeout_ms:单次检查的网络超时(示例为 10000 毫秒)。

返回中的状态为建议性标签,便于排序 attention,不能替代人工判断:

状态 含义(摘要)
update_available npm 上存在更新的稳定 latest
upstream_changed GitHub HEAD 与 pin 的不可变 commit 不一致
local_review_required 本地或 workspace 来源需显式重建与审查
current / ahead / offline / unpinned / not_installed / unavailable 不做自动「该升级」结论

官方建议的操作顺序:阅读 release notes 与源码变更 → 做安全快照 → 一次只更新一个插件 → 重启 DSH → 跑该插件的验收测试。审计结果只负责「让你看见差异」,不负责替你升级。

适用场景与注意

适合谁

  • 维护多个 DSH Profile、依赖来源混杂(npm + GitHub + 本地)的团队;
  • 想在升级前做 supply-chain 式盘点的 admin / 安全角色;
  • 需要定期让智能体生成「依赖新鲜度报告」而不触发自动改动的场景。

需要注意

  • 插件在 DSH 进程内执行,权限与当前用户一致;联网审计会访问公共 Registry 与 GitHub API。
  • SkillHub 等社区目录是独立站点,与 DeepSeek / 幻方无官方从属关系;安装来源以你信任的 registry 与 GitHub 组织为准。
  • GitHub 上 README 与 package.json 中的 repository URL 若存在不同组织名,以你实际安装的包与所选仓库为准核对归属。

结尾

dsh-plugin-update-audit 把 Profile 直接依赖的「有没有新版本、上游 commit 是否漂移、本地包要不要人工看」收成一次只读审计,适合作为升级前的固定步骤,而不是替代 release notes 与测试。

  • 目录页:https://www.skillhub.cn/plugins/Muggle8888/dsh-plugin-update-audit
  • GitHub:https://github.com/Muggle8888/dsh-plugin-update-audit
羽毛球分组比赛记分
小程序二维码

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

小夜