前言¶
在 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 分与等级,并支持报告导出。
- 仓库:vamyane/dsh-skill-audit
- 社区目录页:SkillHub 插件页
- 许可证:MIT(见仓库
LICENSE) - 当前包版本(
package.json):0.1.1
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)。
典型用法¶
- 在 DSH 中打开 Audit 面板。
- 选择 DSH assets:触发扫描后浏览各 skill/plugin 的分数、等级与逐条检查结果,按 fix hint 修改本地文件后再次扫描;需要留档时导出 Markdown 报告。
- 选择 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