装上跑一遍,用可复现证据验证插件真实表现
30/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/4 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add citrusli2026/dsh-verified-plugins该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:需留意
是什么
dsh 原生插件 · market
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 30 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
⚠︎ 实装验证未通过(unknown · 2026/10/4) ——可能是验证环境差异,装前建议到 GitHub 仓库确认最近更新与 issue。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
可执行外部命令读写/删除本地文件发起外部网络请求
查看扫描证据(共 77 处,展示前 43 条)
- 写入本地文件packages/cli/src/main.ts:122
mkdirSync(dirname(out), { recursive: true }); - 写入本地文件packages/cli/src/main.ts:123
writeFileSync(out, text); - 读取本地文件packages/cli/src/main.ts:149
parsed = JSON.parse(readFileSync(file, 'utf8')); - 读取本地文件packages/cli/src/main.ts:181
if (!existsSync(join(dir, 'index.json'))) { - 读取本地文件packages/cli/src/main.ts:186
const index = JSON.parse(readFileSync(join(dir, 'index.json'), 'utf8')) as { - 读取本地文件packages/cli/src/main.ts:193
if (!existsSync(file)) continue; - 读取本地文件packages/cli/src/main.ts:194
const report = JSON.parse(readFileSync(file, 'utf8')) as Record<string, any>; - 写入本地文件packages/cli/src/main.ts:207
mkdirSync(dirname(out), { recursive: true }); - 写入本地文件packages/cli/src/main.ts:208
writeFileSync(out, `${JSON.stringify(report, null, 2)}\n`); - 读取本地文件packages/cli/src/main.ts:235
const next = JSON.parse(readFileSync(nextPath, 'utf8')) as Record<string, any>; - 写入本地文件packages/cli/src/main.ts:259
mkdirSync(dirname(out), { recursive: true }); - 写入本地文件packages/cli/src/main.ts:260
writeFileSync(out, text); - 发起网络请求packages/collector/src/registry.ts:72
const response = await fetch(url, { headers: { accept: 'application/json' } }); - 发起网络请求packages/collector/src/registry.ts:143
response = await fetch(subject.tarball, { signal: AbortSignal.timeout(budget.timeoutMs) }); - 发起网络请求packages/collector/src/staleness.ts:55
const response = await fetch(url, { - 发起网络请求packages/collector/src/survey.ts:71
const response = await fetch(url); - 发起网络请求packages/collector/src/survey.ts:177
const response = await fetch(url, { - 读取本地文件packages/report/src/orchestration-failure.ts:63
JSON.parse(readFileSync(staticPath, 'utf8')), - 写入本地文件packages/report/src/orchestration-failure.ts:69
writeFileSync(outPath, `${JSON.stringify(report, null, 2)}\n`); - 写入本地文件packages/report/src/site.ts:351
mkdirSync(join(out, 'badge'), { recursive: true }); - 写入本地文件packages/report/src/site.ts:353
writeFileSync(join(out, 'index.html'), renderIndexPage(input.index, input.staleness)); - 写入本地文件packages/report/src/site.ts:355
writeFileSync(join(out, 'staleness.json'), `${JSON.stringify(input.staleness, null, 2)}\n`); - 写入本地文件packages/report/src/site.ts:357
writeFileSync(join(out, 'index.json'), `${JSON.stringify(input.index, null, 2)}\n`); - 写入本地文件packages/report/src/site.ts:361
writeFileSync(join(out, `${slug}.html`), renderReportPage(report, slug, input.staleness)); - 写入本地文件packages/report/src/site.ts:362
writeFileSync(join(out, `${slug}.json`), `${JSON.stringify(report, null, 2)}\n`); - 读取本地文件packages/report/src/validate.ts:53
return JSON.parse(readFileSync(schemaPath, 'utf8')) as Record<string, unknown>; - 写入本地文件packages/runner/src/browser-probe.mjs:40
writeFileSync(OUT, `${JSON.stringify(result, null, 2)}\n`); - 执行外部命令固定命令packages/runner/src/browser-probe.mjs:98
server = spawn('dsh', ['--profile', 'web', '--no-open', '--port', String(PORT)], { - 发起网络请求packages/runner/src/browser-probe.mjs:116
if (response.status() >= 400) httpErrors.push(`${response.status()} ${response.request().method()} ${safeUrl(response.url())}`); - 执行外部命令来自配置/变量packages/runner/src/execution-probe.ts:71
const result = spawnSync(executable, args, { - 读取本地文件packages/runner/src/execution-probe.ts:109
if (!existsSync(file)) return null; - 读取本地文件packages/runner/src/execution-probe.ts:111
return JSON.parse(readFileSync(file, 'utf8')) as Record<string, any>; - 读取本地文件packages/runner/src/execution-probe.ts:492
if (!existsSync(profileDir)) { - 读取本地文件packages/runner/src/execution-probe.ts:504
if (existsSync(nodeModules) && existsSync(join(nodeModules, subjectName))) { - 执行外部命令固定命令packages/runner/src/execution-probe.ts:574
spawnSync('dsh', ['--profile', profile], { - 读取本地文件packages/runner/src/execution-probe.ts:589
if (!existsSync(file)) { - 读取本地文件packages/runner/src/execution-probe.ts:595
parsed = JSON.parse(readFileSync(file, 'utf8')) as { samples?: Array<Record<string, number>> }; - 写入本地文件packages/runner/src/execution-probe.ts:691
mkdirSync(DSH_HOME, { recursive: true }); - 写入本地文件packages/runner/src/execution-probe.ts:694
mkdirSync(OUT_DIR, { recursive: true }); - 写入本地文件packages/runner/src/execution-probe.ts:902
writeFileSync(join(OUT_DIR, 'execution.json'), text); - 读取本地文件packages/runner/src/host-sampler.mjs:44
return readdirSync('/proc/self/fd').length; - 写入本地文件packages/runner/src/host-sampler.mjs:158
writeFileSync(OUT, `${JSON.stringify(payload, null, 2)}\n`); - 删除本地文件packages/runner/src/host-sampler.mjs:163
unlinkSync(LOCK);
扫描于 2026/11/3(0 天前) · 范围 全包扫描 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 安装加载运行测量
- 证据可溯可复现
面向 DeepSeek Harness 的执行验证插件报告——安装、加载、运行、测量,证据可溯、可复现,不是又一份 star 清单。
README
由 DeepSeek 最新模型翻译生成dsh-verified-plugins
DeepSeek Harness 插件的执行验证报告 —— 安装它、加载它、运行它、测量它。
证据可追溯、可复现,不是又一份 star 列表。
站点 · 方法 · 报告 schema · 安全 · 申诉 · 目录
状态:V0–V6 已完成。 七个维度全部端到端跑通,支持批量,报告已发布,新鲜度也在跟踪 ——浏览站点。
24 份报告:19 份 verified,4 份 partial,1 份 not-installable,1 份现已 stale。
会话跑在回放转录上,绝不使用凭据。对报告有异议,走 docs/appeals.md。先读 docs/security.md。
为什么做这个
插件目录会告诉你某个插件存在、大概有多流行、作者怎么描述它。这些都不是测量。DSH 插件不是沙箱里的装饰品:它的 Host 代码在进程内运行,位于工作区沙箱之外,它触发的依赖构建脚本带着你的权限运行。所以「相信作者」是一个有真实后果的真实决定,而 star 数不是证据。
一句话说清区别:别人读代码;这个项目把它装上、跑起来,把证据留在仓库里。
一份报告回答什么
七个维度,每个维度一个问题。没跑的维度记为 skip —— 绝不省略,绝不推断。
| | 问题 | 需要容器吗? |
| L0 资格 | 这真的是可安装的 bundle 吗?
展开完整文档(README 剩余 1 节)
dsh-verified-plugins DeepSeek Harness 插件的执行验证报告 —— 安装它、加载它、运行它、测量它。 证据可追溯、可复现,不是又一份 star 列表。 站点 · 方法 · 报告 schema · 安全 · 申诉 · 目录 状态:V0–V6 已完成。 七个维度全部端到端跑通,支持批量,报告已发布,新鲜度也在跟踪 ——浏览站点。 24 份报告:19 份 verified,4 份 partial,1 份 not-installable,1 份现已 stale。 会话跑在回放转录上,绝不使用凭据。对报告有异议,走 docs/appeals.md。先读 docs/security.md。 为什么做这个 插件目录会告诉你某个插件存在、大概有多流行、作者怎么描述它。这些都不是测量。DSH 插件不是沙箱里的装饰品:它的 Host 代码在进程内运行,位于工作区沙箱之外,它触发的依赖构建脚本带着你的权限运行。所以「相信作者」是一个有真实后果的真实决定,而 star 数不是证据。 一句话说清区别:别人读代码;这个项目把它装上、跑起来,把证据留在仓库里。 一份报告回答什么 七个维度,每个维度一个问题。没跑的维度记为 skip —— 绝不省略,绝不推断。 | | 问题 | 需要容器吗? | | L0 资格 | 这真的是可安装的 bundle 吗? | 否 | | L1 安装 | 它能装进干净的 DSH_HOME 吗?装不进去是为什么? | 是 | | L2 加载 | Host 和 Client 两半真的能起来吗? | 是 | | L3 运行 | 最小会话能不用凭据跑完吗? | 在容器内,走官方回放适配器 | | L4 能力 | 它能伸手够到什么:运行时补丁、子进程、端口、密钥环境变量、钩子、工作区外写入? | 否 | | L5 开销 | 代价是多少,相对基线做差分测量? | 是 —— 没有一项越过门槛时报告 no-significant-delta | | L6 卸载 | 移除之后,还留下什么吗? | 是 | 结论阶梯 L0 = fail -> not-installable all seven = pass -> verified some pass, not all -> partial none pass -> inconclusive 结论由各维度推导得出,如果声明的结论与维度不符,校验器会拒绝。一个维度被卡住,就足以丢掉 verified。这里没有评分,也没有排名 —— 这正是重点。 发布什么 catalog/ 里每个已验证对象一份 JSON 报告,外加一份生成的 index.json: catalog/ ├── index.json # generated, never hand-edited; CI fails if it is stale └── npm/ # one dsh.plugin.report.v1 per verified subject index.json 保存当前计数,以及每个 subject 的维度状态。 撰写本文时:19 个 verified,4 个 partial,1 个 not-installable。 布局说明:契约原本提议用 catalog/<owner>/<repo>.json。 但 subject 是 npm 包,不是 git 仓库——一个仓库可以发布多个包——所以路径按 registry 和包名来索引。包声明了仓库 URL 时,报告会带上它。 复现一份报告 git clone https://github.com/citrusli2026/dsh-verified-plugins && cd dsh-verified-plugins node packages/cli/src/main.ts static dsh-find-plugin@0.4.0 # re-run one subject node packages/cli/src/main.ts catalog --check # validate + index freshness 不同次运行的数字可能不同——报告是快照。结论不能变。 这就是本项目对自身要求的可复现标准。 命令行 node packages/cli/src/main.ts static <spec> [--out <file>] # L0 + L4; runs no plugin code node packages/cli/src/main.ts validate <report.json> [...] # schema + verdict rules node packages/cli/src/main.ts catalog [--check] # rebuild / check index freshness spec 必须精确:name@1.2.3,或者只写包名(解析为最新版)。纯静态运行不执行任何插件代码,所以在哪里跑都安全——也正因如此,它的结论最高只能到 partial。 P0 — 安全策略 是强制执行的,不是写在纸上的愿景。完整细节见 docs/security.md。 1. 零密钥。 不使用仓库密钥、环境密钥或 Dependabot 密钥,永远不用。 bash tools/audit/no-secrets.sh # expect: 5 checks passed, zero secrets 2. 第三方插件代码绝不在有凭据的地方运行。 执行只发生在一次性容器里,由维护者控制的触发器发起。 3. 不允许 PR 触发执行。 凡是运行 pnpm add、dsh plugin、docker run 或 runner 包的工作流,只能由 workflow_dispatch、schedule 或 workflow_call 触发——绝不能由任何人都能开的 pull request 触发。pull_request_target 和 workflow_run 一律禁用。 4. 硬性资源上限。 超出上限得到的是 timeout,不是失败。 5. 验证不等于背书。 每份报告都原样带上这句话,CI 会拒绝缺少这句话的报告。 ci.yml 在 pull_request 上运行,严格静态:不构建容器,不执行插件。verify.yml 是执行层,只由维护者触发。 本地门禁 node --test packages/report/test/.test.ts packages/collector/test/.test.ts node packages/cli/src/main.ts catalog --check node tools/policy/check-workflows.mjs node tools/check-hygiene.mjs bash tools/audit/no-secrets.sh 这些都不依赖外部包,且都在 CI 中运行。TypeScript 由 Node 24 的类型剥离直接执行:没有构建步骤,没有打包器,没有运行时依赖。 贡献 参见 CONTRIBUTING.md。智能体应阅读 AGENTS.md —— 其中写有强制性的停止条件。 徽章 dsh verified 四种状态 —— verified、partial、inconclusive、not-installable —— 并且没有评分。状态说明的是跑了多少,而不是插件有多好。每个徽章都链接到报告,报告里每条结论都链接到它背后的证据。 一批要花多少成本 实测,不是估算:每个对象约 94 秒,而且分布很平,因为成本来自固定的准备工作(L5 要采样启动六次,L3 要一个无头配置档和两次安装),与对象本身无关。20 个对象的一批大约要 31 分钟 CI。verify_specs 接收逗号分隔的列表。 对象普查 docs/survey/ 回答了一个报告回答不了的问题:有多少包自称是 DSH 插件,而实际真是。npm dsh-plugin 关键词下的前 250 个包里,240 个声明了可安装的 bundle,但只有 130 个与固定版本的运行时 peer 兼容 —— 也就是说 110 个会在安装时被拒。只查注册表元数据;不用容器,不用凭据,26 秒。 时效与更正 报告是快照。catalog/staleness.json 记录了哪些对象此后重新发布过,站点会标出来 —— 过期的报告不是错的报告,它描述的是已不再是最新的那个版本。 更正是增量的,并且有机械化的把关:supersedes 加上一条 changelog 记录,其描述由两份报告共同计算得出,所以更正无法错误描述自己,而删掉证据的修订会被拒绝。参见 docs/appeals.md。 这个验证器实际遇到过的每一次失败,都按事件列在 docs/method.md § 6 —— 八次误报、四次漏报、三次误通过,其中两次已修复。 已知限制 engines.dsh 是声明式的,不强制执行,而 @deepseek-ai/dsh* 上的 peerDependencies 是强制执行的,不兼容的安装会被拒绝。用裸名解析插件不安全 —— 官方 replay 适配器的 latest 标签指向一个不可用的版本。静态分析无法证明意图,也看不到动态构造的代码,bundle 归属只能尽力而为。完整列表在 docs/method.md § 5。 许可证 MIT。许可证覆盖本仓库的方法、工具和报告。它不授予任何第三方插件的权利,这里的报告也不构成背书、认证或担保。DSH 本身是 DeepSeek 的另一个项目;本仓库独立,与其无关联。
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
citrusli2026/dsh-verified-plugins
装上跑一遍,用可复现证据验证插件真实表现
相关插件 · 市场 / 管理
插件精选列表awesome-dsh-plugin/awesome-dsh-plugin
DeepSeek Harness(dsh)插件精选列表
★ 22,025未汉化DSH
73.6
新词雷达zhuyansen/new-term-radar
new-term-radar新词雷达
★ 2,049已汉化MCP
72.8
插件生态导航0xsline/awesome-deepseek-harness
安装 贡献指南 DeepSeek Docs 公开插件目录 Issues
★ 1,188已汉化DSH
72.6
技能注册中心iflytek/skillhub
企业级开源智能体技能注册中心——发布、发现并管理组织内可复用的技能包。
★ 5,358已汉化DSH
71.9
插件市场目录imsai-sh/awesome-deepseek-harness-plugins
面向 DeepSeek Harnessdsh生态的社区插件目录,共收录 13938 个插件含 PR 收录与…
★ 350已汉化DSH
71.8
插件精选清单Anil-matcha/awesome-dsh-plugin
DeepSeek Harnessdsh精选指南——DeepSeek…
★ 1,013已汉化DSH
71.7
这是你的仓库?认领条目