codex响应太慢时,首要排查方向是连接不稳定,需禁用websocket、调高tcp keepalive参数、切换低延迟dns并直连域名、永久禁用ipv6临时地址,以消除传输层延迟。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

Codex响应太慢时,连接不稳定是首要排查方向——WebSocket反复重连、TCP空闲断连、DNS解析卡顿、IPv6地址漂移,都会让请求在传输层就失败或延迟,根本等不到模型开始推理。
禁用WebSocket避免重连卡顿
这是最快见效的方案,适用于启动时反复出现“Reconnecting…1/5”到“5/5”再突然恢复的场景。
打开 Codex 配置文件:【macOS/Linux 路径为 ~/.codex/config.toml,Windows 为 C:\Users\你的用户名\.codex\config.toml】。
在文件末尾添加以下配置块(注意缩进必须为两个空格):
model_provider = "openai_http"
[model_providers.openai_http]
name = "OpenAI HTTP only"
wire_api = "responses"
supports_websockets = false
保存后彻底关闭 Codex 进程(包括后台残留),再重新启动。这一步直接绕过 WebSocket 探测阶段,所有请求走稳定 HTTP,启动延迟归零。
调高TCP keepalive参数防静默断连
系统默认 TCP keepalive 时间为 7200 秒(2 小时),而 Codex 长连接常在 30 秒内无数据交互,服务端会提前关闭连接,客户端却不知情,直到下次发包才触发重连——这就是“明明没操作却突然卡住”的根源。
执行命令查看当前值:
sysctl net.ipv4.tcp_keepalive_time net.ipv4.tcp_keepalive_intvl net.ipv4.tcp_keepalive_probes
若输出为 7200 75 9,说明保活机制过于保守,必须调整:
sudo sysctl -w net.ipv4.tcp_keepalive_time=1800 net.ipv4.tcp_keepalive_intvl=30 net.ipv4.tcp_keepalive_probes=6
【必须重启 Codex 进程,新参数才生效】
切换低延迟DNS并直连服务域名
运营商 DNS 常返回非最优节点 IP 或缓存陈旧,导致首包延迟飙升,尤其在 Codex 首次建立 TLS 连接时尤为明显。
第一步:将系统 DNS 设为阿里公共 DNS
Linux 执行:
sudo systemd-resolve --set-dns=223.5.5.5 --set-domain=~.
第二步:确认 Codex 服务域名(如 api.codex.ai)不走代理,强制直连物理网卡
编辑 /etc/hosts 文件,追加一行:
119.29.29.29 api.codex.ai(请先用 nslookup api.codex.ai 获取真实 IP,替换此处示例)
这一步能跳过 DNS 查询环节,让每次连接都直击目标服务器,实测首包延迟降低 60% 以上。
永久禁用IPv6临时地址
当系统启用 IPv6 隐私扩展时,每数小时自动更换临时源地址。Codex 复用已有连接发包,但服务端收到的源 IP 已失效,直接丢弃该请求,强制回退新建连接流程——这就是“用着用着突然变慢”的典型表现。
方法一:临时禁用(立即生效,重启后失效)
sudo sysctl -w net.ipv6.conf.all.use_tempaddr=0 net.ipv6.conf.default.use_tempaddr=0
方法二:永久禁用(推荐)
① 编辑 /etc/sysctl.conf
② 在文件末尾新增两行:
net.ipv6.conf.all.use_tempaddr = 0
net.ipv6.conf.default.use_tempaddr = 0
③ 执行 sudo sysctl -p
禁用后,IPv6 地址不再漂移,Codex 可持续复用已有连接,避免频繁握手开销。











