跳转到内容

stream disconnected before completion Codex

Quick fix

升级 cc-switch 至 v3.14.0 或更高版本,以修复代理转发 hop-by-hop 响应头导致的连接断开问题。

报错原文
stream disconnected before completion: error sending request for url (http://127.0.0.1:15721/v1/responses)

当使用 cc-switch 作为本地代理时,旧版本会将上游 API 返回的 hop-by-hop 响应头(如 Connection、Keep-Alive、Transfer-Encoding 等)原样转发给下游客户端。这会导致底层的 axum/hyper 服务器收到意外的请求头,从而直接断开连接,表现为 stream disconnected 或 Empty reply from server。该问题已在 v3.14.0 中通过自动剥离这些响应头修复。

  1. 将 cc-switch 升级到 v3.14.0 或更高版本。该版本包含了 Proxy Hop-by-Hop Header Stripping 更新,可自动处理导致断连的响应头。

ToolCodex
Version< 3.14.0
PlatformsmacOS
为什么直连上游 API 正常,但走 cc-switch 代理就会报错?
直连时上游返回正常的 200 响应。但走旧版 cc-switch 代理时,它会将上游的 hop-by-hop 响应头原样转发,导致本地代理服务器(axum/hyper)报错并断开连接。升级至 v3.14.0 即可解决。
升级到 v3.14.0 后仍然遇到 stream disconnected 怎么办?
如果升级后问题依旧,请补充具体的上游提供商、API 格式以及最新的运行日志,以便进一步排查。

这是一个非官方社区 wiki,与 cc-switch 作者及项目本身无隶属关系。内容整理自项目公开的 GitHub issues。本站不分发任何软件。