使用指南
协议互转
四种入站协议(OpenAI / Anthropic / Gemini / DashScope)在同一 base URL 上互通,以及跨协议时的字段映射边界。
网关接受四种入站协议,并按请求体里的 model 选择上游厂商。入站协议与目标厂商互相独立 ——
这是「用 Anthropic SDK 调 Claude」「用 Anthropic SDK 调 GPT」「用 OpenAI SDK 调 Gemini」都能成立的原因。
端点速查
| 协议 | 端点 | 典型客户端 |
|---|---|---|
| OpenAI Chat Completions | POST /v1/chat/completions | OpenAI SDK、绝大多数第三方客户端 |
| OpenAI Responses | POST /v1/responses | OpenAI Responses API |
| Anthropic Messages | POST /v1/messages | @anthropic-ai/sdk、Claude Code |
| Gemini | POST /v1beta/models/{model}:generateContent | google-genai |
| DashScope | POST /v1/services/aigc/text-generation/generation | 阿里云 DashScope SDK(去掉 /api 前缀) |
映射的三条规则
- 消息结构按入站协议解释。Anthropic 的
system顶层字段、Gemini 的contents[].parts、 OpenAI 的messages[]各自解析,不要求你改写请求体。 - 能力按目标模型判定。目标模型不支持工具调用时,即使入站协议里带了
tools,也返回错误, 不会静默丢弃工具定义。 - 响应按入站协议返回。用 Anthropic 协议调用 GPT 模型,拿到的是 Anthropic Messages 结构的响应; 客户端不需要按上游厂商分支。
已知边界
| 场景 | 行为 |
|---|---|
| 流式 | 四种协议都支持 SSE;/v1/systemone 不支持 |
| 工具调用 | 取决于目标模型是否支持 |
| 视觉输入 | 取决于目标模型;不同协议的图片字段形态不同,网关负责换算 |
| 音频 / 实时双向 | 当前不在文档承诺范围内 |
不要依赖未文档化的字段透传
跨协议时,厂商独占字段(例如 OpenAI 的 logprobs、Anthropic 的 cache_control)不保证在映射后仍然生效。
需要这些能力时,用目标厂商的原生协议入口。
System One 不属于互转体系
/v1/systemone 是 Jev 决策模型的同协议透传:请求体是 {state, questions},
响应是带概率的类型化决策(choice / score / noul)。它没有 messages 概念,
不支持流式,也不参与上面四种协议的互转。