
SSE 流式输出调试太痛苦我做了个免费的在线分析工具聊聊痛点它能做什么1. 自动识别协议2. 事件时间线3. 流式合并4. 非流式还原5. 字段视图6. 用量统计支持的协议和格式典型使用场景场景 1排查 GLM reasoning_content 解析场景 2确认 /think 边界问题场景 3分析首 token 延迟场景 4对比不同协议的事件结构数据安全快速上手后续计划)聊聊痛点如果你在做 LLM 应用开发大概率遇到过这些问题调用 OpenAI / Anthropic / GLM 的 API返回一大坨 SSE 流肉眼根本没法看想确认某个 chunk 里到底有没有reasoning_content得一个一个数工具调用的参数分片散落在多个 chunk 里拼起来才发现 JSON 是断的想知道模型到底输出了多少 token但 usage 字段藏在最后一个 chunk 里排查/think标签为什么泄漏到了正文里上传一个.jsonl日志文件想知道每个事件之间隔了多少毫秒在终端里grepjq能解决一部分但当你要对比不同协议的事件结构、统计首 token 延迟、看事件分布时就不太够了。所以我做了一个在线工具LLM 输出在线分析。 https://llmanalysis.cn它能做什么1. 自动识别协议粘贴任意 SSE / JSONL / JSON 格式的 LLM 输出自动判断是 OpenAI Chat Completions、OpenAI Responses 还是 Anthropic Messages。也可以手动指定。2. 事件时间线每个 chunk 显示为一行标注中文动作输出文本增量、调用工具、用量统计……、字节大小、时间间隔。可以快速看到首 token 出现在第几个事件工具调用用了几个 chunk哪个 chunk 最大可能是超长文本段3. 流式合并自动把所有delta.content拼成完整正文所有delta.reasoning_content拼成完整推理内容所有工具调用参数按index分片拼成完整 JSON。4. 非流式还原把流式输出还原成标准的非流式 JSON 格式方便你确认如果不用流式API 应该返回什么。5. 字段视图把 token 用量、结束原因、缓存命中数等关键信息提取出来不用在原始 JSON 里翻找。6. 用量统计自动聚合所有 chunk 里的 usage 信息显示 prompt_tokens、completion_tokens、cached_tokens、reasoning_tokens。支持的协议和格式协议支持格式OpenAI Chat CompletionsSSE (data: {...})、JSONL、非流式 JSONOpenAI ResponsesSSE 生命周期事件、JSONL、非流式 JSONAnthropic MessagesSSE 事件流、JSONL、非流式 JSONGLM / DeepSeek 等兼容 OpenAI Chat 格式额外支持reasoning_content典型使用场景场景 1排查 GLM reasoning_content 解析{choices:[{delta:{content:,reasoning_content:用户问的是...}}]}GLM 的推理内容放在delta.reasoning_content而不是delta.content如果你的代码只读delta.content推理内容就会全部丢失。粘贴到工具里一眼就能看到推理和正文分别是什么。场景 2确认/think边界问题有些模型把think.../think标签拆成多个 chunk 发送如果你的解析逻辑假设/think完整出现在一个 chunk 里就会出 bug。工具的事件时间线能帮你确认标签到底被拆成了什么样。场景 3分析首 token 延迟如果日志里有时间戳工具会自动提取并计算相邻事件的时间间隔。你可以看到从请求到第一个 content chunk 隔了多久reasoning 阶段和正文阶段的输出速度差异场景 4对比不同协议的事件结构OpenAI Responses 用命名事件response.output_text.deltaAnthropic 用content_block_deltadelta.type区分。把两段流分别粘贴进去对照事件分布图一目了然。数据安全所有解析都在浏览器本地完成Web Worker不会上传到服务器。你可以放心粘贴生产环境的 API 输出。快速上手打开 https://llmanalysis.cn把你的 SSE / JSONL / JSON 粘贴到左侧输入框右侧自动显示分析结果切换非流式 JSON / “字段” / “时间线” 视图查看不同维度的信息不需要注册不需要 API Key打开就能用。后续计划增加常用错误诊断文章支持批量文件分析分析结果导出为可分享的报告链接如果你在开发中遇到了 SSE 解析的奇怪问题欢迎在评论区留言我可以帮你分析。