XAI Router 已支持 OpenAI WebSocket Mode:与官方语义对齐说明
Posted February 24, 2026 by XAI 技术团队 ‐ 5 min read

本文是 XAI Router WebSocket 能力的工程说明。 截至 2026-02-24,XAI Router 已完成对 OpenAI WebSocket 相关能力的统一支持,重点覆盖:
POST /v1/responses对应的 WebSocket mode(wss://.../v1/responses)wss://.../v1/realtime实时会话- 与现有 HTTP 转发体系共存,不改变原有 HTTP API 行为
先看 OpenAI 官方语义(WebSocket Mode)
根据 OpenAI 官方文档,Responses 的 WebSocket mode 关键点是:
- 保持持久连接到
/v1/responses - 每一轮通过
response.create发起 - 使用
previous_response_id+ 增量input持续对话 - 单连接为顺序执行:一次仅允许一个 in-flight response(不支持 multiplexing)
- 连接时长上限 60 分钟,超时后需要重连
XAI Router 对齐策略
1) 路径兼容
XAI Router 同时支持这两组路径,便于不同客户端接入:
/v1/responses与/responses/v1/realtime与/realtime
2) 官方语义对齐
在 /v1/responses WebSocket 模式下,XAI Router 采用与官方一致的顺序语义:
- 连接内允许多次
response.create - 但严格“一个在途请求完成后再发下一个”
- 并发发送多个
response.create会被拒绝
这与 OpenAI 官方文档中“单连接顺序执行、无 multiplexing”保持一致。
3) 状态与续接
previous_response_id、增量 input、store=false 等字段均按事件透传路径处理; XAI Router 不改写这类会话语义字段,只在必要位置做模型映射、鉴权、限流与计费。
架构实现(统一框架)
本次实现不是单点补丁,而是将 WebSocket 统一到同一框架:
ws_framework:统一会话、转发、超时、错误处理、连接收敛openai-responses-ws适配器:处理response.create生命周期、turn 绑定、usage 采集openai-realtime-ws适配器:处理 realtime 事件流与会话计费
同时将原有 /v1/realtime 迁移到同一框架内,减少分叉逻辑,降低后续维护复杂度。
上图对应统一 WebSocket 框架的核心思路:在保持 OpenAI 官方语义的前提下,把 Responses 与 Realtime 都收敛到同一会话与转发模型。
最小调用示例(Responses WebSocket)
下面示例通过 XAI Router 使用 gpt-5.2 发起一轮 response.create:
from websocket import create_connection
import json
import os
ws = create_connection(
"wss://api.xairouter.com/v1/responses",
header=[
f"Authorization: Bearer {os.environ['XAI_API_KEY']}",
],
)
ws.send(json.dumps({
"type": "response.create",
"model": "gpt-5.2",
"store": False,
"input": [
{
"type": "message",
"role": "user",
"content": [{"type": "input_text", "text": "请用一句话总结 websocket mode。"}]
}
],
"tools": []
}))
while True:
event = json.loads(ws.recv())
print(event.get("type"))
if event.get("type") in ("response.completed", "response.failed", "response.incomplete"):
break
ws.close()性能与稳定性说明
在保持功能不变前提下,XAI Router 对 WS 路径做了几项工程化优化:
- 高频事件先做轻量字段预判,再进入完整 JSON 解析
- 复用统一转发框架,减少重复逻辑与状态分叉
- 连接异常日志做降噪,保留握手阶段关键错误,减少无意义噪音
实际效果是:在不影响原 HTTP 主流程的前提下,WS 路径更可维护、行为更稳定。
结语
如果你正在做多轮工具调用、Agent 编排或低延迟长链路任务, /v1/responses 的 WebSocket mode 会比“每轮 HTTP 重建上下文”更合适。
XAI Router 的目标不是“再包一层”,而是: 在保持 OpenAI 官方语义的同时,把多 key、鉴权、限流、计费、路由和稳定性做到工程可用。
参考来源
- OpenAI WebSocket Mode 文档:https://developers.openai.com/api/docs/guides/websocket-mode
- OpenAI Realtime WebSocket 文档:https://platform.openai.com/docs/guides/realtime-websocket
- OpenAI Responses API 参考:https://platform.openai.com/docs/api-reference/responses/create