协议说明
客户端接入时“选什么协议”是最常遇到的困惑。三种协议对应不同的端点和适用场景,本页把它们的区别和选择逻辑一次讲清楚。
三种协议概览
POST
OpenAI ResponsesPOST /v1/responses待验证新一代 OpenAI 接口,面向 Agent 和工具型应用;牛API 能力待逐项验证。
POST
Chat CompletionsPOST /v1/chat/completions待验证最通用的 OpenAI 兼容聊天接口,多数对话客户端默认使用;需按模型验证。
POST
Anthropic MessagesPOST /v1/messages实验性Anthropic 风格接口,Claude Code 使用;当前为实验性。
三种协议怎么选
| 使用场景 | 推荐协议 | 理由 |
|---|---|---|
| Cherry Studio / ChatBox / Open WebUI 等对话客户端 | 先试 Chat Completions,模型支持时再试 Responses | 兼容面最广;部分客户端需要手动在两种之间切换 |
| Codex CLI / 编程 Agent | OpenAI Responses | 官方配置默认 Responses,见 Codex 接入 |
| Claude Code | Anthropic Messages | 通过网关变量接入,见 Claude Code 接入 |
| 自己写 OpenAI SDK | Chat Completions 起步 | 生态最成熟,便于最小验证 |
三种协议的区别
| 维度 | Chat Completions | Responses | Messages |
|---|---|---|---|
| 端点 | /v1/chat/completions | /v1/responses | /v1/messages |
| 消息结构 | messages 数组 | input 字段 | messages 数组 + max_tokens |
| 典型使用者 | 对话客户端、SDK | Agent、编程工具 | Claude Code |
| 牛API 状态 | 待验证 | 待验证 | 实验性 |
不要假设“全部模型同一协议”
同一个模型不一定同时支持三种协议。选择协议前先查兼容性矩阵,再以控制台实测为准。协议不匹配的典型现象是 400 请求格式错误。
流式、工具调用与图片输入
不同协议对以下能力支持程度不同,且都依赖具体模型:
- 流式:三种协议都可候选,是否支持以模型实测为准;
- 工具调用:Responses 与 Messages 面向 Agent,通常支持;具体范围待牛API验证;
- 图片输入:取决于模型是否支持视觉,而非协议本身。
这些能力在兼容性矩阵中按状态逐项标注,验证结论会更新到统一数据源。