模型与推理
可用模型与默认模型、切换方式、推理强度等参数、Fast 模式、自定义模型提供方、本地模型、Amazon Bedrock,以及计费与额度
可用模型
用 ChatGPT 账号登录时,推荐使用下列模型(以 v0.160.1 随附模型目录与官方文档为准;服务端可能因套餐、地区或工作区策略调整可用列表):
| 模型 | 定位 | 默认推理强度 | 可选推理强度 |
|---|---|---|---|
gpt-6.1-sol | 当前随附目录默认模型,适合复杂编码与 agent 工作流 | 以 /model 显示为准 | 以 /model 显示为准 |
gpt-6-astra | 能力最强,适合跨代码、应用与研究的高难度端到端任务 | low | low 至 ultra |
gpt-6-sol | 日常主力,适合复杂编码与 agent 工作流;官方建议从 medium 起步 | medium | low 至 ultra |
gpt-6-luna | 快且省,适合摘要、抽取、目标明确的编码等高频任务;官方建议从 high 起步 | medium | low 至 max |
gpt-5.6-sol | 上一代 Sol,适合复杂、开放式问题 | low | low 至 ultra |
gpt-5.6-terra | 上一代的均衡模型 | medium | low 至 ultra |
gpt-5.6-luna | 上一代的快速模型 | medium | low 至 max |
gpt-5.5 | 更早的旗舰,2026 年 10 月 14 日起在 ChatGPT 登录的 Codex 中下线 | medium | low 至 xhigh |
档位从低到高依次为 low、medium、high、xhigh、max、ultra。
- 未设置
model时,Codex 使用模型目录标记的默认模型;v0.159.1 起随附目录与 Amazon Bedrock Mantle / Runtime 目录的默认模型为gpt-6.1-sol。目录会按登录方式、套餐和提供方刷新,实际可用列表与默认值以/model为准。codex debug models可以打印完整目录,加--bundled只看随附目录。 - GPT-6 Sol 与 GPT-6 Luna 自 2026 年 9 月 22 日起逐步推出,token 价格低于对应的 GPT-5.6 模型,面向 Plus、Pro、Business、Enterprise 与 Edu 开放(Free 与 Go 只能在桌面应用中使用 Luna),Enterprise 需要管理员先启用。CLI 从 v0.156.1 起收录这两个模型。推出期间 GPT-5.6 的三个模型仍然可用,但随附目录会在你选用
gpt-5.6-sol、gpt-5.6-terra时提示迁移到gpt-6-sol,选用gpt-5.6-luna时提示迁移到gpt-6-luna。 - GPT-5.5 将于 2026 年 10 月 14 日从 ChatGPT、ChatGPT Work 与 Codex 的所有套餐中下线,OpenAI API 不受影响。用 ChatGPT 登录的,官方现在建议 Plus、Pro、Business、Enterprise 与 Edu 在可用时换成
gpt-6-sol,Free 与 Go 在桌面应用中换成gpt-6-luna;保存的模型设置、托管配置、自定义 agent、定时任务和脚本里的都要改。v0.158.0 随附的目录里gpt-5.5仍然可选,选用时会提示迁移到gpt-6-sol,但没有标注下线时间。 - GPT-5.4 与 GPT-5.4 mini 已于 2026 年 8 月 31 日从 ChatGPT 登录的 Codex 中下线,官方建议在套餐与客户端可用时分别换成
gpt-6-sol与gpt-6-luna(Enterprise 与 Edu 需要管理员先启用 Luna);v0.156.1 起,设置里仍是gpt-5.4或gpt-5.4-mini时,CLI 也会按这个对应关系提示迁移。v0.158.0 起随附目录(包括 Amazon Bedrock 的目录)删去了 GPT-5.4,迁移提示照旧保留,Bedrock 上的openai.gpt-5.4会提示换成openai.gpt-6-sol;当前目录里已经没有旧模型时,提示里没有“继续使用旧模型”这一项。这类兜底提示只对模型所属的内置提供方(openai、amazon-bedrock)生效,自定义提供方里的同名模型不受影响。gpt-5.2、gpt-5.3-codex同样已经弃用。官方说明 OpenAI API 与使用自己 API Key 的 Codex 不受这次下线影响。 - 也可以接入任何支持 Responses API 的模型与提供方,见下文“自定义模型提供方”。
切换模型
| 方式 | 示例 | 作用范围 |
|---|---|---|
| 启动参数 | codex -m gpt-6-sol,或 codex exec -m gpt-6-luna "..." | 本次运行 |
| 斜杠命令 | /model | 会话中选择模型与推理强度:按 Enter 同时保存为默认值;v0.156.0 起按 s 只用于当前会话 |
| 配置文件 | model = "gpt-6-sol" | 默认值 |
| profile | 在 ~/.codex/<name>.config.toml 中写 model | 用 --profile 选中时 |
/review 使用的模型可以单独用 review_model 指定,默认与当前会话相同。
推理强度与相关参数
推理强度越高,复杂任务的效果通常越好,但更慢、消耗也更多。官方建议从默认强度起步,任务需要更深入的规划与分析时再调高。
model_reasoning_effort = "high" # 可用档位取决于模型
plan_mode_reasoning_effort = "xhigh" # 计划模式单独设置
model_reasoning_summary = "concise" # auto / concise / detailed / none
model_verbosity = "low" # low / medium / high| 档位 | 适用场景 |
|---|---|
low、medium | 范围明确的快速任务;需要一定规划的任务 |
high、xhigh | 多步骤、多来源、需要权衡的困难任务 |
max | 给单个任务更长的推理时间,用于最难的问题 |
ultra | 最大推理并自动把任务拆给子代理并行处理 |
会话中除了 /model,还可以按 Alt+.、Alt+,(或 Shift+Up、Shift+Down)在当前模型支持的档位间逐级调高、调低,只对当前会话生效;v0.158.0 起可以一直调到 max,ultra 仍要在 /model 选中模型后的 More reasoning… 里选择(/model 选择器把 max 与 ultra 都收在这一项里)。
源码还接受 none、minimal 以及其他任意非空的自定义取值,但实际可选的档位以模型目录为准(见上表);v0.158.0 起,纯数字的自定义取值(如 model_reasoning_effort = "64")会以 JSON 数字而不是字符串发送给服务端。与推理输出相关的还有 hide_agent_reasoning(隐藏推理事件,适合 CI 日志)和 show_raw_agent_reasoning(显示模型输出的原始推理内容)。
沟通风格 personality 已在 v0.156.0 退役:friendly、pragmatic 不再改变回复风格,/personality 命令与同名功能开关也一并移除;只有 personality = "none" 仍有作用,它会去掉模型指令里的 Personality 小节。官方的 CLI 命令文档目前仍列着 /personality。
model_reasoning_summary 决定是否返回推理摘要。v0.155.0 起 TUI 会在状态行实时显示推理摘要,但随附模型目录的默认值都是 none,本地 TUI 新会话在没有设置时也按 none 请求,所以要看到它,需要把 model_reasoning_summary 设为 auto、concise 或 detailed。v0.155.0 曾让本地 TUI 新会话默认按 detailed 请求,不支持推理摘要的提供方因此报错,v0.155.1 改了回来。
速度:Fast 模式
Fast 模式以更高的额度消耗换取速度:GPT-5.6、GPT-5.5、GPT-5.4 提速 1.5 倍,其中 GPT-5.6 与 GPT-5.5 按标准费率的 2.5 倍消耗额度,GPT-5.4 为 2 倍;按官方 Speed 页,GPT-6 Astra、GPT-6 Sol 与 GPT-6 Luna 的 Fast 模式同样按 2.5 倍计(随附目录里 GPT-6 Astra 的 Fast 档位标注为“2x speed”)。它是 ChatGPT 额度功能,只在用 ChatGPT 登录时可用;用 API Key 时按 API 价格计费(API 的 Priority 处理对 GPT-5.6 是标准价的 2 倍)。
- 会话中输入
/fast切换。这个命令根据当前模型在目录中声明的服务档位生成,模型不支持时不会出现。它不接受参数,每次输入都在开、关之间切换;官方 Speed 页写的/fast on、/fast off、/fast status在 v0.158.0 中并不存在。v0.157.0 起随附目录里的gpt-5.6-sol不再提供 Ultrafast 档位,/ultrafast也随之消失。 - 设为默认:
service_tier = "fast",并保持[features]中的fast_mode = true(默认即开启)。service_tier也接受priority、flex与default。v0.158.0 起,使用flex时如果服务端报告 Flex 容量不足,这一轮会直接以 “Flex capacity unavailable.” 结束,不再自动重试。 - GPT-6 Sol 与 GPT-6 Luna 默认用 Fast:v0.158.0 随附的模型目录把这两个模型的默认服务档位设为 Fast(
priority,选择器里标注为“1.5x speed”)。配置里没有service_tier、也没用/fast关过时,交互式 TUI 选用它们就会以 Fast 发送请求,会话标题栏会标出 Fast。想按标准速度计费,用/fast关掉(会写入service_tier = "default"),或者直接在配置里写上这一行。codex exec不采用模型目录里的这个默认值。
此前官方文档还介绍过 GPT-5.3-Codex-Spark:一个面向近乎实时编码迭代、仅 ChatGPT Pro 可用的独立研究预览模型,而不是加速选项。官方更新日志显示它已于 2026 年 9 月 14 日弃用,桌面应用、CLI 与 IDE 扩展都不能再选用,配置、自定义 agent 与脚本里的 gpt-5.3-codex-spark 需要换掉;想要更快的响应,请用受支持模型的 Fast 模式。
自定义模型提供方
只想让内置的 OpenAI 提供方走代理、路由或数据驻留端点时,不必新建提供方,设 openai_base_url 即可:
openai_base_url = "https://us.api.openai.com/v1"接入其他兼容 Responses API 的服务,则在 model_providers 中定义提供方,再用 model_provider 指向它:
model = "gpt-6-sol"
model_provider = "proxy"
[model_providers.proxy]
name = "OpenAI via LLM proxy"
base_url = "https://proxy.example.com/v1"
env_key = "OPENAI_API_KEY" # 从该环境变量读取 API Key
http_headers = { "X-Team" = "infra" }
request_max_retries = 4 # 默认 4
stream_idle_timeout_ms = 300000 # 默认 300000
[model_providers.azure]
name = "Azure"
base_url = "https://YOUR_PROJECT_NAME.openai.azure.com/openai"
env_key = "AZURE_OPENAI_API_KEY"
query_params = { api-version = "2025-04-01-preview" }wire_api只支持responses(也是默认值)。v0.158.0 中写wire_api = "chat"会直接报错,Chat Completions 已不再支持;旧的ollama-chat提供方也已移除,请改用ollama。openai、ollama、lmstudio是保留 ID,不能拿来定义自定义提供方;要改 OpenAI 的地址请用openai_base_url。amazon-bedrock、amazon-bedrock-runtime也是内置 ID,只能改动下文 Amazon Bedrock 一节列出的几个字段。- v0.158.0 起,请求或流式响应失败后重试时,如果服务端给出了
Retry-After(秒数或 HTTP 日期),Codex 会等到它指定的时间再重试,没有时才用本地的指数退避;重试次数仍由request_max_retries、stream_max_retries决定。 - 需要从外部凭证助手获取 token 时,在
[model_providers.<id>.auth]中配置command、args、timeout_ms(默认 5000)、refresh_interval_ms(默认 300000)。它不能与env_key、experimental_bearer_token、requires_openai_auth同时使用。 model_provider、model_providers写在项目配置中会被忽略,请放在用户级或系统级配置里。v0.156.0 起,组织还可以在requirements.toml里用同名的两个键强制指定提供方:要求的选择优先于本地与会话设置,要求中的提供方定义会整体替换本地的同名条目,包括其中的认证与请求头。- v0.156.0 起可以用
model_catalog_url指定 Codex 格式模型目录的完整地址,与推理端点分开托管;Codex 获取目录时会带上该提供方的认证、请求头与查询参数,响应上限 1 MiB,不跟随重定向。注意:以 API key 认证时(提供方配置了env_key等 API key,或用 API key 登录),除非提供方用auth.command获取凭据,否则只有打开仍在开发中、默认关闭的功能开关api_key_model_discovery才会去取这个地址,之前缓存的目录也不会使用。 - 提供方前面还有一层要求单独登录的网关时,v0.156.0 起可以配置
gateway_oauth:需要网关凭据而本地没有时,Codex 自动打开浏览器完成 OAuth(PKCE)登录,把 token 按delivery放进指定的请求头或 cookie,与主认证一起发送;凭据单独加密保存,过期或被拒绝后自动刷新。
[model_providers.corp.gateway_oauth]
authorization_url = "https://sso.example.com/oauth2/authorize"
token_url = "https://sso.example.com/oauth2/token"
client_id = "codex-cli"
scopes = ["llm.invoke"]
delivery = { kind = "header", name = "X-Gateway-Authorization" } # scheme 默认 Bearer;也可以写 kind = "cookie"本地模型:--oss
--oss 让 Codex 使用本机运行的开源模型服务,内置 Ollama 与 LM Studio 两种:
codex --oss # 未配置默认提供方时交互式选择
codex --oss --local-provider ollama
codex exec --oss --local-provider lmstudio "explain this repo"oss_provider = "ollama" # --oss 的默认本地提供方:ollama / lmstudio| 提供方 | 默认地址 | 未指定 -m 时的默认模型 |
|---|---|---|
| Ollama | http://localhost:11434/v1 | gpt-oss:20b |
| LM Studio | http://localhost:1234/v1 | openai/gpt-oss-20b |
- 既没有
--local-provider也没有oss_provider时,交互模式会让你选择,codex exec则直接报错退出。 - 使用 Ollama 时,所选模型(
-m指定的模型,未指定时为默认模型)若本地尚未下载,Codex 会自动拉取。 - 端口或地址不同时,可用实验性环境变量
CODEX_OSS_PORT或CODEX_OSS_BASE_URL覆盖。
Amazon Bedrock
内置的 amazon-bedrock 提供方通过 AWS 原生认证调用 Bedrock 上的 OpenAI 模型,不需要 ChatGPT 登录或 OPENAI_API_KEY:
model_provider = "amazon-bedrock"
model = "openai.gpt-6-sol" # 可省略,v0.157.0 起默认就是它
[model_providers.amazon-bedrock.aws]
profile = "codex-bedrock" # 省略则使用 AWS 标准凭证链
region = "us-east-2"认证时先尝试 Bedrock API Key(环境变量 AWS_BEARER_TOKEN_BEDROCK,此时必须用 AWS_REGION 等指定区域),再尝试 AWS SDK 凭证链(aws configure、AWS_PROFILE、SSO 等)。amazon-bedrock 走区域内推理的 Bedrock Mantle 端点(https://bedrock-mantle.<区域>.api.aws/openai/v1),模型 ID 形如 openai.gpt-6-sol、openai.gpt-6-astra、openai.gpt-6-luna、openai.gpt-5.6-sol、openai.gpt-5.6-terra、openai.gpt-5.6-luna、openai.gpt-5.5。v0.157.0 起目录加入了 GPT-6 Sol 与 GPT-6 Luna,GPT-6 Sol 成为这个提供方的默认模型与兜底模型。要跨区域推理,改用另一个内置提供方 model_provider = "amazon-bedrock-runtime":它走 Bedrock Runtime 端点(https://bedrock-runtime.<区域>.amazonaws.com/openai/v1),模型 ID 带 global. 或 us. 前缀(如 global.openai.gpt-6-sol,没有 GPT-5.5),默认的 GPT-6 Sol 优先用 global. 路由。
v0.158.0 起,Mantle 的目录删去了 openai.gpt-5.4(迁移提示见上文“可用模型”);base_url 指向 GovCloud 的 Mantle 端点(主机名形如 bedrock-mantle.us-gov-west-1.api.aws)时,默认目录只有 GPT-5.6 Terra 与 GPT-5.6 Luna,默认模型为 GPT-5.6 Terra(官方文档仍写本地客户端不支持 GovCloud 区域的 Mantle 端点)。Bedrock 上的模型都没有 Fast 档位,内置目录里也不提供 ultra 推理强度。这两个内置提供方都只允许修改 base_url、auth、http_headers 以及 aws 下的 profile、region、credential_export(v0.155.0 起)、auth_refresh。配置完成后,在 CLI 中用 /status 确认当前使用的提供方。
凭据由公司的凭据工具发放时,v0.155.0 起可以让 Codex 调用外部命令导出 AWS 凭据:
[model_providers.amazon-bedrock.aws]
region = "us-east-2"
[model_providers.amazon-bedrock.aws.credential_export]
command = "/usr/local/bin/export-bedrock-credentials" # 绝对路径或 PATH 中的命令名,不经过 shell
args = ["--role", "codex"]
timeout_ms = 30000 # 默认 30000- 命令要在 stdout 输出 JSON,字段为
AccessKeyId、SecretAccessKey,以及可选的SessionToken、Expiration(RFC 3339 时间);AWScredential_process的扁平格式和 STS 返回的、包在Credentials里的格式都可以,输出不能超过 64 KiB。 - 凭据只缓存在内存里:有
Expiration时提前 5 分钟重新导出,没有时每小时导出一次。遇到可恢复的认证失败时,先运行aws.auth_refresh(如果配置了)再重新导出。 - 配置了
credential_export后,它优先于 Bedrock API Key 环境变量、AWS 凭据环境变量与 SDK 凭证链,只有auth命令比它更优先;它不能与aws.profile同时配置。
计费与额度
用量从哪里扣,取决于登录方式:
| 登录方式 | 适用范围 | 计费 |
|---|---|---|
| ChatGPT 账号 | Free、Go、Plus、Pro、Business、Enterprise / Edu 各套餐 | 使用套餐内额度,用完后可用 ChatGPT credits 继续 |
| API Key | CLI、SDK、IDE 扩展,没有 GitHub 代码审查、Slack 等云端功能 | 按 API 标准价格计费,可用模型取决于 Key |
- 价格参考(以官网为准):Go 每月 8 美元,Plus 每月 20 美元,Pro 每月 100 美元起(额度为 Plus 的 5 倍或 20 倍),Business 年付每人每月 20 美元(月付 25 美元)。
- v0.158.0 起 CLI 识别 Pro Max 套餐,
/status与用量分析面板把三档 Pro 分别显示为 Pro(prolite)、Pro (More)(pro)与 Pro (Max)(promax)。 - 额度按 5 小时窗口计算,另可能有每周上限。消耗取决于模型、任务规模与上下文,而不只是提示长度。以 Plus 为例,每 5 小时本地消息的估算范围是:GPT-6 Astra 5~45 条,GPT-6 Sol 15~150 条,GPT-6 Luna 350~3,000 条,GPT-5.6 Sol 10~100 条,GPT-5.6 Terra 25~200 条,GPT-5.6 Luna 250~2,000 条。
- 本地会话与云端任务共享额度;Fast 模式、图片生成会更快消耗额度。
- 达到上限时,正在进行的回合仍可完成;Plus 与各档 Pro 可以购买额外 credits,也可以换用更小的模型,或改用 API Key 按量付费。
- 在 CLI 中用
/status查看剩余额度;v0.156.0 起/usage的 View analytics 会打开全屏的用量分析面板,按天、按周查看 token 用量与常用的插件和技能。额度快用完时,提醒会固定显示在输入框上方。