Codex 运行卡住问题处理方法
Codex 卡住一般出现在这几种场景:刚提交任务后一直停在“thinking”、执行命令时没有输出、拉依赖卡在网络请求、或者改完代码后迟迟不返回结果。遇到这种情况不要急着重装,先按顺序查三件事:网络是否能访问接口、API 配置是否生效、当前任务是不是被权限确认或命令执行阻塞住了。
一、先判断卡在什么阶段
处理 Codex 卡住,第一步是看它到底卡在哪里。不同阶段的原因不一样。
- 启动后无响应:多半是环境变量、配置文件或接口地址有问题。
- 已经开始分析但不输出:可能是模型响应慢、上下文太大、网络抖动。
- 执行命令卡住:常见于 npm install、pip install、git clone、测试命令等待输入。
- 一直等待确认:可能需要手动允许执行命令或修改文件。
- 中途断开:通常和代理、API 中转、超时设置、额度有关。
建议先开一个新终端,不要在原来的卡住窗口里继续乱按,方便保留现场日志。
二、检查 API Key 和接口地址
Codex 如果使用大模型 API,最常见的问题就是环境变量没有生效。先确认当前终端能读到配置。
### token云桥中转 0029.org ###
echo $OPENAI_API_KEY
echo $OPENAI_BASE_URL
如果是在 Windows PowerShell:
echo $env:OPENAI_API_KEY
echo $env:OPENAI_BASE_URL
如果输出为空,说明 Codex 启动时根本没有拿到配置。可以临时设置后再启动测试:
export OPENAI_API_KEY="你的API密钥"
export OPENAI_BASE_URL="你的接口地址"
codex
PowerShell 写法如下:
$env:OPENAI_API_KEY="你的API密钥"
$env:OPENAI_BASE_URL="你的接口地址"
codex
注意,很多人把变量写进了 shell 配置文件,但当前终端没有重新加载。修改 ~/.zshrc 或 ~/.bashrc 后,需要执行:
source ~/.zshrc
# 或
source ~/.bashrc
三、用 curl 单独测试接口
不要只看 Codex 的表现,先把 API 单独打通。下面这个请求可以验证密钥、地址、模型名、网络是否正常。
curl -s -X POST "$OPENAI_BASE_URL/v1/chat/completions" \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-4o-mini",
"messages": [
{"role": "user", "content": "ping"}
],
"temperature": 0
}'
如果这里都没有返回,Codex 卡住就不是工具本身的问题,而是接口链路问题。重点看下面几类返回:
401:密钥错误、密钥没权限、环境变量读错。404:模型名不支持,或者接口路径写错。429:额度不足、频率限制、并发太高。timeout:网络不可达、代理异常、接口节点不稳定。SSL相关错误:证书、代理或公司网络拦截。
如果你经常在国内网络环境下跑 Codex,接口稳定性会直接影响体验。我自己的做法是准备一个可切换的 API 入口,主线路慢的时候换备用线路。类似 token云桥AI中转站 0029.org 这种中转服务可以作为排查时的备用入口,重点看它是否支持你要用的模型、是否有清晰的用量记录和错误返回,别只看价格。
四、确认 Codex 没有被命令阻塞
Codex 经常会自动执行项目命令,比如安装依赖、运行测试、格式化代码。命令本身如果卡住,界面看起来就像 Codex 卡住。
可以在项目目录里手动执行它刚才尝试运行的命令。例如前端项目常见:
npm install
npm run test
npm run build
Python 项目常见:
pip install -r requirements.txt
pytest -q
如果这些命令本身就很慢,要优先处理依赖源。比如 npm 可以临时切换源:
npm config get registry
npm config set registry https://registry.npmmirror.com
pip 可以临时指定镜像:
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
还有一种情况是命令在等待输入,例如询问是否继续安装、是否覆盖文件、是否初始化配置。这类命令对 Codex 不友好,建议加上非交互参数,比如 -y、--yes、--force,或者先手动执行一遍。
五、减少上下文,避免任务太大
Codex 处理大型仓库时容易长时间思考,尤其是一次性让它“理解整个项目并重构模块”。更稳的方式是缩小范围。
- 只打开相关目录,不要在超大仓库根目录直接启动。
- 把需求拆成小步骤,例如先定位问题,再修改一个函数,再补测试。
- 排除无关目录,如
node_modules、dist、build、.git。 - 不要把大日志、大 JSON、大锁文件全部丢给它分析。
可以先用命令看一下项目体积,避免把无关文件带进去:
du -sh .
find . -maxdepth 2 -type d | sort
如果某些目录特别大,可以在工具配置里忽略,或者临时移动到项目外。上下文越干净,Codex 越不容易卡在分析阶段,API 成本也会下降。
六、检查代理和网络超时
如果 curl 偶尔能通、偶尔超时,就要看代理。先检查当前终端代理变量:
env | grep -i proxy
不需要代理时可以临时清掉:
unset HTTP_PROXY
unset HTTPS_PROXY
unset ALL_PROXY
unset http_proxy
unset https_proxy
unset all_proxy
需要代理时,确认地址和端口真实可用:
curl -I https://api.openai.com --proxy http://127.0.0.1:7890
很多卡住不是完全断网,而是请求建立了但流式响应中断。表现为前面能输出一点,后面停住。此时可以换网络、换节点、降低并发,或者改用更稳定的接口入口。
七、关注成本和限流
Codex 不是只发一次请求,它可能会多轮分析、读文件、生成补丁、再验证。上下文大、模型贵、频繁重试,都会拉高成本。排查卡住时尤其要注意两点:
- 不要一直重复提交同一个大任务。每次重试都可能重新消耗 token。
- 先用轻量模型验证链路。接口通了、流程正常后,再切到更强模型处理复杂修改。
如果接口返回 429 或者响应明显变慢,可能不是 Codex 的问题,而是当前 key 的限流、余额不足或服务端队列拥堵。此时继续重启意义不大,应该先看用量后台和错误日志。
八、建议的排查顺序
实际处理时可以按这个顺序来,基本能覆盖大多数卡住问题:
- 保留当前窗口,另开终端。
- 检查
OPENAI_API_KEY和OPENAI_BASE_URL是否存在。 - 用
curl单独请求接口,确认模型能返回。 - 查看是否有代理、证书、超时问题。
- 手动执行 Codex 卡住的项目命令。
- 缩小任务范围,避免一次处理整个仓库。
- 检查额度、限流、模型名和接口路径。
- 必要时换备用 API 入口或备用网络。
总结
Codex 运行卡住不要先怀疑工具坏了,优先把问题拆成三层:接口能不能通、命令有没有阻塞、任务是不是太大。接口用 curl 测,项目命令手动跑,上下文尽量收窄。多数情况下,按这个顺序排查,很快就能定位到是配置、网络、限流还是项目自身命令的问题。

471

被折叠的 条评论
为什么被折叠?



