适合谁,不适合谁
开始前准备
- 记录完整错误类型、发生时间和触发步骤。
- 确认当前 Codex 版本、登录状态和配置文件路径。
- 从控制台重新确认 Base URL、模型名、Key 和协议说明。
- 准备一个无敏感信息的最小测试目录。
完整步骤
记录错误并停止随机修改
保存状态码、错误正文和发生步骤;遮挡敏感信息后再分析。
检查客户端与认证
运行 codex --version、codex login status、codex doctor --summary,先处理安装和登录问题。
检查 config.toml
确认 model_provider 指向正确 provider,Base URL 没有空格或重复路径,协议与当前服务说明一致。
区分网络可达与 API 可用
可以用浏览器或 Invoke-WebRequest 检查域名是否可达,但必须继续用 Codex 最小任务验证认证和响应格式。
根据状态码处理并复测
401 检查凭证和请求头,403 检查权限或策略,连接错误检查 DNS、代理、TLS 和服务状态;每次只改一个因素。
可复制的脱敏诊断命令
这些命令不会打印你的完整 API Key;分享 JSON 诊断前仍应检查其中的路径和环境信息。
codex --version codex login status codex doctor --summary codex doctor --json # 只检查业务域名可达性,不代表模型调用成功 Invoke-WebRequest -UseBasicParsing "https://api.xiao-he.top/" -TimeoutSec 10 | Select-Object StatusCode
网站能打开,所以 API 一定没问题。
网站可达;继续检查登录状态、provider、协议,并用 Codex 最小任务确认真实调用。
怎样判断结果是否可用?
每层检查只能证明对应层级。域名可达、登录成功和模型任务完成是三件不同的事。
常见问题与报错
401 Unauthorized
重新复制 Key,检查前后空格、换行和是否已撤销;确认 login status 以及服务要求的认证方式。
403 Forbidden
Key 可能有效但无权访问当前资源,也可能被账户、组织、区域或服务策略拒绝;查看控制台与服务端说明。
连接超时、拒绝或 DNS 错误
检查 Base URL 拼写、网络、代理、DNS、TLS 证书和服务状态。浏览器访问不能覆盖命令行代理差异。
返回 HTML、空响应或 JSON 结构错误
通常说明请求打到了网页、错误反向代理路径或不兼容接口;核对 Base URL 和协议,不要只重试。
完成后的检查方法
- 记录了状态码、错误正文、时间和触发步骤。
login status与doctor已运行并保存脱敏结果。- config.toml 中 provider、Base URL 和协议来自当前控制台或文档。
- 没有把网页可达误判为模型调用成功。
- 每次只修改一个因素并重复同一个最小任务。
- Key 和敏感日志没有出现在截图、工单或仓库中。
FAQ
401 和 403 有什么区别?
401 通常表示凭证未被接受;403 通常表示凭证已识别但没有相应权限或被策略拒绝,具体仍以响应正文为准。
网页返回 200 能证明 API 正常吗?
不能。它只证明该网页路由可达,仍需真实客户端请求和结果验证。
doctor 没报错为什么任务仍失败?
doctor 主要检查本地配置和运行环境;上游模型、账户权限和协议兼容仍可能失败。
可以把完整日志发给别人吗?
先删除 Key、账号、路径、请求内容和其他敏感信息,只保留定位问题所需字段。
资料来源与版本说明
- OpenAI Codex CLI reference
本文使用的诊断命令已在当前本机 CLI 帮助中核验;不同版本选项可能变化。
- OpenAI Codex configuration reference
配置字段以当前客户端和服务文档为准。
用当前控制台字段重新完成一次最小验证。
确认 Key、Base URL、模型名和协议后,只运行一个安全测试任务,并记录诊断结果。 模型、价格、额度与规则以对应业务站当前展示为准。
进入小贺API检查当前配置