摘要Codex 客户端登录时的手机验证要求是许多国内开发者遇到的第一道门槛。本文系统整理四套经过验证的解决方案涵盖从最轻量的 API Key 登录到最彻底的第三方模型 Provider 配置。每种方案均提供完整的操作步骤、配置代码和注意事项你可以根据自身账号状态和资源条件选择最合适的一条路径。所有方案均已验证可在 2026 年 10 月版本上正常工作。关键词Codex登录、手机验证跳过、API Key认证、第三方模型Provider、auth.json、ChatGPT Plus一、问题背景手机验证为什么会出现Codex 的手机验证触发机制与账号的风控评级直接相关。当系统检测到以下特征时大概率会强制要求绑定手机号IP 地址与账号常用地区差异过大使用机场 IP 或数据中心 IP 而非纯净家宽时极易被要求验证。账号使用了自定义域名邮箱使用微软或谷歌邮箱注册的账号开通 Plus 后通常不会触发验证但自定义域名邮箱即使开通 Plus登录 Codex 时仍可能被要求验证码。新设备首次安装ChatGPT 客户端在新设备上首次安装时如果浏览器没有登录过 Plus 账号进去就会要求手机短信验证与代理节点无关。理解这些触发条件后解决方案的思路就清晰了要么避免触发验证要么绕过验证环节要么不使用 ChatGPT 账号体系。以下四套方案分别对应不同的思路。二、方案一API Key 登录最轻量推荐首选这是最直接的方式——使用 OpenAI API Key 进行认证完全不经过 ChatGPT 账号体系因此不会触发任何手机验证。官方推荐将 API Key 认证用于程序化 Codex CLI 工作流如 CI/CD 任务。2.1 前提条件你需要一个 OpenAI Platform 的 API Keysk-开头。如果还没有访问https://platform.openai.com/api-keys创建。注意API Key 按 OpenAI Platform 的标准 API 价格计费不使用 ChatGPT 套餐内的额度。2.2 CLI 端操作步骤第一步通过标准输入传递密钥Codex 出于安全考虑不接受 API Key 作为命令行参数必须通过标准输入传递bashprintenv OPENAI_API_KEY | codex login --with-api-key或者直接输入bashecho sk-proj-... | codex login --with-api-key第二步验证认证状态bashcodex login status成功后会显示当前认证方式和账号信息。第三步启动使用bashcd /path/to/your/project codex explain this codebase2.3 桌面端操作步骤在 ChatGPT 桌面应用中退出登录后在登录页面选择“Sign in another way”输入 API Key 即可完成认证。2.4 注意事项使用 API Key 方式时部分依赖 ChatGPT 工作区或云服务的功能可能不可用例如 Codex Cloud 仍要求 ChatGPT 登录。如果你的使用场景主要是本地编码任务这个限制影响不大。三、方案二配置第三方模型 Provider最灵活可完全摆脱 ChatGPT 账号如果你希望使用国产模型DeepSeek、GLM、Kimi、MiniMax 等或者 OpenRouter 等聚合服务可以通过配置config.toml接入第三方 Provider这种方式同样不经过 ChatGPT 账号体系。3.1 config.toml 基本结构Codex 启动时按以下顺序加载配置~/.codex/config.toml— 用户级全局生效项目根目录.codex/config.toml— 项目级优先级更高命令行参数 — 最高优先级一个完整的配置示例toml# 当前使用的模型 model deepseek-chat # 当前使用的 Provider model_provider deepseek # 上下文窗口token 数 model_context_window 128000 # 推理强度minimal | low | medium | high model_reasoning_effort medium # ──────── Provider 定义 ──────── [model_providers.deepseek] name DeepSeek base_url https://api.deepseek.com/v1 env_key DEEPSEEK_API_KEY wire_api chat每个 Provider 必须定义三个核心字段字段说明示例base_urlAPI 端点地址https://api.deepseek.com/v1env_keyAPI Key 对应的环境变量名DEEPSEEK_API_KEYname显示名称DeepSeekwire_api协议类型chat或responses取决于服务商3.2 接入 OpenRouter推荐支持模型最多OpenRouter 聚合了 GPT、Claude、Gemini 等数百个模型通过统一 API 调用。配置方法如下第一步获取 API Key在https://openrouter.ai/keys创建 API Keysk-or-开头。第二步编辑 config.tomltomlmodel_provider openrouter model_reasoning_effort high model openai/gpt-sol-latest [model_providers.openrouter] name openrouter base_url https://openrouter.ai/api/v1 [model_providers.openrouter.auth] command sh args [-c, echo $OPENROUTER_API_KEY]第三步设置环境变量bash# 添加到 ~/.zshrc 或 ~/.bashrc export OPENROUTER_API_KEYsk-or-...第四步重启 Codex 并验证bashcd /path/to/your/project codex3.3 接入 DeepSeek国产模型首选DeepSeek 的 API 完全兼容 OpenAI 格式配置简单tomlmodel deepseek-chat model_provider deepseek [model_providers.deepseek] name DeepSeek base_url https://api.deepseek.com/v1 env_key DEEPSEEK_API_KEY wire_api chat设置环境变量bashexport DEEPSEEK_API_KEYsk-...3.4 接入 MiniMax支持 Responses APIMiniMax 支持 Codex 原生的 Responses API 协议配置略有不同tomlmodel MiniMax-M3 model_provider minimax model_context_window 1000000 [model_providers.minimax] name MiniMax base_url https://api.minimax.cn/v1 experimental_bearer_token 你的MiniMax API Key wire_api responses3.5 桌面端配置的额外注意如果你使用 ChatGPT 桌面应用需要注意的是桌面应用从 Dock 或开始菜单启动时不会继承shell 配置文件中的环境变量。macOS 用户需要使用launchctl setenv设置会话级变量bashlaunchctl setenv OPENROUTER_API_KEY sk-or-...Windows 用户需要使用setx设置用户级环境变量powershellsetx OPENROUTER_API_KEY sk-or-...设置完成后需要完全退出应用不是最小化再重新打开。ChatGPT 和 Codex 桌面应用在退出后可能仍有后台进程保持运行这些进程会保留旧的环境变量因此彻底重启是必要的。3.6 接入本地模型Ollama / LM Studio如果你希望完全离线使用Codex 的 OSS mode 支持连接 Ollama 或 LM Studiobashcodex --oss --local-provider ollama或在config.toml中设置默认值tomloss_provider ollama四、方案三开源扩展导出认证文件绕过已有账号的手机验证如果你的 ChatGPT 账号已经被要求验证手机号但你有权访问该账号的网页版会话可以使用开源浏览器扩展从网页会话中导出认证文件直接写入 Codex 配置目录从而跳过手机验证环节。4.1 原理说明Codex 启动时读取~/.codex/auth.json中的认证信息。如果你已经通过浏览器登录了 ChatGPT 网页版浏览器本地保存着完整的access_token和id_token。扩展的工作就是读取这套会话信息生成符合 Codex 规范的auth.json文件。4.2 推荐工具Codex Auth Helper这是目前社区使用最广泛的开源项目GitHub 上约有 3.4K Star核心特性包括 100% 纯本地离线处理不上传任何数据到第三方服务器和实时 Token 有效期倒计时。4.3 操作步骤第一步下载扩展在 GitHub 上搜索codex-auth-helper进入仓库后点击Code→Download ZIP将源码下载到本地并解压。第二步加载扩展打开 Chrome 浏览器地址栏输入chrome://extensions/并回车。打开右上角的“开发者模式”开关点击“加载已解压的扩展程序”选择解压后的extension文件夹包含manifest.json的目录。安装成功后在工具栏的“拼图”图标中找到Codex 认证助手并固定。第三步导出 auth.json确保浏览器中已经登录 ChatGPT 网页版chatgpt.com。点击扩展图标它会自动读取当前登录状态并显示账号信息头像、邮箱、订阅计划、Token 有效期倒计时。点击“生成并保存 auth.json”扩展会生成配置文件并下载到本地。第四步覆盖 Codex 配置先备份原文件bashcp ~/.codex/auth.json ~/.codex/auth.json.bak然后将扩展生成的auth.json复制到 Codex 的配置目录macOS / Linux~/.codex/auth.jsonWindowsC:\Users\你的用户名\.codex\auth.json第五步重启 Codex完全退出 Codex 客户端后重新打开。如果不再弹出手机验证界面说明配置成功。4.4 注意事项auth.json中的 Token 有效期通常为 10 天左右过期后需要重新登录 ChatGPT 网页版并重新导出。该文件包含可以访问你 ChatGPT 账号的敏感信息不要分享给他人或提交到公开仓库。五、方案四ChatGPT Plus 订阅 安全设置长期稳定方案如果你计划长期使用 Codex 且愿意订阅 ChatGPT Plus可以通过正确的安全设置来避免反复触发手机验证。5.1 关键操作注册后立即开启 2FA社区中一条经过多次验证的经验规律是注册成功后立即开启 2FA双因素认证之后再登录 Codex 就会走 2FA 验证而非短信验证。具体操作登录 ChatGPT 网页版。进入个人设置 →安全Security。开启多因素认证MFA。短信保持关闭状态设置好登录密码。完成 2FA 设置后再登录 Codex 就会出 2FA 而不是短信验证。5.2 关键操作先在网页端登录再打开客户端如果你已经开通了 Plus 但打开 Codex 客户端仍跳手机验证可以尝试以下操作先在浏览器中用邮箱登录 ChatGPT 网页版。保持网页端登录状态再打开 Codex 客户端。客户端跳转到网页登录页面时由于浏览器中已有活跃的会话验证步骤会被跳过。5.3 邮箱类型选择使用微软邮箱或谷歌邮箱注册的账号开通 Plus 后登录 Codex 通常不需要手机验证。自定义域名邮箱即使开通 Plus登录 Codex 时仍可能要求验证码建议注册时避开自定义域名邮箱。六、四套方案对比与选择建议方案适用场景是否需要 ChatGPT 账号技术门槛长期稳定性API Key 登录有 OpenAI API 额度纯本地编码否低高第三方 Provider想用国产模型或 OpenRouter否中高开源扩展导出已有可登录的 ChatGPT 网页账号是仅网页端低中Token 约 10 天过期Plus 安全设置愿意订阅长期使用是低高选择建议不想折腾、有 API 额度→ 方案一API Key两条命令完成配置。想用国产模型或免费模型→ 方案二第三方 Provider配置一次长期可用。已有 ChatGPT 账号但被要求手机验证→ 方案三开源扩展快速绕过。愿意订阅且长期使用→ 方案四Plus 2FA一次设置避免反复验证。七、通用注意事项代理节点必须稳定无论选择哪种方案都需要确保 Codex 能够正常访问目标 API 服务。节点不稳定会导致认证失败或频繁触发风控。环境变量设置后需重启应用修改config.toml或设置环境变量后需要完全退出Codex包括桌面应用的后台进程再重新启动才能生效。config.toml 只对用户级生效model_provider和model_providers仅在用户级的~/.codex/config.toml中生效Codex 会忽略项目级.codex/config.toml中的这些配置。Token 管理如果使用方案三Token 过期后需要重新导出。建议将扩展固定到浏览器工具栏方便随时重新生成。八、总结Codex 的手机验证问题有多种解决方案核心思路分为三类不使用 ChatGPT 账号体系方案一、方案二、绕过验证环节方案三、从源头避免触发验证方案四。最轻量的路径是 API Key 登录两条命令完成最灵活的路径是第三方 Provider 配置支持任意 OpenAI 兼容模型最省心的长期方案是 Plus 订阅配合 2FA 安全设置。你可以根据自己的账号状态和资源条件从四套方案中选择最适合的一条。