DevToolkit

SSE / 流式响应回放器

解析并回放 OpenAI / Anthropic / Ollama / Vercel AI SDK 的 SSE 原始日志

检测到: openai事件数:4字符数:11角色:assistantfinish_reason:stop
Assistant 内容
Hello world
Tool calls(0)

未检测到 tool calls。

时间线
#Δt事件描述当前内容
0chunkcontent.delta "Hel"3 字符
1chunkcontent.delta "lo"5 字符
2chunkcontent.delta " world" finish_reason=stop11 字符

常见问题

SSE 流式响应回放器是什么?

LLM API 用 Server-Sent Events(SSE)推送响应——一串 `data: {...}` JSON 片段,以 `data: [DONE]` 收尾。回放器把原始日志(来自 curl、代理或后端抓包)解析回完整回复:content 文本、tool_calls、usage、finish_reason 都能还原,用于排查网络层实际发生了什么。

支持哪些厂商的格式?

OpenAI Chat Completions、OpenAI Responses API、Anthropic Messages(含 `content_block_delta`、`content_block_start`、`message_delta` 等事件)、Ollama streaming,以及 Vercel AI SDK 的自定义 data stream 协议。各家 chunk 结构差异很大,解析器会自动识别并切换。

什么场景下真的用得上?

- 流式响应在 tool_call 中途断掉,需要看最后一个事件是什么 - token delta 看起来错乱,怀疑是前端缓冲或分块的 bug - 想把一段抓到的流回放给同事看,或写入测试 fixture - 模型拒答或循环,需要时间线视角定位问题

日志解析不了,怎么办?

常见原因:日志缺少 `data: ` 前缀(部分工具会剥离)、换行被清理、抓包内容混入了 HTTP 头或二进制分帧。粘贴时请只保留 `HTTP/1.1 200 OK` 之后、`[DONE]` 之前的原始 SSE 正文——工具允许缺少 `[DONE]`,但 `data:` 行不能缺。

日志会被上传吗?

不会。解析、时间轴重建、打字机回放全部在浏览器本地运行。SSE 日志经常包含完整 prompt 与回复,其中不乏客户数据——这里可以放心粘贴生产抓包。

相比直接看浏览器 Network 面板有什么优势?

Chrome Network 能看到原始分片,但不会跨事件拼接 tool_call 的增量参数,也不会统一 OpenAI / Anthropic 不同格式,更做不到时间线回放。本工具针对 LLM streaming 结构专门实现了 tool_calls 参数的增量 JSON 拼接。

相关工具