插件搜索 API

用一个稳定、只读的接口搜索已发布且通过验证的社区插件。

GET/api/v1/plugins/search
公开访问 无需认证 60 次 / 分钟

实时调试

调整参数并直接向当前站点发送请求。

请求 URL
https://dshpluginhub.dev/api/v1/plugins/search?locale=zh&sort=stars&page=1&per_page=20
cURL
curl --request GET 'https://dshpluginhub.dev/api/v1/plugins/search?locale=zh&sort=stars&page=1&per_page=20' \
  --header 'Accept: application/json'

响应

发送请求后,格式化 JSON 将显示在这里。

查询参数

所有筛选均在服务端执行,空结果返回 200 和空数组。

参数规则
q可选;规范空白后最长 100 字符。
localezh 或 en;默认 en。
category可选;使用市场现有分类。
typehost、client 或 hybrid。
sourcenpm 或 github。
sortrelevance、growth、stars、newest 或 active。
page1-1000;默认 1。
per_page1-50;默认 20。

返回结构

响应包含插件公共信息、兼容性、指标、时间戳、链接和分页元数据。

items[]11

idstring
GitHub 仓库数值 ID,也是插件的稳定标识。
slugstring
由 owner/repository 组成的仓库标识。
namestring
插件展示名称。
ownerstring
GitHub 仓库所有者。
repostring
GitHub 仓库名称。
descriptionstring
按请求语言返回的插件简介。
typehost | client | hybrid
插件运行形态。
categorystring
市场分类枚举值。
topicsstring[]
GitHub 仓库 Topics。
languagestring
GitHub 检测到的主要语言。
licensestring
仓库许可证 SPDX 标识。

items[].package6

namestring
可安装的软件包名称。
versionstring
当前验证通过的版本。
sourcenpm | github
安装来源。
sourceSpecstring
包含锁定版本的完整安装来源规格。
installCommandstring
可直接执行、安装当前最新版本的 DSH 命令。
profilestring
安装命令使用的 DSH Profile。

items[].compatibility4

verificationLevelstatic-checked | runtime-verified
区分静态目录检查与真实运行时验证。
harnessVersionstring
执行兼容性验证时使用的 DSH 版本。
smokeStatusstring
静态或运行时冒烟验证状态。
validatedAtstring
最近验证时间,ISO 8601。

items[].metrics5

starsnumber
当前 GitHub Star 数。
starsDelta1dnumber | null
最近两个成功日快照之间的 Star 变化;缺少基线时为 null。
forksnumber
当前 GitHub Fork 数。
openIssuesnumber
当前未关闭 Issue 数。
viewsnumber
插件市场详情页累计浏览量。

items[].timestamps3

listedAtstring
首次被市场收录的时间,ISO 8601。
lastPushedAtstring
GitHub 仓库最近推送时间,ISO 8601。
sourceUpdatedAtstring
源数据最近同步时间,ISO 8601。

items[].links2

detailstring
当前语言的插件详情页绝对地址。
repositorystring
GitHub 仓库地址。

pagination4

pagenumber
当前页码。
perPagenumber
当前每页数量。
totalnumber
符合条件的插件总数。
totalPagesnumber
结果总页数。

meta5

apiVersionv1
当前 API 版本。
localezh | en
本次响应使用的语言。
querystring
规范化后的搜索词;未提供时为空字符串。
sortstring
本次响应使用的排序方式。
dataUpdatedAtstring | null
结果数据最近更新时间,ISO 8601。

完整响应示例

成功请求返回 200;下面示例包含所有公开字段。

200 OK
{
  "items": [
    {
      "id": "1163808211",
      "slug": "liustack/modlens",
      "name": "modlens",
      "owner": "liustack",
      "repo": "modlens",
      "description": "为纯文本编码代理提供 OCR、版面与语义视觉证据。",
      "type": "hybrid",
      "category": "multimodal-creative",
      "topics": [
        "dsh-plugin",
        "vision",
        "ocr"
      ],
      "language": "TypeScript",
      "license": "MIT",
      "package": {
        "name": "@liustack/modlens",
        "version": "3.22.1",
        "source": "npm",
        "sourceSpec": "@liustack/modlens@3.22.1",
        "installCommand": "dsh plugin --profile web add @liustack/modlens",
        "profile": "web"
      },
      "compatibility": {
        "harnessVersion": "0.1.0-rc.7",
        "verificationLevel": "static-checked",
        "smokeStatus": "static-passed",
        "validatedAt": "2026-08-21T02:00:00.000Z"
      },
      "metrics": {
        "stars": 3393,
        "starsDelta1d": 24,
        "forks": 91,
        "openIssues": 2,
        "views": 420
      },
      "timestamps": {
        "listedAt": "2026-08-19T01:20:29.105Z",
        "lastPushedAt": "2026-08-20T14:19:24.000Z",
        "sourceUpdatedAt": "2026-08-21T02:00:00.000Z"
      },
      "links": {
        "detail": "https://dsh-plugin-hub-blond.vercel.app/zh/plugins/liustack/modlens",
        "repository": "https://github.com/liustack/modlens"
      }
    }
  ],
  "pagination": {
    "page": 1,
    "perPage": 20,
    "total": 216,
    "totalPages": 11
  },
  "meta": {
    "apiVersion": "v1",
    "locale": "zh",
    "query": "vision",
    "sort": "relevance",
    "dataUpdatedAt": "2026-08-21T02:00:00.000Z"
  }
}

错误与限流

非法参数返回 400;超出匿名额度返回 429;临时不可用返回 503。

匿名客户端默认每分钟 60 次、每天 2000 次。响应头会返回剩余额度和重置时间。

限流仅保存每日变化的 IP HMAC 摘要,不保存原始 IP。