HTTP 参考

CLI Finder Registry API

通过无需认证的只读 JSON 接口搜索 CLI 工具、读取证据并生成适合 Agent 的 Artifact。

快速请求

基础地址是 https://clifinder.net。所有公开 API 只接受 GET 或 OPTIONS,不需要 API Key。

curl
curl --get 'https://clifinder.net/api/registry/tools' \
  --data-urlencode 'q=review pull requests' \
  --data-urlencode 'agent=codex' \
  --data-urlencode 'environment=headless' \
  --data-urlencode 'maxRisk=R1' \
  --data-urlencode 'output=json' \
  --data-urlencode 'limit=5'

成功响应包装

公开的 /api/registry/* 接口都返回 { code: 0, message: "ok", data: ... }。不要把 HTTP 200 本身当作完整成功判断;客户端还应检查 code 和 data。

接口

搜索接口返回匹配原因和完整工具对象;详情接口返回单个完整工具;Artifact 接口返回文件名、媒体类型与文本内容。

GET/api/registry/tools
搜索工具
全文任务查询与多维过滤。默认最多返回 20 条,可通过 limit 调整到 1–100。
curl
curl -s 'https://clifinder.net/api/registry/tools?q=parse%20json&maxRisk=R1&limit=3'
GET/api/registry/use-cases
列出工作流
读取全部双语 Agent 工作流,包括工具组合、输入输出、步骤、确认节点、回滚和证据。该接口不接受查询参数。
curl
curl -s 'https://clifinder.net/api/registry/use-cases'
GET/api/registry/use-cases/:slug
读取工作流详情
按 Slug 读取一个完整工作流。内容同时包含 en 和 zh,调用方可在本地选择语言。
curl
curl -s 'https://clifinder.net/api/registry/use-cases/review-github-prs'
GET/api/registry/tools/:slug
读取工具详情
读取安装方式、认证、输出、命令、Readiness、风险、证据和兼容性。该接口不接受查询参数。
curl
curl -s 'https://clifinder.net/api/registry/tools/github-cli'
GET/api/registry/artifacts/:slug
生成 Artifact
type 必填;agent 和 mode 可选。响应 data.content 包含生成文件的原始文本。
curl + jq
curl -s 'https://clifinder.net/api/registry/artifacts/github-cli?type=skill-md&agent=codex&mode=read-only' \
  | jq -r '.data.content'
GET/registry.json
同步完整 Manifest
直接返回 schemaVersion、更新时间、分类、工具和旧 Slug 重定向,不使用 code/message/data 包装。
curl
curl -s 'https://clifinder.net/registry.json' -o registry.json

搜索参数

参数只能出现一次。agent、environment、risk、category 和 evidence 接受逗号分隔的多个值;maxRisk 只接受一个值;未知参数会返回 400。

参数允许值说明
qstring ≤ 200任务、工具名或能力关键词;省略时按过滤条件浏览全部工具。
agentclaude-code, codex, gemini-cli, copilot-cli按工具明确记录的 Agent 兼容性过滤,可使用逗号组合。当前四种 Agent 都能运行 Shell,因此不要把兼容性误读为已执行验证。
environmentlocal, ci, container, headless, remote按明确记录的运行环境过滤。缺少某个环境表示 Registry 没有声明兼容,不代表工具绝对无法运行。
riskR0, R1, R2, R3匹配含有对应风险级别命令的工具;风险是命令级信号。
maxRiskR0, R1, R2, R3只返回 maximumLevel 不高于该值的工具。它与网页“最高风险”筛选语义一致,且只接受一个值。
outputformat string按记录的输出格式匹配,例如 json、yaml 或 csv;可用逗号组合。
categorycode-collaboration, deployment-cloud, containers-kubernetes, databases, data-text, http-webhooks, web-automation, security, operations-infrastructure按注册表分类 Slug 过滤,可使用逗号组合。
evidenceverified, docs-verified, maintainer-submitted, community-reported, unverified按证据可信度过滤,不等同于 Readiness 或低风险。
limit1–100; default 20限制返回 items 数量;total 仍表示全部匹配数。

Artifact 类型

调用 /api/registry/artifacts/:slug 时必须传 type。mode 可选 read-only、standard 或 advanced。agent 可选 claude-code、codex、gemini-cli 或 copilot-cli。

type文件名用途
skill-mdSKILL.md面向 Agent 的工具使用 Skill。
agents-mdAGENTS.md可合并到仓库的 Agent 指令。
claude-mdCLAUDE.md可合并到 CLAUDE.md 的 Claude Code 指令片段。
claude-policyclaude-settings.jsonAgent 或 shell 的命令策略。
codex-policycodex-policy.rulesAgent 或 shell 的命令策略。
gemini-policygemini-policy.tomlAgent 或 shell 的命令策略。
shell-allowlistshell-allowlist.txtAgent 或 shell 的命令策略。
manifest-jsonclifinder.json单工具机器可读 Manifest。
manifest-yamlclifinder.yaml单工具机器可读 Manifest。
manifest-schemaclifinder.schema.json用于校验单工具 Manifest 的独立 JSON Schema。
dockerfileDockerfile可复制到自动化项目的运行文件。
github-actionsclifinder.yml可复制到自动化项目的运行文件。

策略类型限制

claude-policy 只支持 agent=claude-code,codex-policy 只支持 agent=codex,gemini-policy 只支持 agent=gemini-cli。若省略 agent,服务会根据策略类型推断;冲突组合返回 400。

安全模式边界

read-only 只保留 R0,并禁用 R1–R3;standard 对 R1 默认提示,并禁用 R2–R3;advanced 可把 R2 扩大到明确审批,但仍永久禁用 R3。只有逐条审计并明确标为 suffix-safe 的 R0/R1 前缀才可能自动允许;其他可用前缀始终需要提示。

响应、错误和缓存

API 错误使用 HTTP 状态与 code=-1;错误响应不缓存。客户端应保留 message,但不要依赖 message 文本做分支。

成功示例

application/json
{
  "code": 0,
  "message": "ok",
  "data": {
    "query": "review pull requests",
    "filters": { "agent": "codex", "maxRisk": "R1" },
    "items": [],
    "total": 0,
    "limit": 5
  }
}

错误示例

HTTP 400 · application/json
{
  "code": -1,
  "message": "Limit must be an integer between 1 and 100"
}
状态场景处理
200code=0请求成功;读取 data。空搜索也会返回 200 和空 items。
204OPTIONSCORS 预检成功,无响应体。
400code=-1缺少 type、未知/重复参数、无效枚举、Limit 或 Slug。
404code=-1有效 Slug 格式,但注册表中没有该工具。

CORS

Access-Control-Allow-Origin 为 *,允许 GET 和 OPTIONS;预检结果最多缓存 86400 秒。

缓存策略

API:浏览器 60 秒、共享缓存 300 秒、stale-while-revalidate 86400 秒。registry.json:浏览器 300 秒、共享缓存 3600 秒。错误为 no-store。