前言¶
在 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