插件索引数据接口
一次请求返回全部收录插件的轻量摘要——验证等级、安全状态、风险等级与计数。面向 agent 与工具链(dsh-plugin-finder 等)。
| URL | 说明 | 更新 |
|---|---|---|
/plugins-index.json | 插件市场轻量摘要——全部插件的状态 / 风险等级 / 计数(不含逐条 findings 明细)。单请求覆盖全插件市场。 | 随站点部署重建(索引与站点一同生成) |
/plugins-index.slim.json | 选型子集——同一份注册表,够用来按验证等级筛选、按星标排序、看风险等级、跟 repoHealth.renamedTo 跳转。去掉简介、证据链接、扫描计数、能力摘要与安装徽章,传输量约为前者的三分之一。 | 随站点部署重建 |
JSON 接口支持跨域读取:Access-Control-Allow-Origin: *,无需 API Key 或注册。
只做「选型」(等级、星标、风险、健康度)时用 /plugins-index.slim.json,再按 alias 打单插件端点取明细;还需要简介、能力摘要、逐规则扫描计数或证据链接时用 /plugins-index.json。两者的 id / alias / generatedAt 完全一致,任一缓存都能和另一份对上号。
| 字段 | 类型 | 语义 |
|---|---|---|
generated | string (YYYY-MM-DD) | 索引构建日期 |
generatedAt | string (ISO) | 构建时间戳——缓存该数据时应一并保留 |
source | string | 索引来源页面 |
count | number | 插件条目数量 |
plugins[] | array | 每个收录插件一条(字段如下) |
plugins[].id | string | 插件 id(与 plugins.json 的 id、artifact slug 一致) |
plugins[].alias | string | null | 该插件的 @作者/插件名 地址——单插件端点(/artifact/、/data/install/、/plugin/)唯一接受的寻址形式;同时内嵌在每条 evidence 链接里 |
plugins[].name | string | 展示名 |
plugins[].description | string | 仓库描述,截断至 300 字符 |
plugins[].stars | number | GitHub star 数(未知为 0) |
plugins[].topics | string[] | 命中的用例 / 能力主题标签 |
plugins[].install | string | null | 可直接粘贴的安装命令(dsh plugin --profile web add …)。null = 不可 dsh plugin add(生态应用,见 kind);生态插件有安装命令(装得上,但不挂载插件能力) |
plugins[].kind | string(可选) | 仅非插件条目携带:ecosystem-app = 桌面 / Web 壳或 L4 无判定,无安装命令;ecosystem-plugin = 可 dsh plugin add 装上,但未声明 dsh.bundle、不挂载能力 |
plugins[].source | string(可选) | 源码仓库地址——非插件条目携带,安装位回退到仓库页 |
plugins[].download | string(可选) | 该条目最新的 GitHub Release 地址(存在时;非插件条目) |
plugins[].url | string | 插件详情页绝对地址 |
plugins[].verification | object | level(1–5)、label(人类可读)、lastVerifiedAt——与插件市场 UI 共享同一推导层,索引永远与站点展示一致 |
plugins[].security | object | status、riskLevel、scannedAt,有则附 counts 与 filesScanned。不含 findings 明细——完整扫描记录用 /artifact/@作者/插件名.json |
plugins[].repoHealth | object(可选) | 仓库健康标记:status(renamed / deleted / 摘话题)与 renamedTo(如适用)——机器消费者可据此感知插件迁移 |
license | object | 数据来源与复用条款——聚合自公开来源,需注明来源 |
诚实原则:验证与安全字段由与插件市场 UI 相同的共享推导层(src/data/artifacts.ts)计算——索引永远与站点展示一致。UI 隐藏的条目(repoHealth 打标)仍保留在索引中并附带标记。
获取全量索引(或在浏览器打开 /plugins-index.json):
消费建议:按 verification.level 过滤、按 stars 排序、关注 security.riskLevel,并遵循 repoHealth.renamedTo 的跳转。
上面的 plugins[] 字段表描述的是 /plugins-index.json;/plugins-index.slim.json 只带其中这个子集:id, alias, name, stars, topics, install, kind, source, download, url, verification{level,label,lastVerifiedAt}, security{status,riskLevel,scannedAt}, repoHealth——取值与原 feed 同源投影,不另算一套。索引随每次部署从只追加的验证记录与公开插件市场数据重建。字段只增不删:既有字段不会移除或改名。JSON 可免费引用,需注明来源 dsh.so;新增字段见 更新日志。