mobile wallpaper 1mobile wallpaper 2mobile wallpaper 3mobile wallpaper 4
614 字
2 分钟
排查 “Stream ended without receiving any events”:先定位请求在哪一层断了
2026-05-12

排查 “Stream ended without receiving any events”:先定位请求在哪一层断了#

“请求发出去了,但没有收到任何事件”通常说明客户端期待一条流式响应,却在连接结束前没有解析到有效事件。它不能单独证明 MCP、插件、账号余额或网络中的某一项就是根因。

AnyRouter / Claude Code 出现“请求发出但没有收到事件”时,即使上游日志显示请求到达,客户端仍可能没拿到有效流。这个错误没有单一通用根因;我会先区分客户端、代理、网关和 SSE 响应,而不是盲目删除扩展。

从四层开始检查#

  1. 客户端层:记录发生时间、客户端版本、模型名和是否只在某个会话复现。一次只关闭一个扩展或 MCP,确认它是否真的改变结果。
  2. 代理层:确认发请求的那个进程继承了 HTTP_PROXY / HTTPS_PROXY,且 API 域名按预期走代理。系统托盘显示“已连接”不代表 CLI 子进程一定使用了它。
  3. 网关层:用时间戳或请求 ID 对照网关日志,查看上游状态码、响应类型和连接关闭原因。上游记为“请求成功”仍不等于下游收到了事件。
  4. 流式响应层:确认响应的 Content-Type、SSE 分帧、代理缓冲和超时设置没有把事件吞掉或攒到连接关闭后才发出。

对照日志时先删去 token、Cookie、完整请求正文和个人路径。也不要把别人的 settings.json 整份复制进自己的目录:里面可能带有只属于作者机器的路径、变量和凭证。

避免用重试掩盖问题#

把重试次数拉到很高来“挤进去”不是可靠修复:它会放大请求量,让排查更难,也可能触发服务风控。先用一个小请求验证代理和流式响应,再查服务状态或联系 API 提供方;没有证据证明客户端坏了时,先别重装整套工具。

资料来源:AnyRouter 报 Stream ended without receiving any events 怎么解决?(讨论中没有得到确定的最终根因)

分享

如果这篇文章对你有帮助,欢迎分享给更多人!

排查 “Stream ended without receiving any events”:先定位请求在哪一层断了
https://blog.zpooi.com/posts/streaming-api-error-diagnosis/
作者
zpooi
发布于
2026-05-12
许可协议
CC BY-NC-SA 4.0

部分信息可能已经过时

目录