API 地址要不要带 /v1:OpenAI 兼容客户端怎么填 GrooRoute Pro 的 base_url
GrooRoute Pro 的 OpenAI 兼容地址是 https://grooroute.xyz/v1,带 /v1。大多数 OpenAI 兼容客户端只在你填的地址后面补 /chat/completions 或 /responses,所以要填带 /v1 的这一个。只有那些会自己补 /v1 的客户端才填不带 /v1 的根地址 https://grooroute.xyz:判断标准是最终请求路径里 /v1 恰好出现一次。
两个地址,各自给谁用
| 地址 | 适用的客户端 | 原因 |
|---|---|---|
https://grooroute.xyz/v1 | OpenAI 官方 SDK、Codex CLI、OpenCode,以及其他只补接口路径的 OpenAI 兼容客户端 | 客户端在后面补 /chat/completions 或 /responses |
https://grooroute.xyz | 会自己补 /v1 的客户端,例如按 Anthropic 协议调用、自己补 /v1/messages 的客户端 | 再填 /v1 就会变成 /v1/v1 |
平台登记的三个协议端点,完整路径都在 /v1 之下:
- OpenAI 兼容:
POST /v1/chat/completions - OpenAI Responses:
POST /v1/responses - Anthropic 兼容:
POST /v1/messages
端点登记不代表每个模型、每个档位都开放了这种协议,实际可用的协议以接入文档页按 Key 和模型给出的为准。
怎么判断客户端会不会自己补 /v1
规则只有一条:看客户端会不会自己在后面补 /v1。补的就不填,不补的就填。
- 客户端的输入框下面如果有「请求地址预览」,以预览为准:预览出来的完整地址里
/v1只能出现一次,例如https://grooroute.xyz/v1/chat/completions。 - 没有预览时,先填带
/v1的地址试一次。返回 404、报错信息里的路径是/v1/v1/…,说明这个客户端自己会补,改填根地址。 - 不要把完整的接口地址(以
/chat/completions或/responses结尾)填进 base_url,那一段由客户端补。
用 curl 自己验证
不带密钥发一个请求,就能看出地址对不对:
curl -i https://grooroute.xyz/v1/models
地址正确时,返回的是 401 和一段 JSON,说明请求已经到了接口,只是没有带 API Key。带上密钥再试:
curl https://grooroute.xyz/v1/models \
-H "Authorization: Bearer $GROOROUTE_API_KEY"
这次返回的是这把 Key 可用的模型列表。
填错了会看到什么
少了 /v1
客户端把请求发到了 https://grooroute.xyz/chat/completions 这样的路径。对下面这些请求,网关会补上 /v1 再处理,鉴权、限流和计费都和正确地址一样:
POST:/responses、/responses/compact、/chat/completions、/messages、/completions、/embeddingsGET /models:仅当请求带了Authorization头
被改写的请求,响应头里会多一行提示,告诉你正确的路径:
X-GrooRoute-Notice: base_url is missing /v1; use /v1/chat/completions
不在这个列表里的路径不会被改写。请求能通不代表配置正确,看到这行提示就把 base_url 改成带 /v1 的。
多了一次 /v1
路径变成 /v1/v1/chat/completions。网关没有这个接口,返回 404,error.type 是 invalid_request_error,报错信息形如:
Invalid URL (POST /v1/v1/chat/completions) | … | GrooRoute 上没有这个接口路径。请使用 /v1/chat/completions、/v1/responses 或 /v1/messages,并确认接口地址没有重复写 /v1(不要出现 /v1/v1)。 (request id: …)
中间省略的一段是同一句话的英文版。把 base_url 里的 /v1 去掉一个即可。
在浏览器里打开
https://grooroute.xyz/v1 是接口地址,不是网页。直接在浏览器里打开会得到 404 和上面那段说明,这是正常的,不代表服务不可用。要验证请用上面的 curl 命令,或者直接在客户端里发一次请求。
相关配置
具体客户端的写法见 OpenAI 官方 SDK、Codex CLI 和 OpenCode 三篇。其他状态码见常见报错排查。
常见问题
在浏览器里打开 API 地址显示错误,正常吗?
正常。它是给客户端调用的接口地址,不是网页;GET /v1 没有对应的接口,会得到 404。
少写了 /v1 会怎样?
POST /chat/completions、/responses、/messages、/completions、/embeddings,以及带 Authorization 头的 GET /models,网关会按带 /v1 的路径处理,并在响应头 X-GrooRoute-Notice 里提示。其他路径不会被改写。
多写了一次 /v1 会怎样?
路径变成 /v1/v1/…,网关没有这个接口,返回 404,错误信息会提醒不要出现 /v1/v1。
把完整接口地址填进 base_url 可以吗?
不可以。base_url 只填到 /v1 为止,/chat/completions 或 /responses 由客户端自己补。
最后更新: