Streaming API

API 流式响应与 SSE

正确解析 SSE 事件、设置超时与有限重试,避免流式断开造成重复请求。

由 Claude Agent 技术团队 维护 · 发布于 2026-07-14 · 更新于 2026-09-05

OpenAI-compatible 流式请求

curl -N https://claudeagent.com.cn/v1/chat/completions \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "COPY_FROM_V1_MODELS",
    "stream": true,
    "messages": [{"role": "user", "content": "Count from 1 to 5"}]
  }'

-N 关闭 curl 输出缓冲。客户端应逐条解析 data: 事件并识别结束标记,不能把每个网络 chunk 当成完整 JSON。

SSE 长连接常见问题

现象可能原因处理
长时间无首字模型排队、上游延迟或读取超时过短先用非流式短请求验证,再放宽读取超时
输出中途断开网络抖动、客户端取消或代理 idle timeout记录 request id;仅在业务允许时重试
JSON 解析错误按 TCP chunk 而非 SSE event 解析按空行分隔事件并拼接多行 data
重复内容断线后从头重试但未去重为业务请求设置幂等标识或在应用层去重
浏览器报 CORS从前端直接暴露 Key改由自己的后端调用 API

反向代理应关闭响应缓冲并设置足够的读取超时。重试必须有次数上限和退避,避免一次用户操作形成并发重放。

常见问题

流式请求能自动续传吗?

通常不能从任意 Token 位置精确续传;断线后重试可能从头生成,应用需要去重。

为什么 curl 看不到逐段输出?

使用 curl -N 关闭客户端输出缓冲,并确认请求包含 stream: true。