dsh-skill-audit:DSH 技能与插件质量审计面板

前言

在 DeepSeek Harness(DSH)里,技能和插件会散落在用户目录、已安装的 node_modules 包,以及当前工作区的 dsh-plugins 开发树里。手工逐项对照 SKILL.md、frontmatter、package.json 与 dsh.bundle 很容易漏项,也很难在发布前做统一打分。若你还维护 WorkBuddy 的 skill package 或 expert package,门控项、质量分和定价建议又是另一套规则。

dsh-skill-audit(维护者 vamyane,分类 admin-security)在 DSH 左侧栏挂载 Audit 入口,用全屏 React 面板(非 iframe)承接扫描与展示;宿主侧负责扫描并通过 JSON 路由供前端读取,最后可导出 Markdown 修复报告。

这是什么

一句话:dsh-skill-audit 是 DSH 的 skill 与 plugin 审计控制台——扫描本地 DSH 资产或 WorkBuddy 包目录/ZIP,按规则给出 pass/warn/fail、0–100 分与等级,并支持报告导出。

SkillHub 为社区独立目录站点,与 DeepSeek / 幻方无官方从属关系;安装方式以目录页说明为准,下文不臆造 dsh plugin add 命令。

两种工作模式

面板在同一套 UI 里切换两类审计逻辑。

DSH assets 模式

扫描本机 DSH 相关资产并汇总结果:

来源 纳入范围
~/.dsh/skills/* 含 SKILL.md 的技能目录
<profile>/node_modules/* package.json 声明了 dsh.bundle 的已安装包(含 scoped 包)
<workspace>/dsh-plugins/* 当前工作区下开发中的插件

对每项资产计算 0–100 分,映射等级 S ≥ 90、A ≥ 80、B ≥ 70、C ≥ 60、D 低于 60。每条检查标注 pass / warn / fail,并附修复提示;可导出 Markdown 报告。

Skills(基于 SKILL.md)

加权检查项包括:SKILL.md 存在且非空;frontmatter 中 description(需有实质内容)、author、name(与目录名一致);LICENSE 或 frontmatter 中的许可证声明;敏感信息(密钥/token 等,值会脱敏);硬编码用户主目录等隐私相关路径。

Plugins(基于 package.json)

检查项覆盖:package.json 可读且 name 与目录一致;dsh.bundle 及 patch 文件;cordis.patch.yml 插入行 name 与包名一致;客户端 __ModuleLoader__.load({ id }) 与宿主 export const name / exports.name;README(含双语 README 加分项);LICENSE;icon 为 512×512 PNG(读 PNG 头校验尺寸);files 白名单是否覆盖关键路径;敏感信息与本地路径等。

得分按加权通过率计算(pass=1、warn=0.5、fail=0,skip 不计分)。

WorkBuddy package 模式

输入为目录或 .zip:

  • 包根存在 SKILL.md → 按 skill package 审计(单层 wrapper 目录会自动解开,并由 G01 标记结构问题)。
  • 存在 .codebuddy-plugin/plugin.json → 按 expert package 审计(ZIP 须以与包名一致的顶层目录打包)。

ZIP 在纯 JS 中解析中央目录,条目用 zlib.inflateRawSync 解压(支持 stored 与 deflate);除脚本语法检查可能需要临时落盘外,不写持久文件,用后即删。不支持 ZIP64 与加密压缩包。

25 项门控(G01–G19 / E01–E06)

规则源自 skill-value-auditor/rubric/rubric.v1.json(rubric v1.0.1)。每项返回 pass / warn / fail / skip,带 blocker / major / minor 严重度、原因、证据与 rubric 修复提示。涵盖包结构、frontmatter 必填、命名与展示名、文档中反引号引用文件是否存在、密钥与破坏性命令、脚本 node --check / Python ast.parse、付费包法律文件、双语字段、包体大小、Expert 的 plugin.json 与 agents/*.md 等(完整列表见仓库 README)。

存在 blocker 级门控失败时,价值分 V_final 归零且不给出定价建议。

质量分 Q 与价值分 V

  • Q(0–100):五个维度、22 个子项,每项 0–4 分锚点并缩放,报告中带证据(计数、文件、匹配词等)。
  • V(0–100):六个维度估算需求、交付确定性、结果价值、护城河、复用频率与付费意愿等。
  • 校准:V_final = min(V_raw, Q + 15),避免交付质量差却给出高价值判断。
  • 建议价带(按 V_final):例如 S ≥ 85 对应 ¥49–79 或订阅档,A/B/C 递减,更低则建议免费或不上架;特定条件下提示月订阅区间(详见 README)。以上仅为插件内模型输出,不构成商业承诺。

安装与运行环境

安装步骤请以 SkillHub 目录页 为准。启用后,DSH 左侧栏会出现 Audit 按钮,点击打开全屏审计面板。

package.json 声明的运行约束如下,安装前请与当前 DSH 版本对齐:

"engines": {
  "node": ">=20",
  "dsh": ">=0.2.0-rc.2 <0.3.0-0"
},
"peerDependencies": {
  "@deepseek-ai/cordis": ">=4.0.0 <5"
}

插件以当前 dsh 进程权限 读取本机路径与压缩包内容;安装前应自行审阅源码与 MIT 许可证,确认可接受其扫描范围(含 ~/.dsh/skills、profile 下 node_modules、工作区 dsh-plugins)。

典型用法

  1. 在 DSH 中打开 Audit 面板。
  2. 选择 DSH assets:触发扫描后浏览各 skill/plugin 的分数、等级与逐条检查结果,按 fix hint 修改本地文件后再次扫描;需要留档时导出 Markdown 报告。
  3. 选择 WorkBuddy package:指定 skill 或 expert 的目录路径,或选择符合结构约定的 .zip,查看门控结果、Q/V 分项证据与建议价带,同样可导出报告。

仓库内还提供命令行扫描入口(需在克隆后的插件源码目录执行,供开发与 CI 自检,非 DSH 面板必需步骤):

node tools/scan.mjs
node tools/scan.mjs --wb

对应 package.json 中的 npm run scan 与 npm run scan:wb。

适用场景与注意

适合谁

  • 维护多条 DSH skill 或多个 dsh-plugins 插件,希望在提交或上架前做一致性检查。
  • 编写 WorkBuddy skill/expert 包,需要对照 rubric 门控、质量维度和价值校准做自查。
  • 关注 admin-security 类能力:敏感信息、硬编码路径、破坏性命令、数据外传模式等会被标记。

使用注意

  • DSH 模式只审计扫描规则覆盖的路径,不会代替人工代码评审。
  • WorkBuddy 模式对 ZIP 格式有限制;大文件或加密包需先解压为目录再审计。
  • 定价与等级输出为工具化评分,发布决策仍需结合业务与平台规则。

结尾

dsh-skill-audit 把 DSH 本地资产与 WorkBuddy 包的检查集中到同一面板:DSH 侧重 manifest 与工程约定,WorkBuddy 侧重 25 项门控加 Q/V 与价带建议,并统一导出 Markdown 修复报告。进一步细节以仓库 README(含 README.zh.md)为准。

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

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

小夜