前言¶
在 DeepSeek Harness(DSH)里开发或提交插件时,很多问题不会等到运行时才发现:bundle patch 缺失、生命周期脚本不符合约定、包里混进日志或二进制、skills 的 frontmatter 格式错误,都会在审核或打包阶段直接卡住。手工逐项对照规范既慢又容易漏。
dsh-preflight 针对的是「包面」这一层:在本地对插件目录或 npm pack 产物做静态检查,把上述一类错误提前暴露出来。它不做安装、启动、签名或安全测试;通过检查也不等于安全背书。下面介绍它的定位、能力与用法。
这是什么¶
dsh-preflight(GitHub:lengrufeng2008/dsh-preflight)由维护者 lengrufeng2008 发布,在 SkillHub 目录中归类为 admin-security。一句话定位:对 DSH 插件 bundle 做静态 package-surface preflight——核对元数据、bundle patch、skill frontmatter、不应出现的产物、生命周期脚本与体积等(见 package.json 中的 description)。
实现思路受 DSH-Store 静态预检启发,为独立小实现,未复制商店源码;许可证为 MIT,当前 package 版本为 0.1.1,运行环境要求 Node.js >= 20。
核心功能¶
README 与 package 描述中可核实的能力包括:
- 目录模式:对本地插件路径做静态扫描,发现会导致审核失败的常见错误(例如缺少 bundle patch、生命周期脚本问题、多余日志/二进制、损坏的 skill frontmatter)。
- Tarball 模式(
--tarball):针对真实的npm pack输出检查必需文件、bundle patch、生命周期脚本、不支持的条目,以及test/、dist/等残留。 - DSH 内调用:在 Harness 中通过
plugin_preflight对指定路径执行同一套预检逻辑。 - JSON 输出(
--json):便于脚本或 CI 解析结果。
明确不在范围内(Scope):
- 仅静态包面;不执行 install、boot、runtime、signature 或 security test。
- PASS 不是安全证书。
安装与启用¶
已抓取资料未给出 SkillHub 或 DSH 的固定 dsh plugin add … 安装字符串。使用前请从 SkillHub 目录页 或仓库 README 核对当前推荐安装方式。安装或启用任何 DSH 插件前,应自行阅读源码与 LICENSE,并知悉插件以当前 dsh 进程权限运行。
作为 npm 包,仓库提供 CLI 入口 dsh-preflight(对应 bin/dsh-preflight.mjs),也可在克隆/依赖该包后直接调用:
node bin/dsh-preflight.mjs /path/to/plugin
典型用法¶
检查本地插件目录(默认人类可读输出):
node bin/dsh-preflight.mjs /path/to/plugin
机器可读结果:
node bin/dsh-preflight.mjs /path/to/plugin --json
检查 npm pack 生成的 tarball(验证实际发布面包面):
node bin/dsh-preflight.mjs --tarball /path/to/package.tgz
Tarball 模式会覆盖:必需文件、bundle patch、lifecycle scripts、不支持的条目,以及 test/、dist/ 残留等(见 README)。
在 DSH 会话中使用:
Use plugin_preflight on /path/to/plugin.
维护者本地跑测试:
npm test
(对应 node --test test/*.test.mjs。)
适用场景与注意¶
适合谁
- 正在编写或维护 DSH 插件、希望在提交审核或
npm pack前自检包面的开发者。 - 希望在 CI 里对插件目录或 tarball 做静态门禁的团队(可配合
--json)。
注意
- 分类为 admin-security 指的是与包规范、产物卫生相关的管理向检查,不是运行时漏洞扫描或签名验证。
- 社区目录 SkillHub 为独立站点,与 DeepSeek / 幻方无官方从属关系;插件星标与版本以仓库与目录页为准(资料中 GitHub 星标为 0)。
- 不确定的安装命令或配置以目录页与 GitHub 最新 README 为准,勿凭插件名拼接安装命令。
结尾¶
dsh-preflight 把 DSH 插件 bundle 上「容易在审核阶段才爆雷」的静态问题集中到一条命令或一条 DSH 指令里,适合在打包与提交流程前做快速预检。进一步说明与源码见:
- 目录页:https://www.skillhub.cn/plugins/lengrufeng2008/dsh-preflight
- GitHub:https://github.com/lengrufeng2008/dsh-preflight