基于 DSH 插件认证登记的只读 MCP 服务,对外提供插件的认证等级、其快照以及支撑它的五维证据。
安装
# npm 包(预构建)
dsh plugin --profile web add dsh-cert-mcp
# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)
dsh plugin --profile web add github:PerryLink/dsh-cert-mcp
装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。GitHub 来源的插件还会在安装时执行构建脚本——pnpm 默认拦截,所以安装可能停在 ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED 或 ERR_PNPM_IGNORED_BUILDS;dsh 会打印出需要添加的确切键名,把它加进该 profile 的 pnpm-workspace.yaml 的 allowBuilds 下,重跑一次即可装上。放行构建本身就是一次信任判断:请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。
README
🧊 2026-10-31 起冻结,仅作参考。 不再新增认证功能;registry 仍在
dsh-plugin-certification。
维护状态:🧊 已冻结
2026-10-31 起冻结。这个只读 MCP 端点继续作为参考集成;认证数据归 dsh-plugin-certification 所有。
English · 简体中文 · Español · Português · हिन्दी
dsh plugin --profile <name> add dsh-cert-mcp
只读 MCP 服务器,对外暴露 dsh-plugin-certification 注册表:DeepSeek Harness(DSH)插件的认证等级、快照日期与五维证据。零运行时依赖,stdio 传输。
安装
dsh plugin --profile web add github:PerryLink/dsh-cert-mcp
git clone https://github.com/PerryLink/dsh-cert-mcp
cd dsh-cert-mcp
node src/index.js # stdio 服务器
也可以直接从已发布的 npm 包运行:npx dsh-cert-mcp。
在 MCP 客户端中注册
Claude Code:
claude mcp add dsh-cert -- node <path-to-repo>/src/index.js
Claude Desktop(claude_desktop_config.json):
{
"mcpServers": {
"dsh-cert": {
"command": "node",
"args": ["<path-to-repo>/src/index.js"]
}
}
}
DSH:通过 dsh-mcp-panel 以 stdio 服务器方式添加,或使用任何支持 stdio 的 MCP 客户端。
作为 DSH bundle 安装
本包声明了 dsh.bundle.patch → cordis.patch.yml,因此也可作为 DeepSeek Harness bundle 安装:
# git 通道(main 最新)
dsh plugin --profile web add github:PerryLink/dsh-cert-mcp
# npm 通道(已发布版本)
dsh plugin --profile web add dsh-cert-mcp
插入的 row 通过标准 Cordis 插件契约加载本包:host 半边是普通 ESM 模块,具名导出 name、inject 与 apply(ctx)。本包不含浏览器 UI,因此没有 dsh.client 声明。
// bundle 入口(host 半边)—— patch row 加载的契约
export const name = 'dsh-cert-mcp'
export const inject = ['tools'] // 宿主工具面,由 dsh-tools 提供
export function apply(ctx) {
// 注册只读认证查询面
// (get_certification / list_certified / certification_spec)
}
host 半边需要 tools 服务(由 @deepseek-ai/dsh-tools 提供)。缺少该服务的 profile 不会静默丢失工具:Cordis 会把这个 row 停在 PENDING,在 profile 的插件列表里看得见。除此之外不需要任何东西——没有配置键、没有凭据,加载期也不联网。
两个半边,同一条数据路径。 bundle row 与 stdio 服务器是同一份 handleRequest 核心的两个入口。server 半边是独立进程,任何 MCP 客户端都能拉起(node src/index.js),它不在插件路径上:安装本 bundle 不会启动它,卸载本 bundle 也不会碰它;反过来 npx dsh-cert-mcp 不会在 DSH 工具面上注册任何东西。
卸载:dsh plugin --profile web remove dsh-cert-mcp(或从 profile patch 里删掉该 row)。上面的独立 stdio MCP 服务器对任何 MCP 客户端照旧可用。
What is dsh-cert-mcp?
只读 MCP 服务器,对外暴露 dsh-plugin-certification 注册表:DeepSeek Harness(DSH)插件的认证等级、快照日期与五维证据。零运行时依赖,stdio 传输。
工作流概览:安装 → 打开面板 → 操作。下面的示例使用实际命令面。
同一次运行,动图版。
工具
| 工具 | 输入 | 返回 |
|---|---|---|
get_certification |
owner、repo |
完整认证记录(等级、快照、五个维度、否决项、备注)或「无记录」 |
list_certified |
— | 公开注册表的全部条目:仓库 / 等级 / 快照 |
certification_spec |
— | 规范 v1 摘要:五个维度、等级刻度、否决规则 |
内嵌快照位于 data/attestations.json(由认证仓同步而来),服务器最多每五分钟从公开注册表刷新一次。不写入、不涉及密钥、不执行代码。
为什么需要它
DeepSeek Harness 官方仓不运营插件注册表,也不接受外部 PR;发现渠道是 dsh-plugin GitHub topic 与社区列表,而它们都不做认证。dsh-plugin-certification 把「这个插件我能不能装」变成可复现的五维检查(清单、构建卫生、供应链 Scorecard、发布溯源、沙箱安装冒烟),并给出公开注册表与 README 徽章。本 MCP 服务器是同一份数据的 agent 界面:agent 在推荐或安装某个插件之前,可以先查它的认证记录。
注册表
数据源:PerryLink/dsh-plugin-certification —— data/attestations.json,规范 v1。
注册表是什么,以及本服务给出简短回答意味着什么。 注册表是一个自愿加入的子集:只有被评估过并留下记录的仓才会出现在里面,所以"查不到记录"不等于该插件未认证,list_certified 只返回很少几行也不等于被评估的插件很少。撰写本段时随包快照里只有 1 条(grade A,快照日 2026-09-07);单条列表不具备统计意义 —— 一个等级只描述那一个仓,跨插件可排序的比较要等注册表积累到足够多才成立。每一次 list_certified 回复都带一个 coverage 对象把这件事说清楚,因此只读工具输出的 agent 不会把条数误当成生态覆盖率。快照日期是认证仓的事实,不是本服务的时效承诺:它与 dsh-plugin-certification 逐字节同步,进度与门禁都由那边负责。
兼容性
| 方面 | 状态 |
|---|---|
| Harness | DeepSeek Harness dsh-v0.2.1-rc.2(devDependencies 与声明的 engines.dsh 范围均已接纳该线;typecheck 与 5 项测试套件已对 @deepseek-ai/dsh-system-prompt / @deepseek-ai/dsh-tools 0.2.1-rc.2 跑绿) |
| Node | ^22.19.0 || >=24.0.0 |
| 声明的宿主范围 | engines.dsh:>=0.2.1-0 <0.3.0,并带 dsh.manifestVersion: 1 |
| peer | @deepseek-ai/cordis ^4.0.2。host 半边运行时另需 tools 服务;stdio 半边除 Node 外什么都不需要。 |
开发
pnpm install
pnpm run typecheck # 唯一类型尺子:对已发布 host 面做 checkJs
pnpm test # JSON-RPC 冒烟 + 真 Cordis 运行时套件
pnpm pack # 发布用 tarball
运行时套件挂载真实的 SystemPrompt/ToolRuntime 注册表,断言:挂载本包会把三个认证工具放进 ctx.tools.schemas();释放 fiber 后它们消失;缺少 tools 服务的上下文会让插件停在 PENDING。验收刻意不用 dsh --dump-config:在那里,已挂载的 row 与 pending 的 fiber 看起来一模一样。
本仓刻意只有一把类型尺子:@deepseek-ai/* 经本仓自己的 node_modules(钉住的 devDependencies,即已发布线)解析,且本包不声明任何 DSH peer,因此第二份 tsc 配置只会是量同一类型宇宙的同一条命令。typecheck:ci 脚本作为历史 no-op 副本保留(它唯一的额外键是空 paths: {}),只为兼容既有引用,不是第二个类型面。独立的第二份证据是上面的运行时挂载门。
PerryLink DSH Plugin Family
本项目是 PerryLink 维护的 DeepSeek Harness 插件家族成员。完整名单默认折叠,避免每个 README 的首屏被长表淹没;点击展开可查看每一行及其状态。
许可证
Apache-2.0。列表或等级是证据记录,不是安全保证:插件以你的权限运行在你的 DSH 进程内。
示例
以下为插件真实入口;安装后调用一个即可。
详细示例
命令
get_certification
输入
{
"owner": "PerryLink",
"repo": "dsh-auto-review"
}
输出
{
"repo": "PerryLink/dsh-auto-review",
"grade": "A",
"snapshot": "2026-09-07",
"dimensions": {
"manifest": { "result": "pass" },
"buildHygiene": { "result": "pass" },
"supplyChain": { "result": "pass", "score": 5.4 },
"releaseIntegrity": { "result": "pass" },
"installSmoke": { "result": "ok" }
},
"veto": null
}
来源 plugins/dsh-cert-mcp/src/server.js:192-199; data in plugins/dsh-cert-mcp/data/attestations.json:1-30; smoke test at plugins/dsh-cert-mcp/test/smoke.mjs:29-39
失败分支
输入
{"owner":"nobody","repo":"nothing"}
输出
No certification record for nobody/nothing in registry snapshot 2026-09-07.
来源 plugins/dsh-cert-mcp/src/server.js:191-199; plugins/dsh-cert-mcp/test/smoke.mjs:41-47; plugins/dsh-cert-mcp/data/attestations.json
简短示例
list_certifiedcertification_spec
链接
同类插件
yjh051108/dsh-routing-suite★ 6994
一个仓库三件套:DSH 插件包的运行时注入器(注入、热重载、卸载、开发侧挂区一键转正、路由自愈,外带设置页插件管理:列出、卸载、拖入文件夹内化)、任务感知的思维模式路由 agent 预设(router-standard / router-spec / router-react)、以及分级两级任务协议(commit_star / lock_stage / revise_do / edit_plan / mark_task / redteam_verdict 六个工具,任务状态落盘)。注入器实现直接在库内,安装的是它自己的行为而不是一份依赖清单。
strukto-ai/mirage#dsh★ 3762
把文件系统与 bash 提供者换成 mirage 虚拟工作区:文件工具与 shell 命令作用于挂载的资源(RAM、S3、Redis、Slack、Gmail、Notion、Postgres)而非宿主磁盘,支持按挂载点设置读/写/执行模式、按命令选择沙箱(进程内 monty、pyodide、quickjs;远程 docker、e2b、daytona),并可在虚拟终端中安装 CLI(git、gh、slack、linear、ntn、gws,或自行注册的程序树)作为命令头词。
first-fluke/oh-my-agent#dsh★ 1357
在工具执行前后以及尝试结束当前轮次时运行项目 OMA 检查。随插件安装 OMA CLI 依赖,并在首次使用时初始化未配置的项目。需要 Node.js 22+;首次初始化需要网络连接和项目目录写入权限。
MichengAI/dsh-skills-manager★ 444
在设置里管理本地 DSH 技能,并只读查看公共 Agent 技能。
hust-open-atom-club/oh-dsh★ 324
社区发行版:TUI、桌面端与 Web UI 统一体验,分层安装、一步到位。
Fishquito7/dsh-skill-mcp-panel★ 248
在 DSH Web 设置中管理技能与 MCP 服务器:技能卡片热启停、工作区作用域、分组、批量迁移与拖拽导入,以及 stdio/HTTP MCP 增删改查、连接测试、密钥脱敏,并附带统一 dsh-panel 命令行。
社区评论
评论公开保存在 GitHub Discussions。加载评论会连接 GitHub 和 Giscus;发表内容需要 GitHub 账号。