作者:互联网 时间: 2026-09-02 16:47:55
Codex CLI 通过配置文件进行定制。本节介绍配置文件的结构、各类配置选项以及如何根据你的需求进行调整。

Codex 的配置文件位于用户主目录下的 ~/.codex/config.toml:
~/.codex/config.toml
如果文件不存在,你需要手动创建。Codex 首次启动时会创建一个默认配置文件。
修改配置后,需要重启 Codex 才能生效。
一个完整的配置文件可能包含以下部分:
# ~/.codex/config.toml# 基础设置
[model]
default = "o4-mini" # 默认使用的模型
# TUI 设置
[tui]
alternate_screen = "auto" # 替代屏幕模式:auto/always/never
# 技能配置
[skills]
enabled = true
# 特性开关
[features]
js_repl = false # 是否启用 JavaScript REPL
# MCP 服务器配置
[mcp_servers]
# 通知设置
[notify]
enabled = false
Codex 支持多种模型,你可以根据任务需求选择:
| 配置项 | 类型 | 说明 |
|---|---|---|
model.default | string | 默认使用的模型 |
model.reasoning_effort | string | 推理强度:low/medium/high |
Codex CLI 可用的模型包括:
o4-mini - 快速高效,适合简单任务o4-mini-high - o4-mini 的高推理版本o3 - 强大的推理能力o3-pro - o3 的专业版本不同的模型有不同的速度和价格,选择合适的模型可以优化使用体验和成本。
终端用户界面的相关设置:
| 配置项 | 类型 | 说明 | 默认值 |
|---|---|---|---|
tui.alternate_screen | string | 替代屏幕模式:auto/always/never | auto |
tui.width | number | 终端宽度 | 0(自动) |
tui.height | number | 终端高度 | 0(自动) |
auto - 自动检测,在 Zellij 等终端多路复用器中自动禁用always - 始终使用替代屏幕(默认体验)never - 从不使用替代屏幕(保留滚动历史)你可以在运行时通过命令行参数覆盖这些设置:
# 禁用替代屏幕模式codex --no-alt-screen
技能(Skills)是 Codex 的扩展机制,允许你自定义工作流程:
| 配置项 | 类型 | 说明 |
|---|---|---|
skills.enabled | boolean | 是否启用技能系统 |
skills.directory | string | 技能文件目录 |
[skills]enabled = true
directory = "~/my-codex-skills"
MCP(Model Context Protocol)服务器允许 Codex 与外部工具和服务集成:
[mcp_servers.docs]command = "npx"
args = ["-y", "@modelcontextprotocol/server-filesystem", "./docs"]
# 工具权限配置
[mcp_servers.docs.tools.search]
approval_mode = "approve"
你可以为每个 MCP 服务器的工具单独设置权限:
approve - 自动批准,无需询问deny - 自动拒绝ask - 每次执行前询问(默认)配置 MCP 服务器时要小心,确保只启用你信任的工具。
启用或禁用 Codex 的特定功能:
| 配置项 | 类型 | 说明 |
|---|---|---|
features.js_repl | boolean | 启用 JavaScript REPL |
features.js_repl_tools_only | boolean | 限制为仅 js_repl 工具 |
[features]js_repl = true
你还可以指定 Node.js 路径:
js_repl_node_path = "/usr/local/bin/node"Codex 可以在任务完成时发送通知:
| 配置项 | 类型 | 说明 |
|---|---|---|
notify.enabled | boolean | 启用通知 |
你可以通过环境变量配置自定义的通知脚本:
CODEX_NOTIFY_HOOK=/path/to/your/notify-script.sh
Codex 使用 SQLite 存储内部状态:
| 环境变量 | 说明 | 默认值 |
|---|---|---|
CODEX_SQLITE_HOME | SQLite 数据库目录 | 与 CODEX_HOME 相同 |
exportCODEX_SQLITE_HOME=/path/to/sqlitecodex
Codex 使用 Rust 的 env_logger,你可以配置日志级别:
# 查看日志tail-f ~/.codex/log/codex-tui.log
# 设置日志级别
RUST_LOG=codex_core=info,codex_tui=info,codex_rmcp_client=info codex
| 日志级别 | 说明 |
|---|---|
error | 只显示错误 |
warn | 显示警告和错误 |
info | 显示一般信息、警告和错误 |
debug | 显示调试信息 |
trace | 显示详细跟踪信息 |
默认情况下,TUI 模式的日志级别是 info,非交互模式(exec)的默认级别是 error。
配置 Codex 在计划模式下的行为:
# 设置计划模式的默认推理强度# 可选值:low/medium/high/none
plan_mode_reasoning_effort = "medium"
# 使用默认设置# Codex 已经提供了合理的默认值
[model]default = "o4-mini"
[tui]
alternate_screen = "always"
[features]
js_repl = true
[model]default = "o4-mini"
reasoning_effort = "high"
[tui]
alternate_screen = "never"
[skills]
enabled = true
directory = "~/codex-skills"