不掺水的中转站 进入主站

Codex 报错 stream disconnected before completion 怎么解决

Codex CLI 反复 Reconnecting、提示 stream disconnected、401 Unauthorized 或 Missing environment variable 时,分别是什么原因,该怎么修改配置。

先看最后一行报错,再对照下面的情况。Reconnecting... 2/5 只是重试过程,最后一行才说明原因。

情况一:stream disconnected before completion

ERROR: stream disconnected before completion: stream closed before response.completed

配置中转时,最常见的原因是 base_url 少了 /v1。这个报错看起来像网络问题,所以很容易查错方向。先检查 ~/.codex/config.toml:

[model_providers.aitechflux]
name = "aitechflux"
base_url = "https://aitechflux.com/v1"
env_key = "AITECHFLUX_API_KEY"
wire_api = "responses"

地址没问题的话,再考虑网络或上游波动:换个网络或稍后重试,然后在控制台日志里看这次请求有没有记录。

情况二:401 Unauthorized

ERROR: unexpected status 401 Unauthorized: Invalid token

地址是对的,但 Key 无效。检查环境变量里的 Key 是否完整,并在控制台确认这个令牌还能用。

情况三:Missing environment variable

ERROR: Missing environment variable: `AITECHFLUX_API_KEY`.

env_key 指定的环境变量没有设置,或者设置在了另一个终端。把它写进 ~/.zshrc 或 ~/.bashrc,然后重新打开终端:

export AITECHFLUX_API_KEY="sk-你的Key"

变量名要和 env_key 完全一致。

还是不行

用命令行直接测试,排除 Codex 配置的影响:

curl https://aitechflux.com/v1/chat/completions \
  -H "Authorization: Bearer $AITECHFLUX_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"gpt-6.1-sol","messages":[{"role":"user","content":"hi"}]}'