OpenAI Codex 中文文档(4.14更新)
联系我
官方文档

Codex CLI 命令行选项

Codex 终端客户端的命令与选项参考

如何阅读本页

本页汇总了所有已文档化的 Codex CLI 命令和选项。你可以按命令名或说明来查找。每个章节都会标明该功能是稳定还是实验性,并指出哪些组合存在更高风险。

全局选项

选项 类型 / 可选值 说明
--add-dir path 在主工作区之外,额外授予其他目录写权限。可重复传入多个路径。
--ask-for-approval, -a untrusted | on-request | never 控制 Codex 在运行命令前何时暂停并请求人工批准。on-failure 已弃用;交互模式推荐 on-request,非交互模式推荐 never。
--cd, -C path 在智能体开始处理请求前设置工作目录。
--config, -c key=value 覆盖配置值。若可解析为 JSON,则按 JSON 解析;否则按字面字符串处理。
--dangerously-bypass-approvals-and-sandbox, --yolo boolean 绕过所有审批与沙箱。只应在外部已加固的环境中使用。
--disable feature 强制关闭某个 功能开关(等价于 -c features.<name>=false)。可重复。
--enable feature 强制开启某个 功能开关(等价于 -c features.<name>=true)。可重复。
--full-auto boolean 用于低摩擦本地工作的快捷方式:设置 --ask-for-approval on-request--sandbox workspace-write
--image, -i path[,path...] 把一张或多张图片附加到初始提示词。可用逗号分隔多个路径,也可重复传 flag。
--model, -m string 覆盖配置中的 model,例如 gpt-5.4
--no-alt-screen boolean 关闭 TUI 的 alternate screen mode(仅覆盖本次运行中的 tui.alternate_screen)。
--oss boolean 使用本地开源模型提供方(等价于 -c model_provider=\"oss\")。会检查 Ollama 是否已运行。
--profile, -p string ~/.codex/config.toml 中加载指定配置档案。
--sandbox, -s read-only | workspace-write | danger-full-access 为模型生成的 shell 命令选择 sandbox 策略。
--search boolean 开启实时 web search(把 web_search 从默认的 "cached" 切换为 "live")。
PROMPT string 可选的初始提示词。省略时只启动 TUI,而不预填消息。

这些选项适用于基础 codex 命令,并会传播给各个子命令,除非下文明确说明例外。运行子命令时,建议把全局选项写在子命令后面,例如 codex exec --oss ...,这样 Codex 才能按预期解析。

命令总览

命令 成熟度 说明
codex 稳定 启动终端 UI。接受上面的全局选项,以及可选提示词或图片附件。
codex app 稳定 在 macOS 上启动 Codex 桌面 App,并可选择直接打开某个工作区路径。
codex app-server 实验性 启动本地 Codex app-server,用于开发或调试。
codex apply 稳定 把最近一次 Codex Cloud 任务生成的 diff 应用到本地工作树。别名:codex a
codex cloud 实验性 在终端里浏览或执行 Codex Cloud 任务,而不必打开 TUI。别名:codex cloud-tasks
codex completion 稳定 为 Bash、Zsh、Fish 或 PowerShell 生成 shell 补全脚本。
codex debug app-server send-message-v2 实验性 通过内置测试客户端向 app-server 发送单条 V2 消息,便于调试。
codex exec 稳定 以非交互模式运行 Codex。可输出 stdout 或 JSONL,也可恢复历史会话。别名:codex e
codex execpolicy 实验性 评估 execpolicy 规则文件,查看某条命令会被允许、要求批准还是被阻止。
codex features 稳定 列出功能开关,并把启用 / 禁用状态持久写入 config.toml
codex fork 稳定 把一个已有交互会话分叉成新线程,保留原始对话记录。
codex login 稳定 通过 ChatGPT OAuth、device auth 或从 stdin 读取 API key 来认证 Codex。
codex logout 稳定 删除已保存的认证凭据。
codex mcp 实验性 管理 Model Context Protocol Server(列出、添加、删除、认证)。
codex mcp-server 实验性 通过 stdio 把 Codex 自身作为 MCP 服务端运行,便于被其他智能体调用。
codex resume 稳定 按 ID 恢复某个交互会话,或恢复最近一次对话。
codex sandbox 实验性 在 Codex 提供的 macOS Seatbelt 或 Linux 沙箱中运行任意命令。Linux 默认使用 Landlock,可选 bubblewrap 管线。

命令细节

codex(交互模式)

直接运行 codex 而不带子命令时,会启动交互式终端 UI(TUI)。智能体会接受前面列出的全局选项,也支持附加图片。Web 搜索默认使用 cached 模式;使用 --search 可切换到实时浏览,使用 --full-auto 则可让 Codex 在大多数情况下无需提示就直接运行命令。

如果要把 TUI 连接到远程 app server,可使用 --remote ws://host:port--remote wss://host:port,并将其指向通过 codex app-server --listen ws://IP:PORT 启动的服务端。如果服务端要求通过 WebSocket 使用 bearer token 认证,可额外传入 --remote-auth-token-env <ENV_VAR>。配置示例和认证说明,参见 Codex CLI 功能

codex app-server

在本地启动 Codex app-server。这个命令主要用于开发和调试,未来可能会变更。

选项 类型 / 可选值 默认值 说明
--listen stdio:// | ws://IP:PORT stdio:// 传输监听 URL。若要向远程客户端暴露 WebSocket 端点,请使用 ws://IP:PORT
--ws-auth capability-token | signed-bearer-token 为 app-server 的 WebSocket 客户端指定认证模式。若省略,则不会启用 WebSocket 认证;如果监听地址不是本地地址,启动时会给出警告。
--ws-token-file absolute path 包含共享 capability token 的文件路径。使用 --ws-auth capability-token 时必填。
--ws-shared-secret-file absolute path 包含 HMAC 共享密钥的文件路径,用于校验已签名的 JWT bearer token。使用 --ws-auth signed-bearer-token 时必填。
--ws-issuer string 已签名 bearer token 中预期的 iss 声明值。要求同时使用 --ws-auth signed-bearer-token
--ws-audience string 已签名 bearer token 中预期的 aud 声明值。要求同时使用 --ws-auth signed-bearer-token
--ws-max-clock-skew-seconds number 30 校验已签名 bearer token 的 expnbf 声明时,允许的时钟偏差秒数。要求同时使用 --ws-auth signed-bearer-token

codex app-server --listen stdio:// 会继续使用默认的 JSONL-over-stdio 传输方式。--listen ws://IP:PORT 会为 app-server 客户端启用 WebSocket 传输。服务端接受 ws:// 作为监听 URL;如果客户端通过 wss:// 连接,则应在前面配置 TLS 终止或安全代理。如果你要为客户端绑定生成 schema,请额外加上 --experimental,这样受门控的字段和方法也会一并包含进去。

codex app

从终端启动 Codex Desktop(macOS),并可选择直接打开某个工作区路径。

选项 类型 / 可选值 说明
--download-url url 高级覆盖项,用于替换安装阶段使用的 Codex desktop DMG 下载地址。
PATH path 要在 Codex Desktop 中打开的工作区路径(codex app 仅在 macOS 上可用)。

codex app 会在 macOS 上安装 / 打开桌面 app,并打开给定工作区路径。这个子命令仅支持 macOS。

codex debug app-server send-message-v2

使用内置 app-server test client,通过 app-server 的 V2 thread / turn 流程发送一条消息。

参数 类型 / 可选值 说明
USER_MESSAGE string 通过内置 V2 test-client 流程发送给 app-server 的消息文本。

这个调试流程会以 experimentalApi: true 初始化,然后启动线程、发送 turn,并流式输出 server 通知。适合在本地复现和观察 app-server 协议行为。

codex apply

把最近一次 Codex Cloud 任务生成的 diff 应用到本地仓库。你必须已经认证,而且对该任务具有访问权限。

参数 类型 / 可选值 说明
TASK_ID string 要应用其 diff 的 Codex Cloud 任务 ID。

Codex 会打印被 patch 的文件;如果 git apply 失败(例如发生冲突),则以非零状态码退出。

codex cloud

在终端中操作 Codex Cloud 任务。默认命令会打开一个交互式选择器;codex cloud exec 可直接提交任务;codex cloud list 则可返回最近任务,便于脚本调用或快速查看。

参数 类型 / 可选值 说明
--attempts 1-4 Codex Cloud 要运行的 assistant 尝试次数(best-of-N)。
--env ENV_ID 目标 Codex Cloud environment ID(必填)。可先运行 codex cloud 查看可用值。
QUERY string 任务提示词。若省略,Codex 会交互式提示你输入。

认证沿用主 CLI 使用的同一套凭据。若任务提交失败,Codex 会以非零状态码退出。

codex cloud list

列出最近的 Cloud 任务,并支持过滤和分页。

选项 类型 / 可选值 说明
--cursor string 上一次请求返回的分页游标。
--env ENV_ID 按 environment ID 过滤任务。
--json boolean 输出机器可读 JSON,而不是纯文本。
--limit 1-20 最多返回多少个任务。

纯文本输出会打印任务 URL 及状态信息;自动化场景请优先使用 --json。JSON 负载中包含 tasks 数组和可选的 cursor 值。每个任务会带有 idurltitlestatusupdated_atenvironment_idenvironment_labelsummaryis_reviewattempt_total 字段。

codex completion

生成 shell completion 脚本,并把输出重定向到合适位置,例如 codex completion zsh > "${fpath[1]}/_codex"

参数 类型 / 可选值 说明
SHELL bash | zsh | fish | power-shell | elvish 要生成 completion 的 shell 类型。输出写到 stdout。

codex features

管理保存在 ~/.codex/config.toml 中的功能开关。enable 与 disable 子命令会把变更持久写入配置,以便对后续会话生效。若你使用 --profile 启动,Codex 会把修改写到该配置档案,而不是根配置中。

子命令 类型 / 可选值 说明
Disable subcommand codex features disable <feature> config.toml 中持久禁用某个功能开关。若传了 --profile,则写入对应配置档案。
Enable subcommand codex features enable <feature> config.toml 中持久启用某个功能开关。若传了 --profile,则写入对应配置档案。
List subcommand codex features list 展示已知功能开关、成熟度阶段以及当前生效状态。

codex exec

对于脚本式或 CI 风格的运行,请使用 codex exec(短命令是 codex e)。它会在无需人工交互的前提下完成任务。

选项 类型 / 可选值 说明
--cd, -C path 在执行任务前设置工作区根目录。
--color always | never | auto 控制 stdout 中 ANSI 颜色的输出。
--dangerously-bypass-approvals-and-sandbox, --yolo boolean 绕过审批与沙箱。风险极高,只能在隔离运行器中使用。
--ephemeral boolean 运行时不把会话运行记录文件持久化到磁盘。
--full-auto boolean 应用低摩擦自动化预设:workspace-write 沙箱加 on-request 审批。
--image, -i path[,path...] 给首条消息附加图片。可重复,也支持逗号分隔多个路径。
--json, --experimental-json boolean 输出按行分隔的 JSON 事件,而不是格式化文本。
--model, -m string 覆盖本次运行所使用的 model。
--oss boolean 使用本地开源提供方(要求 Ollama 正在运行)。
--output-last-message, -o path 把 assistant 的最终消息写入文件,适合供下游脚本读取。
--output-schema path 描述最终输出结构的 JSON Schema 文件。Codex 会按此校验工具输出。
--profile, -p string 选择 config.toml 中定义的某个配置档案。
--sandbox, -s read-only | workspace-write | danger-full-access 模型生成命令所使用的沙箱策略。默认取配置值。
--skip-git-repo-check boolean 允许在 Git 仓库之外运行(适合一次性目录)。
-c, --config key=value 为这次非交互执行内联覆盖配置(可重复)。
PROMPT string | - (read stdin) 任务的初始提示词。传 - 表示从 stdin 读取提示词。
Resume subcommand codex exec resume [SESSION_ID] 按 ID 恢复某个 exec 会话;或配合 --last 恢复当前工作目录下最近一次会话;加 --all 可跨目录查找。也支持额外跟一条后续提示词。

默认情况下,Codex 会输出格式化文本。加上 --json 后,会改为输出按行分隔的 JSON 事件(每个状态变化一条)。可选的 resume 子命令用于续跑非交互任务。使用 --last 会选取当前工作目录下最近的会话;如果要跨所有会话查找,则再加上 --all

选项 类型 / 可选值 说明
--all boolean 在选择最近会话时,把当前工作目录之外的会话也纳入候选。
--image, -i path[,path...] 给后续提示词附加一张或多张图片。可重复,也支持逗号分隔路径。
--last boolean 恢复当前工作目录下最近一次对话。
PROMPT string | - (read stdin) 恢复后立即发送的可选后续指令。
SESSION_ID uuid 恢复指定会话。若省略,则需配合 --last 使用。

codex execpolicy

在保存 execpolicy 规则文件前先做检查。codex execpolicy check 接受一个或多个 --rules flag(例如指向 ~/.codex/rules 下的文件),并输出 JSON,说明最严格的决策结果以及命中的规则。加上 --pretty 可格式化输出。execpolicy 当前仍属预览功能。

选项 类型 / 可选值 说明
--pretty boolean 以更易读的格式打印 JSON 结果。
--rules, -r path (repeatable) 要评估的 execpolicy 规则文件路径。可传多个,组合多份规则一起判断。
COMMAND... var-args 要按指定策略进行检查的命令。

codex login

使用 ChatGPT 账号或 API key 对 CLI 进行认证。不加任何 flags 时,Codex 会打开浏览器走 ChatGPT OAuth 流程。

选项 类型 / 可选值 说明
--device-auth boolean 使用 OAuth 设备码流程,而不是直接拉起浏览器。
--with-api-key boolean 从 stdin 读取 API key,例如 printenv OPENAI_API_KEY | codex login --with-api-key
status subcommand codex login status 打印当前认证方式;若已登录则以退出码 0 返回。

codex login status 在凭据存在时返回 0,因此很适合在自动化脚本中做登录状态检查。

codex logout

删除已保存的 API key 与 ChatGPT 认证凭据。这个命令没有额外 flags。

codex mcp

管理保存在 ~/.codex/config.toml 中的模型上下文协议服务端配置。

子命令 类型 / 可选值 说明
add <name> -- <command...> | --url <value> 使用 stdio 启动命令或 streamable HTTP URL 注册一个服务端。对 stdio 传输还支持 --env KEY=VALUE
get <name> --json 查看某个服务端的配置。--json 会打印原始配置项。
list --json 列出已配置的 MCP 服务端。加 --json 可输出机器可读结果。
login <name> --scopes scope1,scope2 为某个 streamable HTTP 服务端发起 OAuth 登录(仅对支持 OAuth 的服务端有效)。
logout <name> 删除某个 streamable HTTP 服务端的已保存 OAuth 凭据。
remove <name> 删除已保存的 MCP 服务端定义。

add 子命令同时支持 stdio 和 streamable HTTP 两种传输方式:

选项 类型 / 可选值 说明
--bearer-token-env-var ENV_VAR 连接 streamable HTTP 服务端时,取这个环境变量的值作为 bearer token。
--env KEY=VALUE repeatable 启动 stdio 服务端时附带的环境变量。
--url https://… 注册 streamable HTTP 服务端,而不是 stdio。与 COMMAND... 互斥。
COMMAND... stdio transport 用于启动 MCP 服务端的可执行文件及参数。需要放在 -- 之后。

OAuth 相关动作(login、logout)只适用于 streamable HTTP 服务端,而且服务端本身也必须支持 OAuth。

codex mcp-server

通过 stdio 把 Codex 自身作为 MCP 服务端运行,以便其他工具接入。这个命令会继承全局配置覆盖项,并在下游客户端关闭连接时退出。

codex resume

按 ID 恢复某个交互会话,或恢复最近一次对话。codex resume 会把 --last 默认限制在当前工作目录;如果你传 --all,则会跨目录查找。它支持与 codex 相同的全局选项,包括 model 和沙箱覆盖项。

选项 类型 / 可选值 说明
--all boolean 在选择最近对话时,把当前工作目录之外的 session 一并纳入候选。
--last boolean 跳过选择器,直接恢复当前工作目录下最近一次对话。
SESSION_ID uuid 恢复指定会话。若省略,则需配合 --last 使用。

codex fork

把一个已有交互会话分叉成新线程。默认情况下,codex fork 会打开会话选择器;如果你加上 --last,则会直接分叉最近一次会话。

选项 类型 / 可选值 说明
--all boolean 在选择器中显示当前工作目录之外的会话。
--last boolean 跳过选择器,直接分叉最近一次对话。
SESSION_ID uuid 分叉指定会话。若省略,则需配合 --last 使用。

codex sandbox

使用沙箱辅助工具,以与 Codex 内部一致的策略来运行某条命令。

macOS seatbelt

选项 类型 / 可选值 说明
--config, -c key=value 向沙箱运行注入配置覆盖项(可重复)。
--full-auto boolean 无需审批即可为当前工作区和 /tmp 授予写权限。
COMMAND... var-args 在 macOS Seatbelt 中执行的 shell 命令。-- 之后的内容都会原样转发。

Linux Landlock

选项 类型 / 可选值 说明
--config, -c key=value 在启动沙箱前应用配置覆盖项(可重复)。
--full-auto boolean 在 Landlock 沙箱中为当前工作区和 /tmp 授予写权限。
COMMAND... var-args 在 Landlock + seccomp 中执行的命令。可执行文件需放在 -- 之后。

选项组合与安全建议

  • --full-auto--dangerously-bypass-approvals-and-sandbox 不要混为一谈。前者仍然保留沙箱和审批体系,只是把它们调到更低摩擦的组合;后者则直接绕过二者。
  • 当你已经使用 --sandbox danger-full-access 时,--add-dir 额外放行目录的意义会显著下降,因为这时沙箱已经不再限制目录边界。
  • 如果你既要消费机器可读事件流,又想保留最终自然语言结果,可把 --json--output-last-message 组合使用。

相关资源


来源:https://developers.openai.com/codex/cli/reference