dsh-preflight:DSH 插件包靜態預檢

前言

在 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
羽毛球分组比赛记分
小程序二维码

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

小夜