DSH Hub

omdsh-dev/dsh-plugin-check

plugin-check

ToolWorkflow26 GitHub stars· updated 2026-09-10

Scan a plugin repo for manifest protocol, patch shape, build traps, and hub listing status. Read-only, zero business deps, registers a plugin_check tool.

Install

npx @deepseek-ai/dsh plugin --profile web add github:omdsh-dev/dsh-plugin-check

Restart `dsh web` after install. Bundle APIs can change during the developer preview.

README badge

plugin-check DSH Hub badge
[![DSH Hub](https://dshhub.dev/badge/dsh-plugin-check.svg)](https://dshhub.dev/plugins/dsh-plugin-check)

Paste this into your README. The star count updates with every catalog sync.

From the README

Excerpt from omdsh-dev/dsh-plugin-check, cleaned of badges and images.

dsh-plugin-check

English

DSH 插件健康检查工具 —— 扫描插件仓库,诊断清单协议 / patch 格式 / 构建陷阱 / hub 收录状态,输出合规报告与修复建议。只读,不修改、不构建被检查仓库。

动机

组织内插件仓库持续增长,作者踩过的坑(cordis 双副本、tsconfig 三件套、patch name 不一致、产物 .ts 残留——运行时必崩)本可以自动化拦截。本工具把全部实测踩坑变成可自动检查的门禁:模型或 CI 直接对仓库目录跑一次 plugin_check,拿合规报告与修复建议。

安全模型

  • 只读:仅 readdir/stat/readFile,绝不修改或构建被检查仓库
  • 零业务依赖:仅 node 内置模块(fs/path/child_process)
  • hub 检查离线优先:先读本地 hub catalog(DSH_HUB_SOURCE 或 cwd/hub/ 下),再通过 gh 读取公开 omdsh-dev/dsh-hub-workshop/catalog.json;兼容 dsh-hub-index/v0.4 与旧 repos[].name;全部失败静默降级 skipped(报告如实标注,不算警告)
  • 不执行 tsc:构建陷阱全部静态文本扫描(快、无副作用)

工具声明

注册 plugin_check 工具(@omdsh-dev/dsh-plugin-check,row id tool-plugin-check),统一输出 JSON 文本。

参数类型必填说明
actionstring✅check / scan / schema
pathstring插件仓库目录(check)或父目录(scan);默认当前工作目录
strictbooleanstrict 模式:warning 升级为 error 影响 verdict,默认 false

Actions

action功能
check检查单个插件仓库目录 → 合规报告(verdict/errors/warnings/suggestions)
scan扫描父目录下所有 dsh-* 插件仓库(有 package.json 者)→ 汇总报告
schema输出全部检测项清单与判定标准(按形态适用的检测项矩阵,供模型/人核对)

形态识别与检测项(按形态适用,33 项)

类别errorwarning
清单协议no-manifest / invalid-name-format / missing-main-or-types / no-patchincomplete-files / missing-peer / no-bundle-decl
patch 格式malformed-patch / patch-name-mismatch / duplicate-row-idunexpected-fields
构建陷阱no-source-entry / no-tsconfig / missing-ts-ext-imports / lib-layout-mismatch / stale-ts-importsmissing-rewrite-imports / types-path-mismatch / implicit-node-types / no-build-script
生态合规(Profile Bundle)core-row-idmissing-profile-install-example / manual-install-only / core-modification-required
hub 收录—not-in-hub(hub-skipped 为 info)

生态合规四项(immediate-adjustments-bundle-profile-plan §4.5):

  • core-row-id:patch 条目使用官方核心 row(tools/session/llm/web/permission);
  • missing-profile-install-example:README 缺 dsh plugin --profile ... add 示例;
  • manual-install-only:无法通过标准 Profile Bundle 安装(无 patch 或 README 无示例);
  • core-modification-required:默认安装流程要求修改 DSH 核心(git apply / cp 进 monorepo;明确标注"手动安装与旧版本兼容"的段落不计入)。

命名策略:invalid-name-format 仅表示 npm 格式错误;合法的个人 scoped/unscoped 名称只产生 non-org-recommended-name(warning),不会 fail。推荐范围为 @deepseek-ai/*、@dsh-external/*、@omdsh/* 和 dsh-*。

verdict:0 error → pass;有 error → fail;仅 warning → warn。 kind:registry / skill / collection / tool-bundle / bundle / infra / unknown——按形态套用不同检查集(X-01 共享矩阵)。 checks:固定检查项的执行结果(total/passed/failed/warned/skipped),不再是 issue 数。

示例

plugin_check { action: "check", path: "C:/Users/admin/Desktop/dshext/dsh-tool-csv" }
  → {"repo":"dsh-tool-csv","kind":"tool-bundle","verdict":"pass","checks":{"total":24,"passed":24,...}}

plugin_check { action: "scan", path: "C:/Users/admin/Desktop/dshext" }
  → {"root":"...","scanned":11,"reports":[...]}   # dsh-my-rsi 等不合规仓库会带 error+suggestions

DSH 0.1.5-rc.1 兼容(已验证)

本插件已迁移到 DSH 0.1.5-rc.1 依赖线,并在 local harness 0.1.5-rc.1 的隔离 consumer 中完成全链路验证:

…

Related plugins