dshlib 图书馆开放数据接口——插件目录、验证证据、图书馆统计。任何市场/工具可消费。
| 项 | 值 |
|---|---|
| Base URL | https://compliancehub.cn |
| 格式 | JSON(Content-Type: application/json) |
| 认证 | 公开只读,无需鉴权 |
| 限流 | 当前无(实验阶段);大量消费请带合理间隔 |
/api/dshlib/stats
图书馆统计:插件总数、各级认证(L0-L4)、Awesome 收录数。
curl https://compliancehub.cn/api/dshlib/stats
{
"total": 401,
"levels": { "L0": 85, "L1": 312, "L2": 1, "L3": 3, "L4": 0 },
"awesome": 49,
"source": "dshlib store open API"
}
/api/dshlib/catalog
插件目录(全量,减负字段)。支持过滤参数:
?tag=L1 — 按标签过滤(L1/L2/L3/L4/Awesome 等)?level=L3 — 按认证等级过滤curl "https://compliancehub.cn/api/dshlib/catalog?level=L3"
{
"count": 3,
"plugins": [
{ "name": "dsh-plugin-tools", "title": "...", "did": "did:cha2a:package:@wwumit/dsh-plugin-tools", "tags": ["质量","L3"], ... }
]
}
/api/dshlib/catalog/<name>
单插件详情(name 或完整包名)。
curl https://compliancehub.cn/api/dshlib/catalog/dsh-plugin-tools
/api/dshlib/verification
验证证据(有真实验证记录的插件):DID + 验证证据描述。
curl https://compliancehub.cn/api/dshlib/verification
{
"count": 4,
"verified": [
{ "did": "did:cha2a:package:dsh-cc-tui", "id": "dsh-cc-tui",
"evidence": "dshlib verify_evidence 2026-08-19 (npm integrity sha512 + bundle + patch)" }
]
}
/api/dshlib/submissions
上架申请(唯一写接口)。
curl -X POST https://compliancehub.cn/api/dshlib/submissions \
-H 'Content-Type: application/json' \
-d '{"type":"npm","pkg":"my-dsh-plugin","author":"me","desc":"..."}'
提交后进入队列,验证通过自动上架(npm/git 来源均支持)。
| 等级 | 含义 | 判定依据 |
|---|---|---|
| L0 | 未认证(默认) | 无声明——"未认证 ≠ 不可信,仅未声明" |
| L1 | 完整性 | 内容指纹(npm dist.integrity / contentIdentity) |
| L2 | 来源 | L1 + 作者署名 |
| L3 | 发行 | L2 + 发行方/验证方背书(真实验证证据) |
| L4 | 生态 | L3 + 多方证据/披露一致(预留) |
const res = await fetch('https://compliancehub.cn/api/dshlib/catalog?level=L1');
const { plugins } = await res.json();
for (const p of plugins.slice(0, 5)) {
const did = p.did; // did:cha2a:package:<name>
const [type, id] = did.replace('did:cha2a:', '').split(':');
console.log(`L1 徽章: https://compliancehub.cn/badge/${type}/${encodeURIComponent(id)}`);
}