跳转至

Codex

官方入口:Codex docs


目录

  1. Codex 是什么
  2. 模型选择
  3. CLI 常用工作流
  4. 斜杠命令速查
  5. 权限、沙箱与安全边界
  6. AGENTS.md 项目指令
  7. Skills、Plugins
  8. Codex App 重点能力
  9. 实践建议与避坑
  10. 官方资料索引

1. Codex 是什么

  • 它可以被定制:通过 AGENTS.mdconfig.toml、Skills、插件、子智能体和自动化任务,让 Codex 更贴近个人或团队工作流。

Codex 的 CLI、桌面端与 IDE 扩展共享~/.codex/config.toml


2. 模型选择

临时指定模型:

codex -m gpt-5.5
codex --model gpt-5.5

配置默认模型可写入 ~/.codex/config.toml

model = "gpt-5.5"

3. CLI 常用工作流

3.1 交互模式

在项目目录启动:

cd /path/to/project
codex

也可以直接带初始提示:

codex "Explain this codebase to me"

常见能力:

  • 粘贴截图或通过 --image 附加图片。

3.2 暂停、停止与终止

Codex CLI 中的“暂停目标”“停止当前任务”“停止后台终端”和“终止 CLI”作用范围不同:

目的 操作 结果
暂停持续目标 /goal pause 暂停 /goal 设置的持续目标;之后用 /goal resume 恢复
停止当前任务 按一次 Esc 中断当前正在执行的轮次(turn),保留当前会话和 CLI,可继续输入新指令
停止后台终端 先用 /ps 查看,再执行 /stop 停止当前会话启动的全部后台终端;不等同于中断当前 Codex 轮次
终止交互式 CLI Ctrl+C/exit/quit 退出整个 CLI;普通退出会保留会话记录,可稍后恢复
终止非交互任务 codex exec ... 运行期间按 Ctrl+C 终止当前非交互进程

注意:

  • 普通轮次没有“冻结在当前执行点,稍后从同一点继续”的通用暂停操作。/goal pause 只暂停持续目标;如果当前轮次仍在执行,应先按 Esc 中断。
  • Esc/stopCtrl+C 都不会自动回滚已经完成的文件修改、已执行命令或其他副作用。中断后应检查 git diff、后台进程和测试状态。
  • 如果按 Esc 后仍有后台命令运行,使用 /ps 确认,再用 /stop 停止。
  • 可用 /keymap 查看或修改 TUI 快捷键;当前轮次的中断动作名为 interrupt_turn

参考:Codex developer commandsCodex configuration schema

3.3 恢复会话

Codex 会在本地保存会话记录(transcript)。CODEX_HOME 是 Codex 本地状态的根目录,未自定义时默认为 ~/.codex

会话保存位置

内容 默认位置
活动会话 $CODEX_HOME/sessions,即 ~/.codex/sessions
已归档会话 $CODEX_HOME/archived_sessions,即 ~/.codex/archived_sessions

活动会话通常按创建日期保存为 JSONL 文件:

~/.codex/sessions/YYYY/MM/DD/rollout-<TIMESTAMP>-<SESSION_ID>.jsonl

路径中的日期通常是会话创建日期。会话跨天继续使用时,记录仍可能保存在最初创建日期对应的目录中。

JSONL 文件可能包含完整对话、指令、工作目录、工具调用及其输出。不要将其提交到 Git;分享前应先检查并移除敏感信息。使用 /archive 后,会话记录会移至归档目录;使用 /delete 则会永久删除会话。

推荐恢复流程

  1. 退出前输入 /rename codex-doc-update,给当前会话设置一个容易识别的名称。
  2. 下次先进入原项目目录,再运行 codex resume 打开会话选择器。
  3. 从列表中选择已命名的会话,或使用会话名称直接恢复:
cd /path/to/project
codex resume codex-doc-update

其他常用恢复方式:

codex resume                       # 打开当前项目的会话选择器
codex resume --last                # 恢复当前项目最近的会话
codex resume --all                 # 在选择器中包含其他目录的会话
codex resume <SESSION_ID_OR_NAME>  # 按会话 ID 或名称直接恢复

如果已经进入一个新的 CLI 会话,可以输入 /resume 打开已保存会话的选择器。

Codex App 中可从侧边栏重新打开历史会话,也可以按 Cmd/Ctrl + G 搜索会话。

非交互模式也可以恢复:

codex exec resume --last "继续修复刚才发现的问题"
codex exec resume <SESSION_ID> "实现刚才的计划"

3.4 非交互模式

适合脚本、CI、流水线、定时任务:

codex exec "summarize the repository structure and list the top 5 risky areas"

管道输出:

codex exec "generate release notes for the last 10 commits" | tee release-notes.md

JSONL 输出:

codex exec --json "summarize the repo structure" | jq

权限示例:

codex exec --sandbox workspace-write "update docs and run tests"
codex exec --sandbox danger-full-access "run this in an isolated CI runner"

codex exec 默认运行在 read-only sandbox 中。

3.5 远程 TUI / App Server

Codex CLI 支持连接远程 app server:

codex app-server --listen ws://127.0.0.1:4500
codex --remote ws://127.0.0.1:4500

如果要从另一台机器访问,需要配置 WebSocket 鉴权,并优先放在 TLS 后面。不要把未鉴权的远程端点暴露到公网。

Codex CLI 官方内置 first-party web search。默认本地任务使用 OpenAI 维护的搜索缓存,而不是每次实时抓取网页。这样可以降低任意网页内容带来的 prompt injection 风险,但搜索结果仍应视为不可信外部输入。

需要最新结果时:

codex --search "查找某个库的最新官方迁移说明"

或在配置里设置:

web_search = "live"

也可以关闭:

web_search = "disabled"

如果要限制搜索工具范围,可使用 tools.web_search 配置允许域名、上下文大小和近似位置。


4. 斜杠命令

命令 用途
/title 配置终端窗口或 tab 标题字段
/resume 从会话列表恢复历史对话
/status 查看线程配置、模型、审批策略、可写目录和 token 使用
/exit/quit 退出 CLI
/fork 从当前会话派生新线程
/permissions 调整 Codex 无需询问即可执行的权限范围
/model 选择活动模型和可用 reasoning effort
/fast 在支持的模型上切换 Fast service tier
/plan 切换到计划模式,让 Codex 先做方案设计
/goal 设置、查看、暂停、恢复或清除持续目标
/ps 查看当前会话的后台终端及其最近输出
/stop 停止当前会话启动的全部后台终端
/review 审查当前工作树、未提交改动、commit 或分支 diff
/statusline 配置 TUI 底部状态栏字段
/raw 查看最近一次 assistant 消息的原始 markdown
/compact 压缩/总结长对话,释放上下文
/copy 复制最近一次完成的 Codex 输出,快捷键 Ctrl+O
/diff 查看 Git diff,包括未跟踪文件
/approve 对最近一次 auto review 拒绝的动作允许重试一次
/init 为当前目录生成 AGENTS.md scaffold
/skills 浏览和使用本地 Skills
/plugins 浏览、安装、启用或管理插件
/apps 浏览 app/connectors,并把 $app-slug 插入提示
/hooks 查看和管理 lifecycle hooks
/agent 切换/查看子智能体线程
/side/btw 开启临时侧边对话,不打断主线
/new 在同一 CLI 会话里开启新对话
/clear 清屏并开启新的对话;不同于 Ctrl+L 只清屏
/ide 拉取 IDE 打开的文件、选择区等上下文
/keymap 查看和保存 TUI 快捷键映射
/sandbox-add-read-dir Windows 上给 sandbox 额外增加只读目录
/debug-config 调试配置层级和生效策略
/theme 选择并保存终端语法高亮主题
/vim 切换 composer 的 Vim 模式
/memories 配置 memory 注入或生成
/experimental 切换实验功能,必要时重启 Codex
/feedback 向 Codex 维护者发送反馈和日志

/title 用法

在 Codex CLI 中输入:

/title
  • ↑/↓:选择字段
  • Space:启用或禁用
  • ←/→:调整顺序
  • Enter:保存
  • Esc:取消

自定义标题示例:

/rename 网络请求重构
/title

然后取消 project-name,启用 thread-title,按 Enter 保存。

5. 权限、沙箱与安全边界

Codex 的安全模型由两层共同组成:

  • Sandbox:技术边界,决定 Codex 运行命令时能读写哪些文件、是否能联网、是否能越过工作区。
  • Approval policy:审批策略,决定 Codex 何时必须停下来询问用户或自动审查者。

5.1 常见 sandbox mode

模式 含义
read-only Codex 可以查看文件,但不能不经审批编辑文件或运行命令
workspace-write Codex 可以读取文件、在 workspace 内编辑,并在边界内运行常规本地命令
danger-full-access 取消沙箱限制,拥有更广泛的文件系统和网络访问能力,只应在隔离环境中使用

5.2 常见 approval policy

策略 含义
untrusted 不在 trusted set 中的命令需要询问
on-request 在沙箱内自动运行,越界时请求审批
never 不弹出审批请求

默认本地工作通常是 workspace-write + on-request。官方称 Full access 对应 sandbox_mode = "danger-full-access"approval_policy = "never",不要在真实项目里随手开启。

5.3 平台差异

  • macOS 使用系统内置 Seatbelt 沙箱,通常开箱即用。
  • Windows 原生 PowerShell 使用 Windows sandbox;WSL2 使用 Linux 沙箱实现。
  • Linux / WSL2 建议安装 bubblewrap,如 Ubuntu/Debian 使用 sudo apt install bubblewrap

6. AGENTS.md 项目指令

AGENTS.md 是 Codex 的持久项目指导文件。它适合放“每次进入这个仓库都要遵守”的规则,例如:

  • 构建和测试命令。
  • Review 关注点。
  • 仓库特定编码约定。
  • 目录级说明和路由。

6.1 官方发现顺序

Codex 每次启动或每个 TUI 会话开始时构建 instruction chain:

  1. 全局层:默认读取 ~/.codex/AGENTS.override.md,如果不存在则读取 ~/.codex/AGENTS.md。这一层只取第一个非空文件。
  2. 项目层:从项目根目录向当前工作目录逐层查找,每层按 AGENTS.override.mdAGENTS.mdproject_doc_fallback_filenames 中的文件名顺序加载,且每个目录最多取一个。
  3. 合并顺序:从上层到更靠近当前目录的文件拼接。越靠近当前目录的文件越晚出现,因此优先级更高。

默认合并上限是 project_doc_max_bytes = 32768 字节。文件过大可能被截断,应拆到更靠近业务目录的 AGENTS.md 中。

6.2 推荐写法

# AGENTS.md

## Repository expectations

- 修改 JavaScript 文件后运行 `npm test`- 提交 PR 前运行 `npm run lint`- 公共工具函数行为变化时同步更新 `docs/`## Review expectations

- 代码审查优先关注正确性、安全、行为回归和缺失测试。
- 不把纯风格问题作为高优先级发现,除非它掩盖真实风险。

MCP 命令和配置统一整理在 MCP 中。

7. Skills、Plugins

7.1 Skills

Skills 用来给 Codex 增加任务专用能力、领域知识和可复用流程。一个 Skill 是一个目录,至少包含 SKILL.md

my-skill/
  SKILL.md       # 必需:metadata + instructions
  scripts/       # 可选:可执行脚本
  references/    # 可选:参考文档
  assets/        # 可选:模板、图片、资源
  agents/
    openai.yaml  # 可选:UI metadata、依赖、触发策略

SKILL.md 必须包含:

---
name: skill-name
description: Explain exactly when this skill should and should not trigger.
---

Skill instructions for Codex to follow.

触发方式:

  • 显式触发:在 CLI / IDE 中使用 /skills 或输入 $skill-name
  • 隐式触发:任务匹配 description 时由 Codex 自动选择。

Skill 存放位置:

Scope 位置 用途
Repo $CWD/.agents/skills$REPO_ROOT/.agents/skills 仓库或子目录专用技能
User $HOME/.agents/skills 个人通用技能
Admin /etc/codex/skills 机器或容器内共享技能
System Codex 内置 OpenAI 随 Codex 提供的技能,如 skill creator

7.2 Plugins

插件是 Codex 的可安装分发单元,可以打包:

  • Skills
  • App integrations
  • 生命周期 hooks
  • 展示资产和 marketplace metadata

使用上:

  • App 里从 Plugins 页面浏览和安装。
  • CLI 里输入 /plugins 打开插件浏览器。
  • 安装后可以让 Codex 自行选择,也可以用 @plugin 明确指定。

自己构建插件时,官方建议优先使用 @plugin-creator。最小插件需要 .codex-plugin/plugin.json manifest。


8. Codex App 重点能力

8.1 线程与项目

Codex App 是面向并行线程的桌面体验。一个项目类似在特定目录启动一个 Codex 会话。多个项目或多个包建议拆成独立项目,让 sandbox 边界更清晰。

8.2 Local / Worktree / Cloud

App 新线程可选择:

模式 含义
Local 直接在当前项目目录工作
Worktree 创建 Git worktree 隔离改动
Cloud 在配置好的云环境远程运行

Worktree 依赖 Git 仓库。它是 Git worktree 机制下的独立 checkout,不会干扰你的本地 checkout,适合并行探索或后台任务。

Git worktree 允许多个 checkout 并行,通常会涉及不同 branch 或 detached HEAD;重点是隔离工作区。

8.3 Review pane

Review pane 展示 Git 仓库中的改动,不只展示 Codex 改的内容,还包括用户自己改的和其他未提交改动。

可切换 scope:

  • Uncommitted changes
  • All branch changes
  • Last turn changes

可做的事:

  • 查看 diff。
  • 给具体行添加 inline comments。
  • stage 或 revert change。
  • 让 Codex 根据 inline comments 修复。

CLI 中 /review 的结果也可以在 App review pane 中以内联评论形式显示。

8.4 Automations

Automations 用于定期运行后台任务。适合:

  • 定期检查 telemetry 错误并建议修复。
  • 定期总结代码库变化。
  • 结合 Skills 执行复杂例行流程。

项目级 automation 要求运行本地 Codex App 的机器开机、Codex 正在运行、项目目录仍然存在。Git 仓库中 automation 可以运行在本地项目或新的 background worktree;非 Git 项目会直接在项目目录运行。

8.5 In-app browser 与 Browser Use

In-app browser 给你和 Codex 一个共享页面视图,适合本地开发服务器、文件预览、无需登录的公开页面。

限制:

  • 不支持登录流程。
  • 不使用你的浏览器 profile、cookies、扩展或已打开 tab。
  • 需要登录态或浏览器扩展时,应使用普通浏览器或 Codex Chrome extension。

Browser Use 让 Codex 操作 in-app browser,例如点击、输入、截图、检查渲染状态和验证修复。使用前需要安装并启用 Browser plugin。

8.6 Computer Use

Computer Use 让 Codex 操作 macOS 或 Windows 的图形界面。适合命令行或结构化工具无法覆盖的任务,例如:

  • 测试桌面应用。
  • 复现 GUI 中才出现的问题。
  • 操作需要点击的设置界面。
  • 跨多个应用执行流程。

macOS 需要授予 Screen Recording 和 Accessibility 权限。由于它会影响项目之外的 app 或系统状态,应尽量给出明确边界并审查权限提示。


9. 实践建议与避坑

9.1 推荐工作流

  1. 从小任务开始:先让 Codex 解释项目、定位文件、列出风险,再让它修改。
  2. 先 Plan 再做大改动:复杂任务用 /plan,确认路线后再执行。
  3. 用 Git 保护自己:重要任务前后创建 Git checkpoint;App 中可用 diff、stage、commit、push 和 PR。
  4. 用 Review 做第二视角:开发完成后跑 /review,重点看正确性、安全、回归和测试缺口。
  5. 把重复反馈写进 AGENTS.md:不要每次口头重复团队约定。
  6. 用最小权限跑任务:默认使用 sandbox;只有隔离环境或明确需要时才用 danger-full-access
  7. 需要外部知识时使用 Web Search 或可信数据源:不要让模型凭记忆猜 API、版本或产品行为。

9.2 常见误区

  • ❌ 把 Codex 当一次性代码生成器。 ✅ 更好的方式是“计划 → 修改 → 验证 → review → 反馈 → 迭代”。

  • ❌ 一上来开 Full Access。 ✅ 大多数本地工作用 workspace-write + on-request 已足够。

  • ❌ 把所有规则塞到全局 AGENTS.md。 ✅ 个人偏好放全局,团队/项目/目录规则放最近的仓库 AGENTS.md

  • ❌ 使用过时模型名或网上教程里的私有命令。 ✅ 以 /modelcodex -m 和官方 Models 页面为准。

  • ❌ 让 Codex 联网查“最新资料”但不说明来源要求。 ✅ 明确要求使用官方文档或指定可信来源。


10. 官方资料索引