Postman需手动启用“Stream response”并配合Tests脚本解析data: {}流式响应,否则无法正确显示RAGflow等接口的event分段内容。

Postman 本身不自动解析流式响应的 data: {} 格式,直接看 Raw 或 Pretty 模式会显示混乱、无法折叠的连续文本行;必须手动启用 Stream 响应支持并配合 Tests 脚本提取关键字段,否则你只能靠肉眼滚动翻找 event 和 data。
Postman 必须开启 “Stream response” 才能持续接收
默认情况下,Postman 会等待整个响应结束才渲染 Body,这对流式接口(如 RAGflow 的 /completions)完全失效。你看到的可能是空白、超时错误,或只有一行就卡住。
- 发送请求前,在请求右上角点击「Settings」图标(齿轮),勾选 “Stream response”
- 这个选项不在 Body/Headers 等常规区域,容易被忽略;未勾选时,Postman 会静默丢弃后续 chunk
- 勾选后,响应面板会实时追加新到达的数据块,每行以
data: {...}形式出现,但仍是纯文本流,无结构化解析
用 Tests 脚本过滤并高亮关键 event 类型
光靠滚动查看效率极低。RAGflow 等 Agent 接口通常按 event 字段区分阶段(如 session_id、sql、message),你需要用 Postman 的 Tests 功能逐行解析并打印关注内容。
Postman 12.27.7 Windows x64 官方安装包,适用于 API 设计、调试、测试与协作。该系列包含 Enterprise 云端性能测试静态 IP 出口能力,以及接口规范标签管理改进,适合受限网络测试与规范资源组织场景。
- 在 Tests 标签页中粘贴以下脚本,它会监听每条流式数据,只提取并 log 你关心的事件:
const jsonData = pm.response.stream?.data;
if (jsonData && typeof jsonData === 'string') {
const match = jsonData.match(/^data:\s*({.*})$/);
if (match) {
try {
const obj = JSON.parse(match[1]);
if (['session_id', 'sql', 'message', 'thought'].includes(obj.event)) {
console.log(`[${obj.event}]`, obj.data);
}
} catch (e) {
// 忽略非法 JSON 行(如空行、注释)
}
}
}
- 注意:
pm.response.stream?.data是 Postman v10.20+ 才支持的流式读取 API,旧版本需改用pm.response.text()+ 正则匹配 - 该脚本不会影响响应体显示,只在 Console 中输出结构化日志,方便快速定位 SQL 或最终答案
- 如果接口返回的是
text/event-stream但格式不标准(比如缺data:前缀),脚本需调整正则
Raw 模式下搜索 event 或 session_id 是最快的手动定位法
当不想写脚本,或需要临时验证某次请求是否真的返回了预期字段时,Raw 模式 + Ctrl+F 是最直接的方式。
- 确保已勾选 “Stream response”,等数据开始滚动后,切换到
Raw视图(不是 Pretty) - 按
Ctrl+F(Win)或Cmd+F(Mac),输入"event":"sql"或"session_id"—— 注意带引号,避免匹配到字段值里含相同字符串的内容 - Pretty 模式对流式响应基本无效:它会尝试把所有 data: 行当做一个 JSON 解析,必然报错;Preview 更不可用
- 流式响应没有结束标志,Raw 搜索结果会随新 chunk 到达而动态更新,需手动暂停滚动再搜
真正容易被忽略的点是:流式响应的 Content-Type 必须为 text/event-stream,且服务器不能关闭连接过早;如果 Postman 显示 “Response stopped” 或只收到 1–2 行,大概率是服务端未正确维持长连接,而非 Postman 配置问题。

















