命令与斜杠指令:Codex CLI 操作全览

Codex CLI 有两个入口命令、一批 CLI 参数,以及只在交互模式下生效的斜杠命令。理清这三层,就能在日常开发和 CI 脚本中都游刃有余。截至 2026,官方命令参考持续更新,本文仅覆盖最常用的部分。

两个入口:codex 与 codex exec

安装完成后,你有两种方式启动 Codex,适用于不同的使用场景:

命令 模式 适用场景
codex 交互式终端 UI 日常开发、探索代码库、多轮对话
codex exec 非交互式(单次执行) 脚本、CI/CD 流水线、批量自动化

codex(无子命令)会打开全屏终端界面,你可以和 AI 多轮对话、查看文件变更差异,以及使用下文所有斜杠命令。

codex exec 则完全不需要交互,把任务作为参数传入,AI 执行完成后直接退出,退出码反映成功或失败,方便在脚本中判断。

i

斜杠命令(/model/init 等)只在 codex 交互模式下可用。在 codex exec 中不支持斜杠命令,控制行为请改用 CLI 参数或配置文件。

常用命令行参数

以下是最常用的几个 CLI 参数,完整的参数列表可在官方文档中查阅:

终端 — 常用参数示例
# 查看当前安装的版本号
$ codex --version

# 指定使用的模型(交互模式与 exec 模式均可用)
$ codex --model gpt-4o
$ codex exec --model gpt-4o "写一个 hello world 脚本"

--model <id> 接受模型 ID 字符串,优先级高于 ~/.codex/config.toml 中的 model 字段。若想永久切换模型,建议修改配置文件;若只是本次测试,用命令行参数更方便。

!

官方文档中还记录了更多命令行选项。本文仅介绍最常用的两个,以避免过时信息。如需完整参数列表,请以 codex --help 输出或官方仓库 README 为准。

斜杠命令速查表

在 Codex 交互界面的底部输入框内输入 /,会弹出命令选择器。继续输入可筛选命令,按 Enter 确认执行。

命令 作用
/model 在当前会话内切换模型,无需退出重开
/approvals/permissions 调整 Codex 可以无需询问便执行的操作权限(审批策略)
/init 分析当前项目目录,自动生成 AGENTS.md 草稿
/status 显示当前会话状态(连接、模型、上下文等)
/feedback 捕获请求 ID 与日志并发送反馈,便于问题定位
/fast 切换到更快速的响应模式
/personality 调整 AI 的回复风格与人格设定
/agent 管理 Agent 相关设置
/raw 切换原始输出模式,显示未经格式化的响应内容

最常用的三个是 /model(临时换模型)、/permissions(调整权限)和 /init(初始化项目记忆)。其余命令按需使用即可。

审批与沙箱模式

Codex 的安全机制分为两层,互相独立:审批策略决定 Codex 在执行操作前是否需要征得你的同意;沙箱模式决定 Codex 在技术上被允许执行哪些操作。

沙箱模式

沙箱模式 描述 适用场景
read-only 只读模式,Codex 不能修改任何文件或执行写操作 审查代码、纯分析任务
workspace-write 默认模式。可读取文件、在工作区内编辑文件、运行常规本地命令,不影响工作区以外的系统 日常开发、绝大多数场景
danger-full-access 无限制模式,移除所有沙箱约束 需要安装全局包、修改系统配置等特殊操作,谨慎使用
!

danger-full-access 模式移除了所有技术限制,Codex 可以执行任何系统操作。仅在确实需要时才使用,并确保你清楚 AI 将要执行的内容。

审批策略

审批策略控制 Codex 执行操作前是否需要询问你。使用 /permissions(或 /approvals)斜杠命令可以在会话中随时调整。低摩擦的默认配置(workspace-write 沙箱)已经能满足大多数场景——Codex 只在执行超出工作区范围的操作前才会提示确认。

把 Codex 写进脚本(exec 示例)

codex exec 让你把 AI 编码能力嵌入任何 shell 脚本或 CI 流水线,无需人工干预。下面是几个实用示例:

基本用法 — 单次执行
# 最简用法:传入任务描述,Codex 执行后退出
$ codex exec "为 src/utils.js 中的所有函数添加 JSDoc 注释"

# 指定模型
$ codex exec --model gpt-4o "检查 package.json 的依赖是否存在已知安全漏洞"
CI 脚本示例(GitHub Actions / shell)
#!/bin/bash
# 在 CI 中自动生成变更日志草稿
set -e

# 确保 API Key 已在环境变量中设置
if [ -z "$OPENAI_API_KEY" ]; then
  echo "错误:未设置 OPENAI_API_KEY"
  exit 1
fi

# 执行任务,codex exec 返回非零退出码时脚本自动终止
codex exec "根据 git diff HEAD~1 的内容,为本次提交生成简洁的 CHANGELOG 条目,追加到 CHANGELOG.md 文件末尾"

echo "CHANGELOG 已更新"
  1. 无审批弹窗codex exec 是非交互式的,不会弹出需要你手动确认的对话框,适合无人值守的自动化。
  2. 退出码可靠:任务成功退出码为 0,失败为非零,脚本中可直接用 set -e$? 判断。
  3. 环境变量传入:在 CI 中通过 Secrets 注入 OPENAI_API_KEY,不要把 Key 硬编码在脚本里。
  4. 配合 AGENTS.md:提前在项目中生成 AGENTS.md(通过 /init),让 codex exec 也能理解项目背景和约定。

AGENTS.md:项目的持久记忆

AGENTS.md 是放在项目根目录的 Markdown 文件,Codex 每次启动时都会自动读取它,作为对话的系统背景。你可以在里面写项目简介、代码规范、常用命令、禁止做的事情等。

使用 /init 斜杠命令,Codex 会扫描当前目录结构并自动生成一份 AGENTS.md 草稿,你只需在此基础上补充和调整即可。

在交互模式中生成 AGENTS.md
# 在 codex 交互界面的输入框中输入:
/init

常见问题

codex exec 支持斜杠命令吗?

不支持。斜杠命令是交互模式的功能,codex exec 以命令行参数的形式接收任务,不支持 /model/init 等斜杠命令。需要指定模型时,用 --model 参数代替 /model

/feedback 发送了什么内容?

/feedback 会捕获当前会话的请求 ID 和连接日志,帮助 OpenAI 团队定位问题。它不会发送你的代码内容,只发送元数据。如果你遇到奇怪的 Bug 或性能问题,运行一次 /feedback 是最快的上报方式。

能不能让 Codex 默认不再询问我确认?

可以。使用 /permissions(或 /approvals)调整审批策略,降低触发确认弹窗的门槛。对于全自动脚本场景,使用 codex exec 更合适——它本身就不会弹出交互确认。

AGENTS.md 里可以写哪些内容?

任何希望 Codex 每次都记住的项目信息:项目简介、技术栈、目录结构说明、代码风格约定、常用构建命令、禁止修改的文件路径等。写得越具体,Codex 的表现越符合预期。