🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI
广告☁️ 云服务器特惠阿里云首购 8 折 · 腾讯云合作特惠
DeepSeek Harness Hub
← 返回列表

PerryLink/dsh-plugin-doctor

DeepSeek Harnessspec-screened扫描:中风险在 GitHub 查看 ↗
⚠ 装前注意

English · 简体中文 · Español · Português · हिन्दी

基本兼容但装前注意:未发布到 npm registry,仅可从源码安装 · 最近上游提交 2026/9/25 · 已提供中文文档

DeepSeek Harness 插件的零依赖静态 + 沙箱烟雾检测器(R/K/D/CC 层)

综合分
35.7
GitHub 分
35.7
用户评分
—
★ Stars
1
周下载量
—
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add PerryLink/dsh-plugin-doctor
未发布到 npm registry,仅可从源码安装,改用 GitHub 源安装
信任档位:已验证本站已于 4 天前真实安装成功(L4 · 真实安装)
是什么
dsh 原生插件 · other
装得上吗
本站已真实安装成功(L4 · 真实安装,非静态推断)
安全吗
本站尚未对该插件做风险分级(暂未覆盖,不等同于无风险)
还在维护吗
活跃:最近一次提交在 1 天前

档位由下列信号合成:本站实装验证(真实安装,当前最高到 L4)· 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。下方各区块是它的证据明细。 验证判据与等级说明 →

🟢实装验证通过· 2026/9/22
由本站实装验证器在真实 dsh 环境安装成功,非静态推断。
数据截至 2026/9/25(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
安装兼容性检查⚠ 装前注意

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✗npm 包@perrylink/dsh-plugin-doctor(未发布到 npm,仅可源码安装)
✓Node 引擎要求 ^22.19.0 || >=24.0.0 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

未发布到 npm registry,仅可从源码安装

验证方式:npm registry 存在性 + package.json 静态校验 · 最后验证 2026/9/21 00:17:55

用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动

README

由 DeepSeek 最新模型翻译生成
dsh-plugin-doctor

License
npm version
npm downloads
Node
CI
dshfind
OpenSSF Scorecard

English · 简体中文 · Español · Português · हिन्दी

一款面向 dsh 插件的“完整性 + 运行时健康”一体化检查器。零依赖(仅使用
Node ≥22 自带的能力),一次运行即可同时覆盖四个层面:
静态包结构检查(R)→ Cordis 契约扫描(K)→ 动态沙箱冒烟测试(D)→ 生态系统目录列表校验(CC)。
每一条判定标准都可追溯到 2026-09-07 的三份一手研究记录:deepseek-harness
文档与源码、cordiverse/cordis 源码契约,以及工作区内所有分发渠道的清单(全文见 SURVEY.md)。

⭐ 如果它帮到了你

这个插件是 DSH 插件家族的一员(40+ 个,全部 Apache-2.0)。如果你在用,给个 star —— 它不会解锁任何功能,但会让下一个人在搜索里更容易找到它。

English: part of a 40+ plugin family for DeepSeek Harness. If it is useful, a star helps the next person find it — nothing is gated behind it.

安装(DSH bundle)

dsh-plugin-doctor 在 package.json 中声明了 dsh.bundle.patch → cordis.patch.yml,因此它也可以作为 DeepSeek Harness bundle 安装:

git channel (latest main)
dsh plugin --profile web add "github:PerryLink/dsh-plugin-doctor#main"

npm channel (released version; always use the scoped full name -- the bare name dsh-plugin-doctor is a different project)
dsh plugin --profile web add @perrylink/dsh-plugin-doctor

插入的这一行会按照标准 Cordis 插件契约加载本包:宿主侧是一个普通的 ESM 模块,导出 apply(ctx)(并为其所需的服务声明 inject)。本包不附带浏览器 UI,因此没有 dsh.client 声明。

// bundle entry (host half) -- the export contract the patch line loads
export function apply(ctx) {
// registers the /doctor command and the plugin_doctor read-only check tool
}
卸载:dsh plugin --profile web remove @perrylink/dsh-plugin-doctor(或从 profile patch 中删除该行)。下面的 CLI 用法不受影响。

用法

node doctor.mjs --repo             # 全量(含动态冒烟,需网络 + pnpm)
node doctor.mjs --repo  --no-smoke       # 仅静态 + 清单
node doctor.mjs --repo  --dsh 0.1.7-alpha.1 # 冒烟宿主版本(默认 npm latest 已发布线)
node doctor.mjs --repo  --only R,K       # 只跑静态两层(推荐用 ASCII 别名)
node doctor.mjs --repo  --json report.json
node doctor.mjs --repo  --json -         # JSON 写 stdout(此时抑制人类可读报告)
node doctor.mjs --repo  --format check --json -   # 生态三值契约视图(PASS/WARN/FAIL + 0/1/2)
node doctor.mjs --repo  --workspace    # 指定兄弟仓所在工作区(CC 组核对用)
node doctor.mjs --repo  --allow-degraded # 显式接受「整组未真跑」(默认 exit 6)
node doctor.mjs --purge               # 清理本工具产生的隔离目录(仅 doctor-quarantine-)

目标形态与覆盖范围(0.2.0 新增)

--repo 可以是源码树,也可以是已安装的包目录 / 解包后的 tarball 产物(后者常见于 node_modules/)。判定标准随形态变化:

| 形态 | K 组(Cordis 契约) | 备注 |
|---|---|---|
| 带 src/ 的源码树 | 扫描 src/ 以及根级 JS(mode: src) | 完整 |
| 无 src/,main 指向 lib/ | 回退扫描 lib/(mode: lib-fallback) | 0.2.0 修复:旧实现以「无 build 脚本」为判定条件,但已发布的包保留了 build 脚本 → 回退从未触发,九项 K 检查全部被跳过,却仍以 0 退出(假绿) |
| 既无 src/ 也无 lib/ | 九项全部跳过(mode: none) | 整组从未真跑 → 退出码 6,不再有假绿 |

覆盖范围写入 JSON 中的 coverage.K({filesInspected, mode}),并在 groups.K 中汇总。

--only 分组与 ASCII 别名

| 别名 | 完整组名 | 内容 |
|---|---|---|
| R | static · package structure | R0–R8 |
| K | static · Cordis contract scan | K1–K9 |
| D | dynamic · sandbox smoke | D0–D3, D9 |
| CC | ecosystem · directory listings | CC1–CC5 |

别名不区分大小写,中文全名仍然可用。在工作流中请使用别名:如果编辑器或脚本以错误的编码往返传递中文组名,--only 将匹配不到任何分组。

退出码契约

| 退出码 | 含义 | 引入版本 |
|---|---|---|
| 0 | 无 fail/error(允许 warn/skip),且每个请求的分组都真跑了 | 0.1.x |
| 1 | 存在 fail/error(插件缺陷) | 0.1.x |
| 2 | 用法错误、未知分组、未知选项 | 0.1.x |
| 3 | 基础设施错误(缺少 npm/pnpm 之类) | 0.2.0 |
| 4 | 不支持的宿主版本(宿主自身安装失败;并非插件判定) | 0.2.0 |
| 5 | 结果不稳定(某步骤超时或被信号杀死) | 0.2.0 |
| 6 | 降级:某个请求的分组从未真跑(例如没有可扫描的源文件) | 0.2.0 |
防范静默通过(两层):

1. 如果 --only 中哪怕有一个组名未能匹配 → 立即 2。0.1.4 及更早版本在组名被弄乱时会“什么都不检查 + 退出 0”,这曾一度让 35 个仓库的 CI 门禁变成假绿(测量于 2026-09-09:checks_run=0、exit=0)。
2. 从 0.2.0 起:请求的组中所有检查都被跳过 → 6。旧实现只覆盖了“没有任何一个检查运行”,而没有覆盖“它运行了但所有检查都被跳过”——后者让“零覆盖的 K 组”被计为通过。要显式接受这种情况,请使用 --allow-degraded(退出码降为 0,但 JSON 中的 degraded 仍保持非空)。

⚠️ 41 个家族仓库中现有的门禁不读取退出码(它们的工作流使用 set +e / out="$(…)" / set -e),只解析 stdout 上的 R0  / K1  前缀以及 JSON 中的 results[].name。因此 0.2.0 的新退出码对那些流水线没有任何改变;它们服务于交互式使用和未来的集成方。

- 冒烟运行将其临时 DSH_HOME/DSH_AGENTS_HOME 保留在自建的 %TEMP% 沙箱内(前缀为 doctor-,它不与受主机保护的 %TEMP%\dsh- 模板重叠),并且从不触碰真实的 ~/.dsh(红线 3)。
- dsh plugin add 始终传入 --ignore-scripts:被测试包的 install/prepare 脚本从不在主机上执行。pnpm 的 ignored-builds 阻断被归类为 environment(它既不计为通过,也不计为插件缺陷)。
- 每个步骤的子进程 stdout/stderr 都会写入 %TEMP%\doctor-run-\logs\;运行结束时隔离而非删除(重命名为 %TEMP%\doctor-quarantine-),在报告尾部打印该路径,并将删除留给人工确认后的 --purge(红线 4,三阶段规则)。
- 运行时看到的绝对路径在进入 JSON 或渲染文本之前会被占位符化为 ,因此报告可以提交到别人的仓库中,而不会触发其路径泄露门禁。

名称冲突(重要)

本仓库是 @perrylink/dsh-plugin-doctor,它与生态系统中其他同名工具不是同一个项目:

- 裸 npm 名称 dsh-plugin-doctor 属于 Xrainsmile/DSH-Plugin-Doctor(另一个项目,0.1.1)。因此绝不要运行 npx dsh-plugin-doctor——那会执行别人的包;请始终使用带作用域的完整名称 @perrylink/dsh-plugin-doctor@。
- 有十个 GitHub 仓库名称中包含 dsh-plugin-doctor(其中八个恰好就是该名称),包括 zoahdev/dsh-plugin-doctor(仅存在于 GitHub,从未发布到 npm)。
- dsh-testkit 的 README 将 dsh-plugin-doctor 链接到 zoahdev 仓库;那与本仓库无关。
一行概括:零依赖、可离线运行(--only R,K),并将 Cordis v4 契约(K1–K9)和五个生态目录清单(CC1–CC5)转化为一个 CI 门禁,其判定结果可直接从退出码读取。(没有“唯一”式的声明——只是说在实际调查的工具集中没有出现可比的东西。)

内联一行说明。 --format check 输出生态的三值契约
(PASS/WARN/FAIL,退出码 0/1/2,扁平 checks[]),而不是本项目
的增强信封,因此其他检查器或 Action 可以直接消费该结果。
它是一个视图:它从不改变项目是否通过,并且 skip
绝不会被渲染为 PASS(它会变成 WARN,并带有 skipped: true)。完整
语义保留在 doctor 侧字段中。参见 SPEC.md §1.1——那三个
属性是规范性的,并且 tests/compat.mjs 对它们进行了断言。

检查目录

| 分组 | 检查项 | 标准覆盖的内容 |
|---|---|---|
| 静态 · 包结构 | R0–R8 | 基础字段;激活门禁 dsh.bundle.patch(关键);npm pack --dry-run tarball 包含入口和补丁;cordis.patch.yml 结构;入口 name/apply 导出;重新限定作用域的依赖策略(禁止裸 cordis);engines 对齐到 ^22.19.0 \|\| >=24.0.0;prebuild + files 允许列表;遗留的旧 rc peer(2026-09-05 双基线教训) |
| 静态 · Cordis 契约 | K1–K9 | 服务访问与 inject 声明;ctx 实时数据序列化红线;timers/listeners 未包裹在 ctx.effect 中;Schema 包含函数;apply 返回形状(v4 Effect 契约);inject 服务名接缝;v3 遗留 API(3.x→4.x 移除列表);Config 必须是 Standard Schema;name==='apply' 特殊情况 |
| 动态 · 沙箱冒烟 | D0–D3, D9 | npm pack → dsh plugin --profile headless add  → 断言 dsh.profile.bundles 包含包名 → --dump-config 层标记 → 无密钥 headless 运行预期退出 1 + dsh: MISSING_CREDENTIAL(= 组合已启动到模型请求;NO_ADAPTER/ERR_MODULE_NOT_FOUND/SyntaxError/TypeError 被排除)→ 沙箱清理 |
| 生态 · 目录清单 | CC1–CC5 | 认证注册表规范 v1 五维证据;adp-list yml 字段/枚举/描述;dsh-catalog 条目约束(禁止安装命令、截断启发式);omdsh dshWorkshop 激活五个值;dsh-plugin-kit 三个门禁(许可证 / 五语言 README / 三个接缝角色,优先使用该 kit 的官方 CLI) |

已验证 徽章

有两条徽章路径,它们做出不同的声明。选择那条
你实际能够支撑其声明的路径。FOR-ADOPTERS.md 是本节
的分步版本——要复制的确切文件、确切的徽章 markdown、每种判定意味着什么,以及此检查不证明什么。

路径 A——自助门禁徽章(无需许可,无需作者参与)
这个徽章只做出一项明确且可核查的声明:该仓库在自己的 CI 中运行 dsh-plugin-doctor 的静态 R+K 门禁,并且该工作流在仓库的默认分支上是绿色的。 它由 shields.io 直接根据你自己工作流的状态渲染,因此不需要注册表条目、不需要拉取请求、不需要任何人的令牌,也不会被本项目的任何基础设施所破坏:

dsh-doctor R+K

将 / 替换掉(如果你的默认分支不是 main,也替换 branch=)。链接目标是 SPEC.md——即你声称要满足的标准,并且明确说明了其作者是谁。

使用路径 A。 它就是完整的标准,自助式,而且本规范正是为此设计的。它对本项目没有任何要求。

关于路径 A 有两点诚实的提醒:徽章反映的是你的工作流,因此它的可信度只取决于你的 CI 配置——它并未经过任何其他人的验证;而且它由 shields.io 提供,后者会得知你的仓库名称。

路径 B——作者签发的审计徽章

佩戴此徽章只意味着一件可审计的事:该仓库在自己的 CI 中运行 dsh-plugin-doctor 的静态 R+K 门禁(16 项检查:R0/R1/R3/R5/R6/R7/R8 + K1–K9),并且该门禁在默认分支当前 HEAD 上是绿色的,由本项目的审计员重新核查。它不是认证徽章:没有 Scorecard,没有来源证明,没有安装冒烟测试。R2(tarball 完整性)和 R4(入口契约)读取构建产物 lib/,而构建大多数家族仓库需要 HARNESS_COMMIT + gen-aliases 通过——这两项由各仓库自己的 ci.yml 覆盖(构建漂移门禁 + 打包冒烟测试),并且被有意排除在此门禁之外。

dsh-doctor
DSH Market

路径 B 是一个集中式、单人运营的服务,应当如此对待。 它需要一个具有跨仓库读取权限的细粒度 PAT,并存储为 DOCTOR_AUDIT_TOKEN 仓库密钥。工作流作用域的 GITHUB_TOKEN 不能替代它:它不携带跨仓库读取权限,因此 GitHub 将其视为匿名调用者,限制为每小时 60 次请求,而对所声明仓库的完整审计需要 200 次以上。没有该 PAT,每个徽章都会渲染为灰色的 NO DATA——这种故障看起来像是徽章程序损坏,而不是缺少密钥。这种情况已经发生过(一次是 401,然后是 403 rate limit exceeded),这也是路径 A 存在并被推荐的原因。scripts/verify.mjs 现在会在遇到第一个此类响应时停止,退出码为 3,并写入一个注册表,其原因中列明
真正的原因,而不是对每个仓库都输出同一行速率限制信息。
- 注册表 data/verified.json 是 Path B 的唯一事实来源,由 .github/workflows/verified.yml 每日以及每次相关推送时刷新。刷新只读取 GitHub API:它解析每个仓库 HEAD plugin-doctor.yml 的门禁配置(该配置必须固定 @perrylink/dsh-plugin-doctor@,使用有效的 --only 参数,并自验证 R0/K1 确实运行过),然后检查该 HEAD 的 plugin-doctor 工作流运行的结论。本仓库的 CI 从不克隆、安装或执行任何第三方代码。
- 徽章外观:视觉语言遵循生态系统中两个较新的徽章(dsh.directory 的等宽大写 + 字母间距 + 标记 + 渐变,以及 awesome-dsh-plugin 的印章块)——银色/铂金色金属质感的左侧段、盾形对勾标记,以及墨蓝色等宽大写,右侧段为符合 GitHub 惯例的纯色状态颜色(绿色/橙色/红色/灰色),承载等宽大写状态词,状态还通过路径绘制的图标(✓ / ! / ✕ / –)表达,因此在色觉缺陷情况下仍可读。5px 圆角 + 1px 描边;描边是必需的——没有它,银色左侧段会在白色 README 背景上消失。
- 四种状态(值文本使用 shields / GitHub Actions 的惯用词):passing(绿色:HEAD 运行成功)/ warning(橙色:HEAD 尚未运行、运行仍在排队,或缺少门禁前置条件)/ failing(红色:HEAD 运行失败,或门禁配置不成立——包括 --only 参数被双重错误编码的“假门禁”)/ no data(灰色:API 查询失败)。徽章是动态的:一旦不再通过就会变红。精确的 R+K 范围位于本节以及注册表的 meaning 字段中,而不在徽章文本中(徽章链接回此处)。
- 要加入 Path B:针对 data/verified-repos.json 提交 PR,添加 { "repo": "/", "package": "" },并将 plugin-doctor.yml 添加到你自己的仓库;该条目必须通过上述审计。Path A 完全不需要这些。
- 门禁文件是随包发布的,而不是抓取来的。 将 plugin-doctor.yml——这个规范且可直接使用的工作流——复制到你仓库中的 .github/workflows/plugin-doctor.yml 并调整固定版本。它也在 npm tarball 内,因此 npx @perrylink/dsh-plugin-doctor 用户可以直接阅读随包发布的副本,而不必从本 README 重建该步骤。组名使用 ASCII 别名 R,K(自 0.1.5 起支持,保持文件和命令行纯 ASCII),并且尾部会自验证 R0/K1 确实运行过。
为什么这个门禁不安装也不构建任何东西,以及为什么本仓库不自行运行徽章:静态的 R/K 检查只读取已提交的代码树(无需依赖),而 npm run build 在没有 harness 别名的环境中会失败,且其 prebuild 会抹掉已提交的 lib/,制造出虚假的红色。另一方面,将第三方依赖安装集中到本仓库的 CI 中会带来供应链风险。因此,门禁在每个仓库自己的 CI 中针对已提交的代码树运行,而本仓库只负责审计并颁发 Path B 徽章。

标准的来源(全文和 URL 见 SURVEY.md)

- harness 侧:docs/user/develop/basic/publish.md、apps/cli/src/plugin.ts(激活门禁是唯一的开关)、
packages/bundle/headless/README.md(MISSING_CREDENTIAL 标准)、Releases(0.1.2-rc.1 / 0.1.3-alpha.1 的变更)、
@deepseek-ai/dsh-loader-smoke(官方的“临时 DSH_HOME + 预期退出码”模式)。
- Cordis 侧:cordiverse/cordis v4 源码(registry/fiber/reflect/events.ts)+ DSH cordis-primer/tutorial 文档 +
v3 @cordisjs/core@3.10.2 d.ts 差异(3.x→4.x 黑名单)。
- 生态侧:dsh-plugin-certification 规范 v1、adp-list 的 entries.mjs/check-submission.mjs、
dsh-catalog 的 validate.mjs/deploy.yml 实时冒烟、omdsh build-submission、dsh-plugin-kit 的 verify/。

已知局限(如实说明)

- K 组是启发式静态扫描:K1/K3/K4 会漏掉复杂的包装器,也可能产生误报——每一条 warn 级别的发现都需要人工查看,绝不自动判定某个插件有问题。
- D3 只能证明“组合能启动到发出模型请求这一步”;它不能证明工具 schema 有效或业务逻辑正确(那需要带密钥的 e2e 运行或 mock LLM)。
- pnpm 的 ignored-builds 块属于环境配方问题:当 D1 遇到它时,检查会降级为 warn 并打印 compat.yml 的 allowBuilds 配方,与认证规范 v1 的“环境受阻”条款一致,且绝不将其计为插件缺陷。
- npm 系宿主(0.1.2-rc.1)的 packument 中没有 engines/peerDependencies 强制检查,因此 R6 在那里只是建议性的。
- 本环境中实测到的一个陷阱:$ 锚点(不带 m 标志)不会匹配单独的尾部 \r 之前的位置,因此解析 CRLF 文本时必须按 /\r?\n/ 拆分(内部已处理——不要回退这一点)。

仓库布局

doctor.mjs               CLI 入口(分组编排、退出码、JSON 报告)
lib/framework.mjs        检查注册/运行/判定/渲染(零依赖)
lib/util.mjs             临时沙箱 + 子进程执行(stdout/stderr 写入磁盘,避免管道捕获限制)
lib/checks-package.mjs   静态 · 包结构 R0–R8
lib/checks-cordis.mjs    静态 · Cordis 契约 K1–K9
lib/checks-smoke.mjs     动态 · 沙箱冒烟 D0–D3、D9
lib/checks-collections.mjs  生态 · 目录清单 CC1–CC5
tests/selftest.mjs        14 个真实 CLI 自测(7 个现有退出码契约用例逐字节一致,外加 7 个新的降级/用法防护用例)
tests/contract.mjs        31 个契约测试(冻结现有 37 仓库 CI 所依赖的 5 个可观测项)
tests/spec-drift.mjs     将 SPEC.md 与实现绑定的防护(检查 ID、门禁集合、单一关键检查、作者身份)
tests/spec-id-token.mjs  SPEC §1 ID 列表的共享解析器,包括 K1–K9 范围展开
tests/spec-drift-meta.mjs  测试漂移防护本身,使其不能空泛通过
tests/compat.mjs         25 个针对 --format check 的测试:两个视图必须在通过/失败上一致,
并且 skip 绝不能渲染为 PASS
scripts/verify.mjs       已验证注册表与徽章刷新(读取 GitHub API 以审计每个仓库的门禁)
scripts/badge.mjs        已验证 SVG 渲染
data/verified-repos.json 已验证的声明仓库
data/verified.json       已验证注册表(由 CI 生成)
badges/                  已验证徽章(由 CI 生成)
THIRD-PARTY-RK-SCAN.md   第三方插件静态 R+K 扫描结果集(公开报告)
data/rk-scans.json       该扫描的机器可读形式
SURVEY.md                全通道检测方法论以及每条标准的来源
SPEC.md                  规范性验证标准(由 PerryLink 撰写)
GOVERNANCE.md            作者身份、规范版本管理,以及哪些署名是请求的、哪些是必需的
NOTICE                   Apache-2.0 署名声明(必须随再分发一同传递)
CITATION.cff             引用元数据(用于引用该工具或标准)
plugin-doctor.yml        规范 CI 门禁,已准备好可直接复制到你的仓库
FOR-ADOPTERS.md          采用者落地页:门禁、徽章、判定、限制
SELF-CHECK.md            该工具依据自身标准对自身的结果
OUTREACH.md              采用说明:渠道状态、定位、行动

状态

官方仓库:GitHub PerryLink/dsh-plugin-doctor(Apache-2.0),npm @perrylink/dsh-plugin-doctor。
当前版本 0.4.0,已发布到 npm。发布通过 npm Trusted
Publishing (OIDC)* 进行——不使用长期令牌——此前 NPM_TOKEN 密钥过期
并阻塞了 0.2.4 和 0.3.0 的尝试。参见 CHANGELOG.md。CI 用法
(请使用 ASCII 别名):
powershell
npx --yes @perrylink/dsh-plugin-doctor@0.4.0 --repo . --no-smoke --only "R,K"

或作为 GitHub Action——无需安装步骤,无需复制工作流文件:
yaml
- uses: PerryLink/dsh-plugin-doctor@v0.4.0
with:
only: R,K

43 个 PerryLink 仓库采用了该门禁,并且整个集群已于 2026-09-23/24 迁移到
一个逐字节一致、固定到当前版本的模板,此前该变更已先针对每个受门禁管理的仓库
进行了验证。新采用者应固定到最新发布的版本——目前是 0.4.0。

诚实的现状:目前还没有外部采用者。 这一点,而非目录
覆盖率,才是限制这个项目的因素——它已经覆盖 33+ 个目录,
包括每一个高星目录。测量结果与推理过程见
OUTREACH.md §C4。

0.2.0 的每一项变更都是增量式的(新字段 / 新选项 / 新退出码);现有 37 个仓库的判定标准保持不变,已对照 37 仓库基线验证,差异 = 0。

判定标准的作者身份

验证判定标准——而不仅仅是实现它们的工具——由 PerryLink()撰写。其规范性文本为 SPEC.md,本仓库是规范与参考实现两者的权威来源。关于判定标准如何变更,以及请求何种署名(相对于 Apache-2.0 §4(d) 通过 NOTICE 所要求的署名),见 GOVERNANCE.md。

采用该门禁无需获得许可。如果你采用它,请保留判定标准归属于 PerryLink 的署名,不要将其作为你自己的标准呈现。

公开结果集

- THIRD-PARTY-RK-SCAN.md —— 首次对第三方(非 PerryLink)dsh 插件进行的静态 R+K 扫描:60 个候选 → 20 个真正声明了 dsh.bundle.patch 的插件 → 在 16 项检查门禁下,10 个通过 / 10 个失败。方法:只读克隆,零执行第三方代码,R2/R4 单独列出且不纳入门禁;其中包含复现命令、对该扫描自身方法论的更正,以及针对其中被点名仓库的更正渠道。机器可读形式:data/rk-scans.json。
它不是认证,不是评级,也不说明插件的安全性:通过仅意味着“16 项静态检查在该提交上未报告任何失败”。

PerryLink DSH 插件家族

本项目是由 PerryLink 维护的 45 个 DeepSeek Harness 插件之一。如果这个对你有帮助,其他的很可能也会:

| 插件 | 一句话简介 |
|---|---|
| dsh-auto-review | 审批链上的第二模型自动审查,默认故障关闭 | |
| dsh-autotier | 自动进行强/廉价模型层级路由,带有确定性风险防护和 /tier 命令 | |
| dsh-background-agents | 持久化的后台子代理,带有 Web UI 侧边栏、消息传递和中断功能 | |
| dsh-budget | DeepSeek Harness 的成本治理:预算、碳排与延迟集于一个面板。 | |
| dsh-catalog | PerryLink 家族的 DSH Desktop Market 标准目录源 | |
| dsh-cert-mcp | 只读 MCP 服务器,公开认证注册表:等级、快照与五维证据 | |
| dsh-checkpoint-rewind | Claude Code /rewind 等价功能:快照、会话分叉、一次性恢复 | |
| dsh-claude-move | 将 Claude Code 会话、记忆、技能和 CLAUDE.md 迁移到 DSH | |
| dsh-click | 面向 DeepSeek Harness 的跨平台原生桌面控制——优先支持 Windows。 | |
| dsh-composer-history | Web 编辑器的终端风格输入历史:方向键、Ctrl+R 搜索 | |
| dsh-data-quality | 数据集质量检查与引用交叉核对(此处消费的可选数值桥接) | |
| dsh-defend | 面向 DeepSeek Harness 的提示注入、越狱和密钥泄露防御。 | |
| dsh-doublecheck | 工程纪律守卫:需求拷问、测试门禁、对抗性审查 | |
| dsh-draw | 面向 DeepSeek Harness 的统一静态图像生成路由。 | |
| dsh-fast | 面向 DeepSeek Harness 的只读性能诊断。 | |
| dsh-fund-research | 面向中国公募基金的确定性研究报告 | |
| dsh-github | 面向 DSH 的 GitHub PR/issue 集成,每次写入均需审批 | |
| dsh-industry-research | 行业研究编排,通过本插件的 ctx.researchReport.assemble 封存其交付物 | |
| dsh-laya | 将 Laya 类型化决策(noul/choice/score)作为一等 Cordis 服务和模型可见工具 | |
| dsh-library | 面向 DeepSeek Harness 的本地文档知识库。 | |
| dsh-local-ai | 面向 DeepSeek Harness 的本地模型(Ollama)集成。 | |
| dsh-lsp-actions | 基于语言服务器的 LSP 诊断、格式化、补全、代码操作和重命名 | |
| dsh-mask | PII 脱敏中间件:在模型边界匿名化,在展示层还原 | |
| dsh-mcp-panel | 只读 MCP 运行时面板:/mcp 命令 + 设置选项卡,显示状态、工具和错误 | |
| dsh-memento | 审批门控的跨会话记忆:ctx.memory 接缝 + SQLite + 记忆工具 | |
| dsh-observe | 面向 DeepSeek Harness 的 OpenTelemetry 和 Langfuse 可观测性导出器。 | |
| dsh-output-styles | 与 Claude Code outputStyles 等效的运行时样式切换 | |
| dsh-permission-rules | Claude Code 风格的声明式 allow/deny/ask 权限规则,带审计 | |
| dsh-plugin-certification | 社区认证注册表,带可复现检查的等级和徽章 | |
| dsh-plugin-doctor | 面向 DSH 插件的零依赖静态 + 沙箱冒烟检测器 | |
| dsh-plugin-guide | 作为按需 agent 技能的插件开发知识库 | |

| dsh-plugin-kit | Shared zero-runtime-dependency toolkit for the PerryLink DSH plugins | |
| dsh-plugin-upgrade | One-package, one-corridor-index plugin upgrade skill: routes a repository to the matching closed corridor card | |
| dsh-plugin-upgrade-015 | Merged 0.1.3-alpha.1 → 0.1.5-rc.1 upgrade corridor card plus a zero-dependency seam scanner | |
| dsh-reach | Multi-channel approval/question bridge: WeChat/Telegram/Feishu, session console | |
| dsh-research-report | Verifiable research-report engine: content-addressed evidence ledger and sealed versions | |
| dsh-score | Multi-dimensional quality scoring for DeepSeek Harness plugins. | |
| dsh-session-pin | Pin sessions in the Web sidebar with durable ordering | |
| dsh-session-sync | Cross-device session sync for DeepSeek Harness — a dedicated git mirror of your session store. | |
| dsh-skill-pack-security | Security-audit skill pack: secret scan, dependency and supply-chain review | |
| dsh-talk | Voice-first session loop for DeepSeek Harness: talk to it, hear it answer. | |
| dsh-team-rooms | Cross-session team rooms: shared message bus, task board and timeline | |
| dsh-test-drive | Isolated install-and-smoke test drives for DeepSeek Harness plugins. | |
| dsh-ticktick | TickTick/Dida365 task bridge: session-header panel + 11 tools | |
| dsh-translate | Vendor parameter translation and deterministic JSON repair for DeepSeek Harness. | |

上游仓库有新提交时邮件通知你(每天最多一封,无更新不打扰),随时一键退订。

💬 加入社群

插件用法、部署报错、新插件第一时间同步——群里问,比一个人翻文档快。

DPharness QQ 群二维码,QQ 扫码进群
QQ 扫码进群
DPharness 飞书群二维码,飞书扫码进群
飞书扫码进群