dsh-preflight: Static pre-check for DSH plugins

前言

在 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 描述中可核实的能力包括:

  1. 目录模式:对本地插件路径做静态扫描,发现会导致审核失败的常见错误(例如缺少 bundle patch、生命周期脚本问题、多余日志/二进制、损坏的 skill frontmatter)。
  2. Tarball 模式(--tarball):针对真实的 npm pack 输出检查必需文件、bundle patch、生命周期脚本、不支持的条目,以及 test/、dist/ 等残留。
  3. DSH 内调用:在 Harness 中通过 plugin_preflight 对指定路径执行同一套预检逻辑。
  4. 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
羽毛球分组比赛记分
小程序二维码

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

Xiaoye