API Reference · 附录
OpenAI Responses API · Schema 完整参考
POST /v1/responses 的完整 schema 参考——Responses 是 OpenAI 调用其模型 API(Application Programming Interface,应用程序接口)的新一代对话协议。以下内容从 platform.openai.com/docs/api-reference/responses 浓缩,每个字段都给出类型、是否必填、默认值、用途说明。 Responses 是 OpenAI 2025.03 起的新一代协议,GPT-5 起新模型只在它上提供,Chat Completions 进入维护模式。 与 Chat Completions 的三大差异:① 判别联合 item(工具调用升级为一等公民)② 服务端状态(previous_response_id)③ 推理链可加密续接(reasoning.encrypted_content)。
概览
1
HTTP 端点
~20
请求字段
5
item 类型
9
流式事件
| 项目 | 说明 |
|---|---|
| 本卡定位 | 附录页 · 字段全、说明全,适合查阅 |
| 覆盖范围 | OpenAI Responses API(2025.03 起) |
| 权威来源 | platform.openai.com/docs/api-reference/responses |
| 与 Chat 的关系 | 新项目对接 OpenAI 新模型用 Responses;跨厂商兼容仍走 Chat Completions |
| 教学版 | llm-api-schema-reference.html 第二篇(含 3 张教学卡 + Schema 全景) |
为什么有 Responses:Chat Completions 在长程 Agent 里"无状态全量回放"成本线性膨胀;Responses 让你只发增量(previous_response_id 服务端续接),工具调用升级为一等 item(不再是 message 的附属字段),推理链可加密回传服务端续接推理。这是 OpenAI 应对"Agent 时代"的协议演进。
1. 端点与认证
HTTP 调用
POST https://api.openai.com/v1/responses Authorization: Bearer <OPENAI_API_KEY> Content-Type: application/json
与 Chat Completions 的端点差异
| 项目 | Chat Completions | Responses |
|---|---|---|
| URL | /v1/chat/completions | /v1/responses |
| 认证头 | Authorization: Bearer | 相同 |
| 对话载体 | messages: MessageParam[] | input: string | ResponseItem[](更灵活,允许纯字符串) |
| 系统指令 | messages[0].role="system" | instructions(顶层,不进 input) |
| 状态管理 | 无状态(全量回放) | 有状态(previous_response_id 服务端续接) |
| 工具定义 | tools: [{type:"function", function:{...}}] 两层 | tools: [{type:"function", name, parameters}] 扁平 |
| 推理控制 | reasoning_effort(顶层枚举) | reasoning: {effort, summary}(嵌套对象,更细粒度) |
2. 请求对象 ResponseRequest
完整 TypeScript 类型
type ResponseRequest = {
// —— 必填 ——
model: string, // "gpt-5" / "o3" / "o4-mini" / "gpt-4.1" ...
input: string | ResponseItem[], // ★ 直接传字符串也合法(极简入口)
// —— 系统指令(顶层,不进 input)——
instructions?: string,
// —— 长度控制 ——
max_output_tokens?: number,
truncation?: "auto" | "disabled", // 中点截断策略
// —— 采样 ——
temperature?: number, // [0, 2],默认 1.0
top_p?: number,
// —— 状态管理(与 Chat 的最大区别)——
previous_response_id?: string, // ★ 服务端续接上一轮,只发增量
store?: boolean, // 服务端存储响应(默认 true)
conversation?: string, // 会话对象 ID(更高级的状态原语)
metadata?: Record<string, string>, // 自定义元信息
// —— 工具(扁平化 + 内置托管工具)——
tools?: (FunctionTool | WebSearchTool | FileSearchTool
| CodeInterpreterTool | McpTool)[],
tool_choice?: "auto" | "none" | "required", // 注意:没有"强制调某函数"形式
parallel_tool_calls?: boolean,
// —— 推理控制(GPT-5 / o 系列推理模型专属)——
reasoning?: {
effort?: "minimal" | "low" | "medium" | "high",
summary?: "auto" | "concise" | "detailed"
},
// —— 输出格式 ——
text?: { format: { type: "text" }
| { type: "json_object" }
| { type: "json_schema", name, schema, strict? } },
// —— 流式 ——
stream?: boolean,
// —— 惩罚与微调 ——
top_logprobs?: number, // [0, 20]
user?: string, // 终端用户标识
safety_identifier?: string // 安全追踪 ID
}
// 工具类型(FunctionTool 是其中一种)
type FunctionTool = {
type: "function",
name: string, // ★ 扁平!无 function 包装层
description?: string,
parameters?: JSONSchema,
strict?: boolean
}
请求字段表
| 字段 | 必填 | 类型 | 默认值 | 说明 |
|---|---|---|---|---|
| model | ★ | string | — | 模型 ID。新模型(GPT-5 / o3)只在 Responses 提供 |
| input | ★ | string | Item[] | — | 对话载体。字符串极简入口("input": "hi" 也合法)或判别联合 item 数组 |
| instructions | — | string | null | 系统指令。顶层参数,不进 input。相当于 Chat 的 role:"system" 消息但更清晰 |
| max_output_tokens | — | number | infinity | 最大生成 token 数。命名是 output_(区别于 Chat 的 completion_) |
| truncation | — | "auto" | "disabled" | "disabled" | 中点截断策略。"auto" 在达到 max_output_tokens 时从中间砍掉最旧消息 |
| temperature | — | number [0, 2] | 1.0 | 采样温度 |
| top_p | — | number (0, 1] | 1.0 | nucleus 采样 |
| previous_response_id | — | string | null | ★ 服务端续接上一轮响应。传这个就不需要重发 history(也可继续手动传 input) |
| store | — | boolean | true | 是否服务端存储响应。false = 纯无状态模式(不再能与 previous_response_id 配合) |
| conversation | — | string | null | 会话对象 ID(更高级的状态原语,多轮可挂同一会话) |
| metadata | — | Record<string, string> | null | 自定义元信息键值对,16 个 key 限制 |
| tools | — | (Tool)[] | null | 工具定义数组。5 种 type 变体:function / web_search / file_search / code_interpreter / mcp |
| tool_choice | — | enum | "auto" | "auto" / "none" / "required"。注意:没有"强制调某函数"形式(Chat 有) |
| parallel_tool_calls | — | boolean | true | 是否允许并行工具调用 |
| reasoning.effort | — | enum | "medium" | 推理强度。"minimal"(GPT-5 新增,最快)/ "low" / "medium" / "high" |
| reasoning.summary | — | enum | "auto" | 推理摘要详细度。"auto" / "concise" / "detailed" |
| text.format | — | object | {type:"text"} | 输出格式。3 种 type:"text" / "json_object" / "json_schema" |
| stream | — | boolean | false | 是否流式(类型化事件流,非同构 chunk) |
| top_logprobs | — | number [0, 20] | 0 | 返回 top N 候选 token 对数概率 |
| user | — | string | null | 终端用户标识 |
| safety_identifier | — | string | null | 应用级安全追踪 ID(OpenAI 用于检测滥用) |
3. Input/Output Item 判别联合
与 Chat "扁平 message + 可选 tool_calls" 不同,Responses 把所有参与者建模为判别联合 item。每个 item 有 type 字段决定其形状。
5 种 item 类型一览
| type | 用途 | 出现位置 | 关键字段 |
|---|---|---|---|
| message | 文本消息 | input / output 均可 | role + content |
| function_call | 工具调用(一等 item) | output | call_id + name + arguments |
| function_call_output | 工具结果回填 | input(与 function_call 配对) | call_id + output |
| reasoning | 推理链 | input / output 均可 | summary[] + encrypted_content |
| item_reference | 引用既有 item | input(免重传) | id |
flowchart TB
U["ResponseItem 判别联合
type 字段决定形状"] U --> M["message
文本消息(role + content)
input / output 均可"] U --> FC["function_call
工具调用一等 item
call_id + name + arguments"] U --> FCO["function_call_output
工具结果回填(无 role)
call_id + output"] U --> RS["reasoning
推理链 item
summary + encrypted_content"] U --> IR["item_reference
引用既有 item 免重传
仅 id"]
type 字段决定形状"] U --> M["message
文本消息(role + content)
input / output 均可"] U --> FC["function_call
工具调用一等 item
call_id + name + arguments"] U --> FCO["function_call_output
工具结果回填(无 role)
call_id + output"] U --> RS["reasoning
推理链 item
summary + encrypted_content"] U --> IR["item_reference
引用既有 item 免重传
仅 id"]
完整类型定义
type ResponseItem =
| { type: "message",
role: "user" | "assistant" | "system" | "developer",
content: string | ContentPart[] }
| { type: "function_call", // ★ 工具调用是一等 item
call_id: string, // ★ 命名从 id → call_id
name: string,
arguments: string }
| { type: "function_call_output", // ★ 工具结果也是一等 item(无 role 概念)
call_id: string,
output: string }
| { type: "reasoning", // ★ 推理链 item
summary?: SummaryPart[],
encrypted_content?: string } // 加密形态,回传服务端续接推理
| { type: "item_reference",
id: string } // 引用既有 item,免重传
type ContentPart =
| { type: "input_text", text: string }
| { type: "output_text", text: string,
annotations?: Annotation[] }
| { type: "input_image", ... } // 多模态(GPT-4o vision 走 message item)
关键设计洞察(与 Chat 的对比)
| 维度 | Chat Completions | Responses |
|---|---|---|
| 工具调用命名 | tool_calls[].id | function_call.call_id |
| 工具结果回填 | role:"tool" 独立消息 | function_call_output item |
| role 范围 | 5 种(system/developer/user/assistant/tool) | 仅在 message item 内 4 种(system/developer/user/assistant) |
| 推理链可见 | ❌(仅 reasoning_tokens 计数) | ✅ reasoning item 可跨轮保留 + 加密续接 |
| 结构对称性 | 工具是 message 的"附属"(tool_calls 字段) | 工具调用与消息平级(都是 item) |
4. 工具定义
Responses 支持 5 种工具类型。FunctionTool 与 Chat 的最关键差异是"扁平"——无 function 包装层。
5 种工具类型
| type | 描述 | 说明 |
|---|---|---|
| "function" | 用户自定义函数(Agent 工具调用主战场) | 扁平结构,无 function 包装层 |
| "web_search" | 托管 Web 搜索 | OpenAI 内部跑搜索,output 是带引用的文本 |
| "file_search" | 托管文件搜索(RAG) | 需要预先上传文件到 vector store |
| "code_interpreter" | 托管代码执行 | OpenAI 沙箱跑 Python,output 含 stdout / 文件 |
| "mcp" | MCP 协议外部工具 | Model Context Protocol,统一外部工具接口 |
FunctionTool 完整定义
type FunctionTool = {
type: "function",
name: string, // 工具名
description?: string, // 工具描述
parameters?: JSONSchema, // 参数 schema
strict?: boolean // 强约束模式
}
FunctionTool 字段表
| 字段 | 必填 | 类型 | 说明 |
|---|---|---|---|
| type | ★ | "function" | 固定为 "function" |
| name | ★ | string | 工具名(与 Chat 类似正则约束) |
| description | — | string | 工具描述 |
| parameters | — | JSONSchema | 参数 schema |
| strict | — | boolean | 强约束模式 |
与 Chat 的关键差异:Chat 的 tools[].function.name(两层嵌套)vs Responses 的 tools[].name(扁平)。跨协议转换时记得去掉 / 加上 function 包装层。
5. 响应对象 Response
完整类型定义
type Response = {
id: string, // "resp_..."
object: "response",
created_at: number, // unix 秒(命名变化:Chat 是 created)
model: string, // 实际使用的模型
status: "completed" | "failed" | "in_progress" | "cancelled",
output: ResponseItem[], // ★ 与 input 同构的 item 数组
output_text?: string, // 便捷字段:output 里所有 text item 的拼接
usage: {
input_tokens: number, // ★ 命名从 prompt_tokens → input_tokens
input_tokens_details?: { cached_tokens: number },
output_tokens: number,
output_tokens_details?: { reasoning_tokens: number },
total_tokens: number
},
previous_response_id?: string | null, // 续接键
next_response_id?: string | null, // 同一会话下一响应 ID
instructions?: string | null,
reasoning?: { effort, summary } | null,
text?: { format } | null,
tools?: Tool[] | null, // 实际使用的工具(可能与请求不同)
tool_choice?: "auto" | "none" | "required",
parallel_tool_calls?: boolean,
temperature?: number,
top_p?: number,
truncation?: "auto" | "disabled",
max_output_tokens?: number,
store?: boolean,
user?: string,
metadata?: Record<string, string>,
safety_identifier?: string,
error?: { code: string, message: string } | null
}
关键字段表
| 字段 | 类型 | 说明 |
|---|---|---|
| id | string | "resp_..." 响应 ID。下轮可作 previous_response_id 用 |
| object | "response" | 对象类型 |
| created_at | number | unix 时间戳(秒)命名变化:Chat 是 created,Responses 是 created_at |
| model | string | 实际使用的模型 |
| status | enum | 循环分支依据。"completed"(成功)/ "failed"(失败)/ "in_progress"(进行中,previous_response_id 模式下可见)/ "cancelled"(取消) |
| output | Item[] | 输出项数组。结构与 input 同构(含 reasoning / function_call 等) |
| output_text | string | 便捷字段:output 中所有 text item 的拼接。大多数场景直接读这个字段就够 |
| usage.input_tokens | number | 输入 token 数(prompt_tokens → input_tokens 命名升级) |
| usage.input_tokens_details.cached_tokens | number | 命中缓存的 token 数 |
| usage.output_tokens | number | 输出 token 数 |
| usage.output_tokens_details.reasoning_tokens | number | 推理 token 数(独立计费) |
| usage.total_tokens | number | 合计 |
| previous_response_id | string | null | 上一响应 ID。配合 store:true 组成"服务端续接" |
| next_response_id | string | null | 下一响应 ID |
| error | object | null | 错误对象。{code, message}。status="failed" 时有值 |
status 4 个值详解
| 值 | 含义 | Agent 主循环如何处理 |
|---|---|---|
| "completed" | 正常完成 | 读 output_text 收尾 |
| "failed" | 失败 | 读 error.code / error.message,重试 / 降级 |
| "in_progress" | 进行中(长任务、background:true 模式) | 轮询或等回调 |
| "cancelled" | 用户取消 | 终止循环,清理资源 |
6. 流式事件(类型化事件流)
与 Chat "同构 chunk 流"不同,Responses 的流是显式类型化事件——每个事件带 type 字段,且事件有明确的生命周期。
完整事件类型
type StreamEvent =
// —— 生命周期 ——
| { type: "response.created", response: Response } // 创建(in_progress 状态)
| { type: "response.in_progress", response: Response }
| { type: "response.completed", response: Response } // 完成
| { type: "response.failed", response: Response }
| { type: "response.cancelled", response: Response }
| { type: "response.incomplete", response: Response } // 长度截断
// —— 输出项添加/完成 ——
| { type: "response.output_item.added", output_index: number, item: ResponseItem }
| { type: "response.output_item.done", output_index: number, item: ResponseItem }
// —— 文本增量 ——
| { type: "response.output_text.delta", output_index: number, delta: string }
| { type: "response.output_text.done", output_index: number, text: string }
// —— 函数调用参数增量 ——
| { type: "response.function_call_arguments.delta",
output_index: number, delta: string }
| { type: "response.function_call_arguments.done",
output_index: number, arguments: string }
// —— 推理摘要增量(reasoning 模型)——
| { type: "response.reasoning_summary_text.delta", ... }
| { type: "response.reasoning_summary_text.done", ... }
// —— 拒绝(refusal)——
| { type: "response.refusal.delta", output_index: number, delta: string }
| { type: "response.refusal.done", output_index: number, refusal: string }
// —— 错误 ——
| { type: "error", code: string, message: string }
事件表(按生命周期排序)
| 事件 type | 触发时机 | 主要字段 |
|---|---|---|
| response.created | 响应创建(status: in_progress) | response(含 id) |
| response.in_progress | 持续进行中(长任务可见) | response |
| response.output_item.added | 每个 output item 开始 | output_index, item |
| response.output_text.delta | 文本流式增量 | output_index, delta(字符串分片) |
| response.function_call_arguments.delta | 工具参数流式增量 | output_index, delta |
| response.output_item.done | 每个 output item 完成(含完整 item) | output_index, item |
| response.output_text.done | 文本流式完成 | output_index, text |
| response.function_call_arguments.done | 工具参数完成 | output_index, arguments(JSON(JavaScript Object Notation,人类可读的文本数据格式)字符串) |
| response.reasoning_summary_text.delta | 推理摘要增量(GPT-5 reasoning 模型) | delta |
| response.reasoning_summary_text.done | 推理摘要完成 | text |
| response.refusal.delta | 拒绝文本流式 | delta |
| response.refusal.done | 拒绝文本完成 | refusal |
| response.completed | 正常完成 | response(status: completed) |
| response.failed | 失败 | response(status: failed,含 error) |
| response.cancelled | 取消 | response(status: cancelled) |
| response.incomplete | 未完成(撞 max_output_tokens 截断) | response(status: incomplete,含 incomplete_details) |
| error | 协议级错误 | code, message |
与 Chat 流式的关键差异:Chat 是"同构 chunk 流"(每个 chunk 形态相同,按字段是否出现表义);Responses 是"类型化事件流"(每个事件 type 明确,事件之间有生命周期关系)。
解析器优势:可以根据 type 直接 switch 处理,不用靠字段缺失猜状态。
工具参数分片:response.function_call_arguments.delta 增量到达,按 output_index 聚合,完整后用 .done 事件的 arguments 字段。
解析器优势:可以根据 type 直接 switch 处理,不用靠字段缺失猜状态。
工具参数分片:response.function_call_arguments.delta 增量到达,按 output_index 聚合,完整后用 .done 事件的 arguments 字段。
7. 完整往返示例(工具调用最小环)
① 请求:直接传字符串 input(极简入口)+ 扁平工具定义
{
"model": "gpt-5",
"input": "跑一下测试",
"tools": [{
"type": "function",
"name": "run_tests",
"parameters": {
"type": "object",
"properties": {"suite": {"type": "string"}},
"required": ["suite"]
}
}]
}
② 响应:output 是 item 数组
{
"id": "resp_001",
"object": "response",
"created_at": 1725273600,
"model": "gpt-5-2025-01-01",
"status": "completed",
"output": [
{
"type": "reasoning",
"summary": [{"type": "summary_text", "text": "用户想跑测试"}]
},
{
"type": "function_call",
"call_id": "fc_abc",
"name": "run_tests",
"arguments": "{\"suite\":\"all\"}"
}
],
"output_text": "",
"usage": {
"input_tokens": 80,
"input_tokens_details": {"cached_tokens": 0},
"output_tokens": 40,
"output_tokens_details": {"reasoning_tokens": 25},
"total_tokens": 120
}
}
③ 回填请求:两条 item(function_call 原样 + function_call_output)
{
"model": "gpt-5",
"input": [
{
"type": "function_call",
"call_id": "fc_abc",
"name": "run_tests",
"arguments": "{\"suite\":\"all\"}"
},
{
"type": "function_call_output",
"call_id": "fc_abc",
"output": "42 passed"
}
]
}
④ 进阶:previous_response_id 续接(不重传 history)
{
"model": "gpt-5",
"previous_response_id": "resp_001", // 服务端已有 resp_001 的状态
"input": "那覆盖率呢?" // 只发新增输入
}
8. 错误与异常
Responses 的错误处理与 Chat 类似,但 finish_reason → status 的概念变化需要重新映射。
错误码速查(部分)
| code | 含义 | 常见原因 |
|---|---|---|
| invalid_request | 请求格式错误 | JSON 解析失败 / 必填字段缺失 / item 配对错 |
| invalid_api_key | 认证失败 | API key 错 / 过期 |
| insufficient_quota | 额度不足 | OpenAI 账户欠费 |
| rate_limit_exceeded | 速率限制 | TPM / RPM 超限。读 Retry-After 头 |
| server_error | 服务端错误 | OpenAI 内部问题。指数退避重试 |
| model_not_found | 模型不存在 | 模型 ID 错 / 无权访问 |
Chat finish_reason → Responses status 映射
| Chat 概念 | Responses 概念 |
|---|---|
| finish_reason: "stop" | status: "completed" + output_text 有内容 |
| finish_reason: "tool_calls" | status: "completed" + output 含 function_call item |
| finish_reason: "length" | status: "incomplete"(带 incomplete_details.reason) |
| finish_reason: "content_filter" | status: "failed" 或 "completed" + output 含 refusal |
9. 字段速查表(按字母序)
| 字段 | 位置 | 一句话 |
|---|---|---|
| arguments | function_call item | JSON 字符串,需 json.loads |
| cached_tokens | usage.input_tokens_details | 命中缓存的 input token 数 |
| call_id | function_call / function_call_output | 工具调用配对键(替代 Chat 的 tool_call_id) |
| code | error 对象 | 错误码 |
| content | message item | 消息内容(string 或 ContentPart[]) |
| conversation | 请求 / 响应 | 会话对象 ID(多轮可挂同一会话) |
| created_at | 响应顶层 | unix 时间戳(秒) |
| delta | 流式事件 | 增量内容(文本 / 工具参数 / 推理摘要) |
| description | FunctionTool | 工具描述 |
| effort | reasoning 对象 | 推理强度 |
| encrypted_content | reasoning item | 加密的推理链(回传服务端续接) |
| error | 响应顶层 / 流式 error 事件 | 错误对象 |
| format | text 对象 | 输出格式约束 |
| function_call | item type | 工具调用 item |
| function_call_output | item type | 工具结果 item |
| id | 响应顶层 / item_reference item | 响应 ID / item 引用 ID |
| incomplete_details | 响应顶层(status: incomplete 时) | 截断原因 |
| input | 请求顶层 | 对话载体(string 或 Item[]) |
| input_tokens | usage | 输入 token 数 |
| instructions | 请求 / 响应顶层 | 系统指令(顶层参数) |
| item_reference | item type | 引用既有 item |
| max_output_tokens | 请求顶层 | 最大输出 token |
| message | item type | 文本消息 item |
| metadata | 请求 / 响应顶层 | 自定义元信息 |
| model | 请求 / 响应顶层 | 模型 ID |
| name | FunctionTool / function_call | 工具名 |
| next_response_id | 响应顶层 | 同一会话下一响应 ID |
| object | 响应顶层 | "response" |
| output | 响应顶层 | 输出 item 数组 |
| output_index | 流式事件 | output 项索引(聚合用) |
| output_text | 响应顶层 | 便捷字段:所有 text item 拼接 |
| output_tokens | usage | 输出 token 数 |
| parallel_tool_calls | 请求 / 响应顶层 | 是否允许并行工具调用 |
| parameters | FunctionTool | 工具参数 schema |
| previous_response_id | 请求 / 响应顶层 | 服务端续接键 |
| reasoning | 请求 / 响应 / item type | 推理控制 / 推理链 item |
| reasoning_tokens | usage.output_tokens_details | 推理 token 数 |
| refusal | 响应 / 流式 | 拒绝原因 |
| response | 流式事件 / 通用 | 当前响应对象 |
| role | message item | 消息身份 |
| safety_identifier | 请求顶层 | 应用级安全追踪 ID |
| status | 响应顶层 | 响应状态 |
| store | 请求 / 响应顶层 | 是否服务端存储 |
| stream | 请求顶层 | 是否流式 |
| strict | FunctionTool | 强约束模式 |
| summary | reasoning 对象 / item | 推理摘要配置 / 内容 |
| temperature | 请求 / 响应顶层 | 采样温度 |
| text | 请求顶层 / 响应顶层 | 输出格式配置 |
| tool_choice | 请求 / 响应顶层 | 工具选择策略 |
| tools | 请求 / 响应顶层 | 工具定义数组 |
| top_logprobs | 请求顶层 | 返回 top N 候选 token 概率 |
| top_p | 请求 / 响应顶层 | nucleus 采样 |
| total_tokens | usage | 合计 token 数 |
| truncation | 请求 / 响应顶层 | 中点截断策略 |
| type | item type 判别 | "message" / "function_call" / "function_call_output" / "reasoning" / "item_reference" |
| user | 请求 / 响应顶层 | 终端用户标识 |
10. 引用与配套资料
| 来源 | 链接 / 路径 | 说明 |
|---|---|---|
| OpenAI Responses API 文档(权威) | platform.openai.com/docs/api-reference/responses | 官方权威源 |
| OpenAI Chat → Responses 迁移指南 | platform.openai.com/docs/guides/migrate-to-responses | 从 Chat 迁到 Responses 的最佳实践 |
| OpenAI Function Calling 指南 | platform.openai.com/docs/guides/function-calling | 工具调用最佳实践 |
| 教学讲义(卡片化讲解) | llm-api-schema-reference.html | 第二篇 · OpenAI Responses |
| 协议讲义(怎么用) | llm-chat-protocol-guide.html | 7 篇协议讲义 |
| 姊妹:OpenAI Chat Completions | openai-chat-completions-schema.html | OpenAI 老协议(事实标准) |
| 姊妹:Anthropic Messages | anthropic-messages-schema.html | Anthropic Claude |
| 三协议翻译表 | llm-api-schema-reference.html#part-mapping | 跨协议字段名对照 |