从 CCX/CCSwitch 切换回官方 ChatGPT

这是一个已知的配置残留问题。即使你停止了 CCX 服务、卸载了 CCSwitch,Codex 的配置文件 (config.toml) 中仍保留了自定义代理配置,导致它继续尝试连接本地 localhost。


🔍 问题根源

Codex 的配置文件位于 ~/.codex/config.toml(或 ~/.config/codex/config.toml),其中包含以下关键配置:

toml

model_provider=custom  # ← 这表示使用自定义 Provider[model_providers.custom]base_url=http://localhost:3000  # ← 这指向 CCX 的本地代理

即使你已卸载 CCX/CCSwitch,这些配置不会自动清除,所以 Codex 仍会尝试连接 localhost:3000,导致 502 Bad Gatewayfailed to resolve feature override precedence 错误 。


✅ 解决方案

步骤 1:找到并编辑 Codex 配置文件

在终端中执行以下命令:

bash

# 找到配置文件位置ls ~/.codex/config.toml# 或ls ~/.config/codex/config.toml

然后用编辑器打开(如 nanovim):

bash

nano ~/.codex/config.toml

步骤 2:完全移除 CustomProvider 配置

你需要彻底删除以下部分:

toml

# ❌ 删除这些行model_provider=custom[model_providers.custom]name=customwire_api=responsesrequires_openai_auth=truebase_url=

保留或添加官方配置(如果存在):

toml

# ✅ 确保使用官方 OpenAI 配置model_provider=openai[model_providers.openai]wire_api="responses"requires_openai_auth=true

步骤 3:重启 Codex 服务

bash

# 完全重启 VSCode(确保进程彻底结束)# 或者在 VSCode 中执行:Developer: Reload Window# 如果是 CLI 模式,先停止再启动pkill -f codexcodex

⚠️ 常见坑点

问题 原因 解决方法
只删除了 base_url 但保留 model_provider=custom 配置仍指向不存在的 custom provider 必须同时删除 model_provider=custom
使用 wire_api="chat" 该格式已被弃用 改为 wire_api="responses" 
端口 1455 被占用 残留进程未完全结束 结束进程后重启 VSCode 
防火墙拦截 本地端口被阻止 允许 1455 端口通过防火墙

🔧 额外检查

如果上述步骤后仍有问题,检查:

  1. 确认 Codex 版本

    bash

    codex --version
  2. 检查是否有残留进程

    bash

    ps aux | grep codex# 如果有,执行kill -9 <PID>
  3. 验证 OpenAI 账号登录状态

    bash

    codex login