<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Codex常见问题 on 逍遥笔记</title><link>https://blog.7qiang.com/categories/codex%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98/</link><description>Recent content in Codex常见问题 on 逍遥笔记</description><generator>Hugo -- gohugo.io</generator><language>zh-cn</language><copyright>逍遥笔记</copyright><lastBuildDate>Fri, 18 Sep 2026 12:50:00 +0800</lastBuildDate><atom:link href="https://blog.7qiang.com/categories/codex%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98/index.xml" rel="self" type="application/rss+xml"/><item><title>Codex 卡住、提交消息失败或一直无响应，先按这 5 步排查</title><link>https://blog.7qiang.com/posts/codex-stuck-troubleshooting/</link><pubDate>Fri, 18 Sep 2026 12:50:00 +0800</pubDate><guid>https://blog.7qiang.com/posts/codex-stuck-troubleshooting/</guid><description>&lt;img src="https://blog.7qiang.com/blog-cover-cyber-mask.gif" alt="Featured image of post Codex 卡住、提交消息失败或一直无响应，先按这 5 步排查" /&gt;&lt;section class="xiaoyao-contact-card" aria-label="联系逍遥"&gt;
 &lt;img class="xiaoyao-contact-card__qr" src="https://blog.7qiang.com/contact-qr.png" width="690" height="690" loading="lazy" decoding="async" alt="逍遥微信二维码"&gt;
 &lt;div class="xiaoyao-contact-card__content"&gt;
 &lt;h3 class="xiaoyao-contact-card__title"&gt;联系逍遥&lt;/h3&gt;
 &lt;p class="xiaoyao-contact-card__description"&gt;扫码添加微信，或点击下方按钮复制联系方式。&lt;/p&gt;
 &lt;div class="xiaoyao-contact-buttons" data-contact-buttons&gt;
 &lt;button class="xiaoyao-contact-button xiaoyao-contact-button--wechat" type="button" data-copy-contact="plus6566" data-copy-label="微信号"&gt;
 &lt;span class="xiaoyao-contact-button__label"&gt;微信&lt;/span&gt;
 &lt;span class="xiaoyao-contact-button__value"&gt;plus6566&lt;/span&gt;
 &lt;span class="xiaoyao-contact-button__status" data-copy-status&gt;点击复制&lt;/span&gt;
 &lt;/button&gt;
 &lt;button class="xiaoyao-contact-button xiaoyao-contact-button--qq" type="button" data-copy-contact="826215906" data-copy-label="QQ 号"&gt;
 &lt;span class="xiaoyao-contact-button__label"&gt;QQ&lt;/span&gt;
 &lt;span class="xiaoyao-contact-button__value"&gt;826215906&lt;/span&gt;
 &lt;span class="xiaoyao-contact-button__status" data-copy-status&gt;点击复制&lt;/span&gt;
 &lt;/button&gt;
 &lt;span class="xiaoyao-contact-feedback" role="status" aria-live="polite"&gt;&lt;/span&gt;
&lt;/div&gt;

 &lt;/div&gt;
&lt;/section&gt;

&lt;hr&gt;
&lt;h2 id="先区分三种卡住"&gt;先区分三种“卡住”
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;等待审批/工具结果&lt;/strong&gt;：界面有等待确认、运行命令或写文件的提示。它不是网络断线，先完成或拒绝审批。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;正在重连或服务端等待&lt;/strong&gt;：能看到 &lt;code&gt;Reconnecting&lt;/code&gt;、429、503 等字样。按&lt;a class="link" href="https://blog.7qiang.com/posts/codex-reconnecting-5-times/" target="_blank" rel="noopener"
 &gt;重连排查&lt;/a&gt;和&lt;a class="link" href="https://blog.7qiang.com/posts/codex-common-errors/" target="_blank" rel="noopener"
 &gt;错误码表&lt;/a&gt;处理。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;本地界面/会话状态异常&lt;/strong&gt;：按钮无反应、提交失败、窗口卡白，但新会话可以工作。先保留输入和工作目录，不要直接清空配置。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="五步快速排查"&gt;五步快速排查
&lt;/h2&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;先看是不是在等审批&lt;/strong&gt;：工具调用、文件写入或网络访问可能停在等待确认；完成或拒绝后，回到会话观察是否继续。若没有任何审批提示，再继续下一步。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;验证本地终端和磁盘&lt;/strong&gt;：开一个新的终端窗口，运行 &lt;code&gt;pwd&lt;/code&gt;、&lt;code&gt;git status&lt;/code&gt;，并确认磁盘没有满。如果命令本身都卡住，先处理终端、磁盘、权限或网络，不要重复发送同一条消息。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;用短请求和新会话做对照&lt;/strong&gt;：先发一句不涉及代码的短问题。短请求能返回，通常是原任务上下文过大、某个工具调用或项目文件导致；短请求也失败，才更像连接、登录或服务端问题。新会话正常不代表旧任务已完成，先保存原任务内容。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;更新并完全重启&lt;/strong&gt;：保存未发送的文字，升级到稳定版本，退出应用（不是只关窗口）后再打开。仍无响应时切换到新会话测试。不要因为界面暂时空白就删除 &lt;code&gt;.codex&lt;/code&gt; 目录，也不要先删 &lt;code&gt;auth.json&lt;/code&gt;。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;最后再看日志并做最小复现&lt;/strong&gt;：macOS 日志通常在 &lt;code&gt;~/Library/Logs/com.openai.codex/YYYY/MM/DD&lt;/code&gt;，会话记录在 &lt;code&gt;$CODEX_HOME/sessions&lt;/code&gt;。记录“打开应用 → 进入项目 → 发送短请求 → 卡住”的时间线，能帮助判断是界面、项目还是网络问题。&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="什么时候可以重试什么时候应停止"&gt;什么时候可以重试，什么时候应停止
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;只有一次短暂超时：等待后重试一次即可。&lt;/li&gt;
&lt;li&gt;连续出现相同的 429/503：停止连点，按 &lt;code&gt;Retry-After&lt;/code&gt; 或逐步退避等待；继续狂点只会延长限流。&lt;/li&gt;
&lt;li&gt;官方会话和中转都失败：先检查网络、系统时间、代理和状态页，再考虑登录/配置问题。&lt;/li&gt;
&lt;li&gt;只有一个项目卡住：用空目录或新会话做对照，检查项目是否有巨大的日志、递归目录或异常 MCP/脚本；不要先删除项目文件。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;如果错误是反复 &lt;code&gt;Reconnecting&lt;/code&gt;，可先看&lt;a class="link" href="https://blog.7qiang.com/posts/codex-reconnecting-5-times/" target="_blank" rel="noopener"
 &gt;这篇连接排查&lt;/a&gt;。如果是 &lt;code&gt;capacity&lt;/code&gt;、429 或 503，按&lt;a class="link" href="https://blog.7qiang.com/posts/codex-common-errors/" target="_blank" rel="noopener"
 &gt;常见报错表&lt;/a&gt;处理。持续失败时，向 &lt;a class="link" href="https://help.openai.com/" target="_blank" rel="noopener"
 &gt;OpenAI 帮助中心&lt;/a&gt;提供完整错误、客户端版本、模型、时间和请求 ID；分享日志前删掉代码、路径、邮箱、token、API Key、代理密钥和 &lt;code&gt;auth.json&lt;/code&gt; 内容。&lt;/p&gt;
&lt;p&gt;参考：&lt;a class="link" href="https://developers.openai.com/zh-Hans/docs/reference/troubleshooting" target="_blank" rel="noopener"
 &gt;Codex 故障排除&lt;/a&gt;。&lt;/p&gt;</description></item><item><title>Codex 常见报错怎么处理：capacity、429、503、usage_limit 一次看懂</title><link>https://blog.7qiang.com/posts/codex-common-errors/</link><pubDate>Fri, 18 Sep 2026 12:40:00 +0800</pubDate><guid>https://blog.7qiang.com/posts/codex-common-errors/</guid><description>&lt;img src="https://blog.7qiang.com/blog-cover-cyber-mask.gif" alt="Featured image of post Codex 常见报错怎么处理：capacity、429、503、usage_limit 一次看懂" /&gt;&lt;section class="xiaoyao-contact-card" aria-label="联系逍遥"&gt;
 &lt;img class="xiaoyao-contact-card__qr" src="https://blog.7qiang.com/contact-qr.png" width="690" height="690" loading="lazy" decoding="async" alt="逍遥微信二维码"&gt;
 &lt;div class="xiaoyao-contact-card__content"&gt;
 &lt;h3 class="xiaoyao-contact-card__title"&gt;联系逍遥&lt;/h3&gt;
 &lt;p class="xiaoyao-contact-card__description"&gt;扫码添加微信，或点击下方按钮复制联系方式。&lt;/p&gt;
 &lt;div class="xiaoyao-contact-buttons" data-contact-buttons&gt;
 &lt;button class="xiaoyao-contact-button xiaoyao-contact-button--wechat" type="button" data-copy-contact="plus6566" data-copy-label="微信号"&gt;
 &lt;span class="xiaoyao-contact-button__label"&gt;微信&lt;/span&gt;
 &lt;span class="xiaoyao-contact-button__value"&gt;plus6566&lt;/span&gt;
 &lt;span class="xiaoyao-contact-button__status" data-copy-status&gt;点击复制&lt;/span&gt;
 &lt;/button&gt;
 &lt;button class="xiaoyao-contact-button xiaoyao-contact-button--qq" type="button" data-copy-contact="826215906" data-copy-label="QQ 号"&gt;
 &lt;span class="xiaoyao-contact-button__label"&gt;QQ&lt;/span&gt;
 &lt;span class="xiaoyao-contact-button__value"&gt;826215906&lt;/span&gt;
 &lt;span class="xiaoyao-contact-button__status" data-copy-status&gt;点击复制&lt;/span&gt;
 &lt;/button&gt;
 &lt;span class="xiaoyao-contact-feedback" role="status" aria-live="polite"&gt;&lt;/span&gt;
&lt;/div&gt;

 &lt;/div&gt;
&lt;/section&gt;

&lt;hr&gt;
&lt;p&gt;同样是“发不出去”，原因可能完全不同。先看完整报错、HTTP 状态和 &lt;code&gt;error.code&lt;/code&gt;，再决定怎么处理；不要看到一个 &lt;code&gt;429&lt;/code&gt; 就一律等，也不要看到 &lt;code&gt;capacity&lt;/code&gt; 就马上换账号。&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;提示&lt;/th&gt;
 &lt;th&gt;常见原因&lt;/th&gt;
 &lt;th&gt;建议&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;提示/状态&lt;/td&gt;
 &lt;td&gt;常见原因&lt;/td&gt;
 &lt;td&gt;先做什么&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;—&lt;/td&gt;
 &lt;td&gt;—&lt;/td&gt;
 &lt;td&gt;—&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;Selected model is at capacity&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;目标模型当前没有足够容量；常见于模型瞬时拥堵&lt;/td&gt;
 &lt;td&gt;等几分钟，换一个可用模型，查看&lt;a class="link" href="https://status.openai.com/" target="_blank" rel="noopener"
 &gt;状态页&lt;/a&gt;。如果所有模型长期失败，再检查账号/工作区并联系支持；不能仅凭这句话断言账号没问题或一定被标记。&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;server_is_overloaded&lt;/code&gt;（通常为 &lt;code&gt;503&lt;/code&gt;）&lt;/td&gt;
 &lt;td&gt;模型或服务端暂时过载&lt;/td&gt;
 &lt;td&gt;有 &lt;code&gt;Retry-After&lt;/code&gt; 就按它等待；没有时逐步拉长间隔，并查看状态页。&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;429 Too Many Requests&lt;/code&gt;、&lt;code&gt;rate_limit_error&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;请求太密、并发过高、Token 突然增长，或同一组织的其他程序也在用额度&lt;/td&gt;
 &lt;td&gt;降低并发，停止重复点击；按 &lt;code&gt;Retry-After&lt;/code&gt; 等待，没有时用逐渐加长的退避，只重试有限次数。&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;429&lt;/code&gt; + &lt;code&gt;slow_down&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;流量增长过快，即使还没达到每分钟上限也可能触发&lt;/td&gt;
 &lt;td&gt;让请求速率稳定下来，等一段时间后再逐步恢复，不要短时间内把并发重新拉满。&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;429&lt;/code&gt; + &lt;code&gt;credit_balance_exhausted&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;API 预付余额耗尽&lt;/td&gt;
 &lt;td&gt;补充余额；单纯等待不会恢复。&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;429&lt;/code&gt; + &lt;code&gt;project_spend_limit_exceeded&lt;/code&gt; / &lt;code&gt;organization_spend_limit_exceeded&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;项目或组织支出上限&lt;/td&gt;
 &lt;td&gt;让管理员调整对应限额，或等账期恢复；先确认是哪个项目在发请求。&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;429&lt;/code&gt; + &lt;code&gt;organization_usage_limit_exceeded&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;组织用量上限达到&lt;/td&gt;
 &lt;td&gt;联系组织管理员或 OpenAI 支持申请更高的用量上限。&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;usage_limit_reached&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;ChatGPT/Codex 计划周期内的使用量达到上限&lt;/td&gt;
 &lt;td&gt;查看 Codex 用量页面或提示中的 reset 时间，按页面提供的等待、加额度或升级选项处理；支持团队通常不会人工提前重置周期额度。&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;server_unavailable&lt;/code&gt;、&lt;code&gt;503 Service Unavailable&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;服务暂时不可用、网络出口异常，或客户端重试已耗尽&lt;/td&gt;
 &lt;td&gt;先确认状态页、网络和代理，再按退避规则重试；不要无限循环。&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;exceeded retry limit&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;客户端已经用完本次请求的重试次数&lt;/td&gt;
 &lt;td&gt;它不是新的根因，回看它前面的最后一个 &lt;code&gt;429&lt;/code&gt;、&lt;code&gt;503&lt;/code&gt;、超时或连接错误。&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;另外，&lt;code&gt;401/403&lt;/code&gt; 更像是登录、权限、组织/项目或地区设置问题：官方登录先运行 &lt;code&gt;codex login status&lt;/code&gt;，API 则检查 Key、组织和项目；不要先反复换网络。&lt;code&gt;400&lt;/code&gt; 往往是参数、模型名或接口格式不对；&lt;code&gt;500&lt;/code&gt; 是服务端内部错误，短暂等待并查状态页即可。&lt;/p&gt;
&lt;h2 id="一个简单的判断流程"&gt;一个简单的判断流程
&lt;/h2&gt;&lt;ol&gt;
&lt;li&gt;看 HTTP 状态和 &lt;code&gt;error.code&lt;/code&gt;，不要只看界面上一行摘要。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;401/403&lt;/code&gt; 先查登录和权限；&lt;code&gt;429&lt;/code&gt; 先区分限流、余额和组织/项目上限。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;503&lt;/code&gt;、&lt;code&gt;server_is_overloaded&lt;/code&gt; 或 &lt;code&gt;capacity&lt;/code&gt; 先等、换模型、查状态页；不要因为一次过载就重装客户端。&lt;/li&gt;
&lt;li&gt;只有在等待和退避后仍失败，才做网络/代理对照，并尝试新会话。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;向支持反馈时记录模型、客户端版本、请求时间和时区、完整错误、HTTP 状态、&lt;code&gt;error.code&lt;/code&gt;、请求 ID（如有）、是否换模型/网络后恢复。反馈时删掉 API Key、&lt;code&gt;auth.json&lt;/code&gt;、OAuth/access token、代码和代理密钥。官方建议对于限流遵守 &lt;code&gt;Retry-After&lt;/code&gt;，并限制重试次数；账单、余额和用量错误不能靠继续重试解决。&lt;/p&gt;
&lt;p&gt;官方说明：&lt;a class="link" href="https://developers.openai.com/zh-Hans/api/docs/guides/error-codes" target="_blank" rel="noopener"
 &gt;错误代码&lt;/a&gt;｜&lt;a class="link" href="https://developers.openai.com/zh-Hans/api/docs/guides/rate-limits" target="_blank" rel="noopener"
 &gt;速率限制&lt;/a&gt;｜&lt;a class="link" href="https://help.openai.com/en/articles/11369540-using-codex-with-your-chatgpt-plan" target="_blank" rel="noopener"
 &gt;Codex 用量&lt;/a&gt;。&lt;/p&gt;</description></item><item><title>Codex 官方订阅和中转怎么切换？手改配置与 CC-Switch 说明</title><link>https://blog.7qiang.com/posts/codex-official-relay-switch/</link><pubDate>Fri, 18 Sep 2026 12:30:00 +0800</pubDate><guid>https://blog.7qiang.com/posts/codex-official-relay-switch/</guid><description>&lt;img src="https://blog.7qiang.com/blog-cover-cyber-mask.gif" alt="Featured image of post Codex 官方订阅和中转怎么切换？手改配置与 CC-Switch 说明" /&gt;&lt;section class="xiaoyao-contact-card" aria-label="联系逍遥"&gt;
 &lt;img class="xiaoyao-contact-card__qr" src="https://blog.7qiang.com/contact-qr.png" width="690" height="690" loading="lazy" decoding="async" alt="逍遥微信二维码"&gt;
 &lt;div class="xiaoyao-contact-card__content"&gt;
 &lt;h3 class="xiaoyao-contact-card__title"&gt;联系逍遥&lt;/h3&gt;
 &lt;p class="xiaoyao-contact-card__description"&gt;扫码添加微信，或点击下方按钮复制联系方式。&lt;/p&gt;
 &lt;div class="xiaoyao-contact-buttons" data-contact-buttons&gt;
 &lt;button class="xiaoyao-contact-button xiaoyao-contact-button--wechat" type="button" data-copy-contact="plus6566" data-copy-label="微信号"&gt;
 &lt;span class="xiaoyao-contact-button__label"&gt;微信&lt;/span&gt;
 &lt;span class="xiaoyao-contact-button__value"&gt;plus6566&lt;/span&gt;
 &lt;span class="xiaoyao-contact-button__status" data-copy-status&gt;点击复制&lt;/span&gt;
 &lt;/button&gt;
 &lt;button class="xiaoyao-contact-button xiaoyao-contact-button--qq" type="button" data-copy-contact="826215906" data-copy-label="QQ 号"&gt;
 &lt;span class="xiaoyao-contact-button__label"&gt;QQ&lt;/span&gt;
 &lt;span class="xiaoyao-contact-button__value"&gt;826215906&lt;/span&gt;
 &lt;span class="xiaoyao-contact-button__status" data-copy-status&gt;点击复制&lt;/span&gt;
 &lt;/button&gt;
 &lt;span class="xiaoyao-contact-feedback" role="status" aria-live="polite"&gt;&lt;/span&gt;
&lt;/div&gt;

 &lt;/div&gt;
&lt;/section&gt;

&lt;hr&gt;
&lt;h2 id="先分清三件事订阅api真正的中转"&gt;先分清三件事：订阅、API、真正的中转
&lt;/h2&gt;&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;方式&lt;/th&gt;
 &lt;th&gt;凭据/计费&lt;/th&gt;
 &lt;th&gt;失败时先看什么&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;ChatGPT 官方登录&lt;/td&gt;
 &lt;td&gt;浏览器登录的账号或工作区；受计划、用量和重置时间影响&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;codex login status&lt;/code&gt;、账号/工作区用量&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;OpenAI API&lt;/td&gt;
 &lt;td&gt;API Key；按组织/项目的余额、限额和速率计费&lt;/td&gt;
 &lt;td&gt;Key、项目、余额、&lt;code&gt;429&lt;/code&gt;/&lt;code&gt;usage&lt;/code&gt; 错误&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;第三方中转&lt;/td&gt;
 &lt;td&gt;服务商自己的 Key、模型、限流和日志&lt;/td&gt;
 &lt;td&gt;中转文档、接口兼容性、服务商状态&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;API Key 或中转不是“把 ChatGPT 订阅搬到另一个地址”。三者的会话、历史、权限和账单彼此独立。CLI 中可用 &lt;code&gt;codex login status&lt;/code&gt; 查看当前官方登录，用 &lt;code&gt;codex logout&lt;/code&gt; 清除本机保存的官方登录；不要为了切到 API 就把 &lt;code&gt;auth.json&lt;/code&gt; 发给别人。&lt;/p&gt;
&lt;h2 id="推荐用-profile-切换"&gt;推荐用 profile 切换
&lt;/h2&gt;&lt;p&gt;官方支持在 &lt;code&gt;~/.codex/&lt;/code&gt; 下建立多个 profile 文件，启动时选择，不必反复覆盖主配置。先备份原文件，再创建配置：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;cp ~/.codex/config.toml ~/.codex/config.toml.backup-&lt;span class="k"&gt;$(&lt;/span&gt;date +%Y%m%d-%H%M%S&lt;span class="k"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;codex --profile official
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;codex --profile relay
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;code&gt;~/.codex/official.config.toml&lt;/code&gt; 可以只放官方相关的个人偏好；&lt;code&gt;~/.codex/relay.config.toml&lt;/code&gt; 可以这样写一个&lt;strong&gt;示例&lt;/strong&gt;（地址、环境变量名和模型名按服务商文档填写）：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-toml" data-lang="toml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;model_provider&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;my_relay&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;model_providers&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;my_relay&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;name&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;My relay&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;base_url&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;https://你的服务商地址/v1&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;env_key&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;MY_RELAY_API_KEY&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;wire_api&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;responses&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;切换时建议按这个顺序：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;关闭正在运行的 Codex 会话，避免旧进程继续使用旧配置。&lt;/li&gt;
&lt;li&gt;确认环境变量已在&lt;strong&gt;启动 Codex 的同一个终端&lt;/strong&gt;中设置，再执行 &lt;code&gt;codex --profile relay&lt;/code&gt;。&lt;/li&gt;
&lt;li&gt;用一句不含敏感信息的短请求测试；同时确认报错中的请求地址和模型确实属于目标提供商。&lt;/li&gt;
&lt;li&gt;测试完成后退出，再用 &lt;code&gt;codex --profile official&lt;/code&gt; 切回官方。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;项目目录里的 &lt;code&gt;.codex/config.toml&lt;/code&gt; 只适合项目级偏好，不能覆盖提供商、认证、profile 等本机设置；profile 必须放在用户级 &lt;code&gt;~/.codex/profile-name.config.toml&lt;/code&gt;。Codex 版本升级后配置键可能变化，先看当前版本的官方配置参考。&lt;/p&gt;
&lt;p&gt;如果不想使用 profile，也可以手动编辑 &lt;code&gt;~/.codex/config.toml&lt;/code&gt;：先备份，替换 &lt;code&gt;model_provider&lt;/code&gt; 和对应的 &lt;code&gt;[model_providers.xxx]&lt;/code&gt;，测试后不满意就把备份文件恢复。不要在同一份配置中留下两个同名提供商，也不要把真实 Key 写进 Git 仓库。&lt;/p&gt;
&lt;h2 id="cc-switch-能不能用"&gt;CC-Switch 能不能用
&lt;/h2&gt;&lt;p&gt;CC-Switch 是第三方工具，不是 OpenAI 官方产品。只从其&lt;a class="link" href="https://github.com/farion1231/cc-switch" target="_blank" rel="noopener"
 &gt;官方仓库或 Releases&lt;/a&gt; 下载。一般流程是：备份 &lt;code&gt;~/.codex&lt;/code&gt; 配置 → 添加提供商 → 填写服务商要求的地址、模型和 Key → 激活 → 完全重启 Codex → 发短请求验证。工具只是帮你改配置，不会替你解决服务商不兼容、额度或封禁问题；激活后仍要检查实际请求地址和模型。&lt;/p&gt;
&lt;p&gt;中转服务通常能看到你发送的代码、提示词和请求元数据，计费、留存、审计和兼容性也由它决定。不要把 OpenAI OAuth/access token、&lt;code&gt;~/.codex/auth.json&lt;/code&gt;、API Key 或 Cloudflare token 粘贴进文章、截图或中转配置。生产代码先脱敏，能不用中转处理的敏感项目不要使用不明服务商。&lt;/p&gt;
&lt;p&gt;切换后历史记录暂时看不到，通常是 provider、账号或 session 不同，不代表数据被删除；先切回原 provider、原 profile 和原工作目录检查。若官方登录正常而中转失败，优先找中转服务商；若所有方式都失败，再看网络和 OpenAI 状态。&lt;/p&gt;
&lt;p&gt;参考：&lt;a class="link" href="https://developers.openai.com/zh-Hans/docs/auth" target="_blank" rel="noopener"
 &gt;Codex 身份验证&lt;/a&gt;｜&lt;a class="link" href="https://developers.openai.com/zh-Hans/docs/config-file/config-reference" target="_blank" rel="noopener"
 &gt;配置方案文件&lt;/a&gt;。&lt;/p&gt;</description></item><item><title>Codex 提示 Reconnecting 5 次，怎么处理？</title><link>https://blog.7qiang.com/posts/codex-reconnecting-5-times/</link><pubDate>Fri, 18 Sep 2026 12:20:00 +0800</pubDate><guid>https://blog.7qiang.com/posts/codex-reconnecting-5-times/</guid><description>&lt;img src="https://blog.7qiang.com/blog-cover-cyber-mask.gif" alt="Featured image of post Codex 提示 Reconnecting 5 次，怎么处理？" /&gt;&lt;section class="xiaoyao-contact-card" aria-label="联系逍遥"&gt;
 &lt;img class="xiaoyao-contact-card__qr" src="https://blog.7qiang.com/contact-qr.png" width="690" height="690" loading="lazy" decoding="async" alt="逍遥微信二维码"&gt;
 &lt;div class="xiaoyao-contact-card__content"&gt;
 &lt;h3 class="xiaoyao-contact-card__title"&gt;联系逍遥&lt;/h3&gt;
 &lt;p class="xiaoyao-contact-card__description"&gt;扫码添加微信，或点击下方按钮复制联系方式。&lt;/p&gt;
 &lt;div class="xiaoyao-contact-buttons" data-contact-buttons&gt;
 &lt;button class="xiaoyao-contact-button xiaoyao-contact-button--wechat" type="button" data-copy-contact="plus6566" data-copy-label="微信号"&gt;
 &lt;span class="xiaoyao-contact-button__label"&gt;微信&lt;/span&gt;
 &lt;span class="xiaoyao-contact-button__value"&gt;plus6566&lt;/span&gt;
 &lt;span class="xiaoyao-contact-button__status" data-copy-status&gt;点击复制&lt;/span&gt;
 &lt;/button&gt;
 &lt;button class="xiaoyao-contact-button xiaoyao-contact-button--qq" type="button" data-copy-contact="826215906" data-copy-label="QQ 号"&gt;
 &lt;span class="xiaoyao-contact-button__label"&gt;QQ&lt;/span&gt;
 &lt;span class="xiaoyao-contact-button__value"&gt;826215906&lt;/span&gt;
 &lt;span class="xiaoyao-contact-button__status" data-copy-status&gt;点击复制&lt;/span&gt;
 &lt;/button&gt;
 &lt;span class="xiaoyao-contact-feedback" role="status" aria-live="polite"&gt;&lt;/span&gt;
&lt;/div&gt;

 &lt;/div&gt;
&lt;/section&gt;

&lt;hr&gt;
&lt;h2 id="先给结论5-次是重试上限不是封号提示"&gt;先给结论：5 次是重试上限，不是封号提示
&lt;/h2&gt;&lt;p&gt;&lt;code&gt;Reconnecting&lt;/code&gt; 表示流式连接中断，Codex 正在重新建立连接。官方配置参考中，&lt;code&gt;stream_max_retries&lt;/code&gt; 的默认值是 5，所以“重试 5 次”只说明这一次请求的连接重试用完了，不能据此判断账号被封、订阅失效或额度用完。真正要看的是最后一条错误、HTTP 状态码和是否只影响某一个模型。&lt;/p&gt;
&lt;h2 id="先判断是哪一类"&gt;先判断是哪一类
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;只有偶尔一次&lt;/strong&gt;：更像 Wi-Fi、代理节点、DNS 或服务端瞬时抖动。等几十秒后重新发一次即可。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;同一个模型总失败，换模型正常&lt;/strong&gt;：优先按模型容量或临时过载处理，先换模型或查看状态页。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;所有模型、所有会话都失败&lt;/strong&gt;：再检查登录状态、代理出口、时间/证书、工作区权限和客户端版本。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;一输入就重连，换网络也一样&lt;/strong&gt;：可能是配置中的 &lt;code&gt;base_url&lt;/code&gt;、协议或认证方式不匹配，不要盲目增加重试次数。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="按顺序排查避免反复点击"&gt;按顺序排查，避免反复点击
&lt;/h2&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;停止连点，等待一次完整重试&lt;/strong&gt;。如果错误中有 &lt;code&gt;Retry-After&lt;/code&gt;，至少等够该时间；没有时也不要每秒重复发送，这会把临时限流变成更严重的限流。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;做一次网络对照&lt;/strong&gt;。暂时关闭不必要的代理规则，或用手机热点测试；同时检查 DNS、系统时间、IPv6 和公司防火墙是否拦截 HTTPS/WebSocket。热点正常而家中网络失败，通常不是账号问题。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;更新并完全重启 Codex&lt;/strong&gt;。保存当前输入，升级到较新的稳定版本，退出应用（不是只关窗口）后重新打开，再用一句很短的请求测试。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;检查登录和模型范围&lt;/strong&gt;。官方登录可以运行 &lt;code&gt;codex login status&lt;/code&gt;；API/中转则检查对应环境变量是否仍存在、模型名是否由服务商支持。只换模型就恢复时，不要先改认证文件。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;只有确认是兼容端点的传输问题时，才改配置&lt;/strong&gt;。先备份配置，改一项，重启后测试；不要同时改代理、模型和登录方式，否则无法知道是哪一步起作用。&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="需要-httpsse-时的配置示例"&gt;需要 HTTP/SSE 时的配置示例
&lt;/h2&gt;&lt;p&gt;下面只适用于&lt;strong&gt;明确支持 OpenAI Responses API 的兼容端点&lt;/strong&gt;。它把 WebSocket 关闭，改为 HTTP/SSE；不是所有 Codex 版本或内置提供商都支持同样的覆盖方式。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-toml" data-lang="toml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;model_provider&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;openai_http&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;model_providers&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;openai_http&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;name&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;OpenAI HTTP&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;base_url&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;https://你的兼容服务地址/v1&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;wire_api&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;responses&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;requires_openai_auth&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;supports_websockets&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;false&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;这相当于要求该提供商使用 HTTP/SSE。注意三点：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;code&gt;requires_openai_auth = true&lt;/code&gt; &lt;strong&gt;只&lt;/strong&gt;适用于端点明确支持 OpenAI/ChatGPT 登录的情况；普通中转不要填 OAuth 登录信息。&lt;/li&gt;
&lt;li&gt;第三方中转应按其文档使用 &lt;code&gt;env_key&lt;/code&gt; 或环境变量密钥，不能把 API Key 直接写进公开仓库或截图。&lt;/li&gt;
&lt;li&gt;如果服务商只支持 Chat Completions、不支持 Responses API，&lt;code&gt;wire_api = &amp;quot;responses&amp;quot;&lt;/code&gt; 也会失败；先看服务商文档，不要靠猜。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;改完后完全退出并重新打开 Codex。仍失败就删除新增配置段、恢复备份，再回到原来的配置验证。不要把 &lt;code&gt;stream_max_retries&lt;/code&gt; 无限制调大：连接本身不通时，只会让你等更久，也可能造成重复请求。&lt;/p&gt;
&lt;h2 id="仍然不行这样收集信息最有用"&gt;仍然不行：这样收集信息最有用
&lt;/h2&gt;&lt;p&gt;恢复备份后，记录以下内容再提交到&lt;a class="link" href="https://help.openai.com/" target="_blank" rel="noopener"
 &gt;OpenAI 帮助中心&lt;/a&gt;：客户端版本、操作系统、所用模型、发生时间和时区、是官方登录还是 API/中转、最后一条完整报错、请求 ID（如果有）、换网络或换模型后的结果。可以截取错误文字，但要遮住邮箱、代码、API Key、OAuth/access token、&lt;code&gt;auth.json&lt;/code&gt; 和中转密钥。&lt;/p&gt;
&lt;p&gt;不要先删除整个 &lt;code&gt;~/.codex&lt;/code&gt; 目录，也不要把“重装、清空凭据、换多个中转”同时做掉；这些操作可能丢失本地配置和排查线索。&lt;/p&gt;
&lt;p&gt;参考：&lt;a class="link" href="https://developers.openai.com/zh-Hans/docs/config-file/config-reference" target="_blank" rel="noopener"
 &gt;Codex 配置参考&lt;/a&gt;｜&lt;a class="link" href="https://developers.openai.com/zh-Hans/api/docs/guides/error-codes" target="_blank" rel="noopener"
 &gt;OpenAI 错误代码&lt;/a&gt;。&lt;/p&gt;</description></item></channel></rss>