把「这台机器跑不跑得动这个模型」变成一次 HTTP 调用
三个只读端点,返回我们已经归一化、去重、分过证据级别的读数。 你不必自己爬论坛再猜哪条可信——证据级别随答案一起返回, 区间也一起返回,— 与 0 分开。
每个响应都带 data_status 字段自报来源,
见页面顶部那条来源标识。
三个端点
下面的响应是这一页真的去取了一次得到的,不是手抄的样例—— 请求可以原样粘到终端里跑。
能不能跑 · 多快
GET /v1/can-run
hardware=rx7900xtx&model=qwen3-32b&quant=q4_k_m
一条记录都给不出时 runnable 返回 null(「不知道」),而不是 false(「跑不动」)——这三态是刻意的。
请求 · 复制到终端就能跑(换成你自己的域名)
{
"runnable": null,
"tps_p50": null,
"tps_range": null,
"n_runs": 0,
"evidence": null,
"best_framework": null,
"data_status": "sample"
}
按条件找记录
GET /v1/find-runs
model=qwen3-32b&limit=1
每条都带 href,指向本站对应的记录详情页;raw 是归一化前的社区原样写法,方便你核对我们有没有归一化错。
请求 · 复制到终端就能跑(换成你自己的域名)
{
"runs": [
{
"id": "pipeline-run-12",
"model": {
"name": "Qwen3-32B",
"quant": "Q4_K_M"
},
"rig": {
"name": "Apple M3 Max · 128G 统一内存"
},
"framework": {
"name": "llama.cpp",
"version": "b6120"
},
"metrics": {
"decode_tps": 12.9,
"prefill_tps": 439.2,
"ttft_cold_ms": 8780,
"vram_peak_gb": 23.5
},
"evidence": "L1",
"sample_size": 15,
"repro_count": 0,
"status": "stable",
"source": {
"platform": "bilibili",
"url": "https://www.bilibili.com/video/araoai-demo-12",
"fetched_at": "2026-09-14T00:00:00Z"
},
"fetched_at": "2026-09-14T00:00:00Z",
"raw": {
"hardware": "apple_m3_max",
"model": "Qwen/Qwen3-32B-GGUF",
"quant": "Q4_K_M",
"framework": "llama.cpp"
},
"href": "/run/pipeline-run-12"
}
],
"total": 3,
"limit": 1,
"min_evidence": "L0",
"data_status": "sample"
}
取一条断言
GET /v1/claim/:id
value / range / n_repro / repro_chain 全是推导结果,不是文件里写的——断言不能自称复现次数。
请求 · 复制到终端就能跑(换成你自己的域名)
这条示例暂时取不到。
打算怎么卖
现在还没有收费,也没有配额限制。没有计量、没有鉴权、没有 key, 上面三个端点此刻对所有人开放。下表是我们打算怎么定价,不是现在的状态—— 把它当锚点看,别当账单看。
| 档位 | 价格 | 配额 | 范围 |
|---|---|---|---|
| Free | ¥0 | 1,000 次/月 | L0 数据 |
| Pro | $49/月 | 100,000 次/月 | 全量数据 + L1/L2 |
| Scale | $499/月 | 无限 | 批量导出 + 优先支持 |
价格逐字取自产品文档:Free 档写作 ¥0,另两档写作美元——
这个不一致是原文档里的,我们没有在展示层擅自统一,留待定价定稿时一并处理。
「Key 管理」这一项还没有做:没有账号系统,所以也没有"登录后"。 我们不在这里放一个注册按钮——点下去 404 的入口比没有入口更糟。
给 agent 用的 MCP
尚未上线。这一节写的是打算做成什么样,不是现在能接的东西。
上面三个端点是拉的:你的 agent 得自己决定什么时候查、查什么。 但"这台机器跑不跑得动这个模型"往往不是 agent 主动想查的—— 是它在写部署脚本、在给你推荐模型时顺带需要的一个事实。 MCP 要做的是把这件事变成一个可以直接调用的工具:给它机器和模型, 它拿回的是我们已经归一化、去重、分过证据级别的答案, 而不是一堆需要它自己再去猜可信度的论坛帖子。
它属于「实时与告警」那条线(产品文档里的线 2): 拉接口给的是当前快照,MCP 还能反过来推——你关注的那个组合有新记录、 或者你依赖的那条断言失效了,主动告诉 agent。
我们不给配置片段。一段复制不了的 mcpServers 配置,
和上面那个点下去 404 的注册按钮是同一个错误。做好之后这里会出现真正能跑的东西。
现在到底能用什么
-
能用:上面三个端点,无需注册、无需 key、没有配额,
直接请求即可。
每个响应里的
data_status字段会自报这一点。 - 没有:计量、鉴权、配额、key、账号——都没有。 所以定价表只是锚点,不是账单。
- 没有:MCP server(上面那一节)。
- 没有:实时推送与 webhook。现在只有拉接口。
-
不属于对外契约:本站页面自己调用的
/api/*(例如/api/runs)不在这里承诺——它是我们自己页面用的, 字段随时会变。要接就接/v1/*。 -
数据的边界:绝大多数记录是社区自报(L0)。证据级别随答案一起返回,
请按级别决定你信多少——
L0是"有人这么说",不是"我们验证过"。
这一页怎么读
-
上面的响应是真的。每次打开这一页,服务端都会用同一组固定参数
走一遍与
/v1/*完全相同的装配代码, 再把它格式化出来。所以示例不会和接口对不上—— 对不上就说明我们两边写了两份实现,那是 bug。 -
响应块不给复制按钮,是故意的。响应块太长时会被略去一部分,
并在下面写明「上面是前 N 行」——复制一份截断的 JSON 去解析,
只会让你以为接口坏了。要复制就复制上面的
curl。 (此刻三个示例都完整,没有被略去。) -
null不是false。runnable: null的意思是"在我们要求的证据门槛上, 我们没有证据"——这是不知道,不是跑不动。 判n_runs === 0就够了。 -
data_status每个响应都有。 它自报这批数据是示例还是真实采集。一个不告诉你来源的数字, 和一个编造的数字,在读者眼里没有区别。 -
证据级别决定你该信多少。
L0是"有人这么说",L1/L2才有独立复现。级别随答案一起返回,别只看tps_p50。