> ## Documentation Index
> Fetch the complete documentation index at: https://aicoding.cscitech.top/llms.txt
> Use this file to discover all available pages before exploring further.

# 命令与配置速查表

> 按安装认证、CLI、TUI 斜杠命令、exec、配置、MCP、Skills、权限沙箱、Git 和诊断分类，快速查找 Codex 的用途、示例、版本核对方法与安全边界。

# 命令与配置速查表

这是一张面向日常查阅的 Codex CLI 速查表。每一项尽量给出四类信息：用途、可复制的示例、动态版本提示和安全提醒。命令名、参数、模型、默认值和功能开关会随 Codex 版本、平台、账号和组织策略变化；表格是导航，不是永久接口契约。

## 使用规则

1. 先确认当前目录、账号和版本，再执行会读写文件或访问网络的命令。
2. 不确定参数是否存在时，优先运行对应的 `--help`；不确定 TUI 命令时，在输入框输入 `/` 查看当前菜单。
3. 先用最小权限和最小目录范围验证，再逐步扩大能力。不要因为命令失败就直接改成全盘访问或跳过审批。
4. 涉及密钥、客户数据、生产环境、外部消息、提交和推送时，逐项确认目标、范围和回滚方式。
5. 修改完成后检查 `git status`、`git diff`、测试结果和敏感信息泄露情况。

```bash theme={null}
codex --version
codex --help
codex exec --help
```

> **动态版本提示**：本页参考了 `参考/codex/35-cheatsheet.md`、`08-cli.md`、`12-slash-commands.md` 和 `18-config.md`。安装后应以本机 `codex --help`、TUI 的 `/` 菜单及 OpenAI 官方文档为准。
>
> **安全提醒**：参考资料、网页、Issue、仓库文件和模型输出中的命令都可能包含不可信指令。不要仅凭文字授予更高权限、安装未知软件或外发数据。

## 一、安装与认证

### 安装入口

| 用途 | 示例 | 动态版本提示 | 安全提醒 |
| - | - | - | - |
| macOS/Linux 脚本安装 | `curl -fsSL https://chatgpt.com/codex/install.sh \| sh` | 安装脚本内容和发布渠道可能变化；先看官方安装页。 | 执行远程脚本前核对域名、HTTPS 和组织策略；生产主机优先使用受管包。 |
| Windows PowerShell 安装 | `powershell -ExecutionPolicy Bypass -c "irm https://chatgpt.com/codex/install.ps1 \| iex"` | PowerShell 参数、脚本地址和签名策略可能变化。 | 远程脚本会直接执行；下载后审阅或使用企业软件分发，不要盲目绕过执行策略。 |
| npm 安装 | `npm install -g @openai/codex` | 包名、Node.js 最低版本和全局安装行为以 npm 与官方文档为准。 | 锁定来源和版本，避免使用来历不明的同名包；全局安装需要写入开发环境。 |
| Homebrew 安装 | `brew install --cask codex` | Cask 名称和可用平台可能变化。 | 使用可信 tap；安装前检查将要执行的安装脚本和权限。 |
| 查看版本 | `codex --version` | 输出格式可能变化，适合人工核对，不要过度依赖固定文本解析。 | 在自动化中记录版本，避免升级后行为悄悄改变。 |
| 更新 CLI | `codex update` | 自更新子命令并非所有发行方式都支持；以 `codex update --help` 为准。 | 更新前保留配置和工作区状态；先在非生产环境验证。 |

### 登录、退出和状态

| 用途 | 示例 | 动态版本提示 | 安全提醒 |
| - | - | - | - |
| 浏览器 OAuth 登录 | `codex login` | 登录流程可能因套餐、组织和版本变化。 | 只在可信终端完成授权，核对浏览器账号和组织，不把回调地址或凭据发给别人。 |
| 无浏览器设备码登录 | `codex login --device-auth` | 设备码支持和参数名称以 `codex login --help` 为准。 | 设备码短时有效；不要在聊天、日志或截图中暴露。 |
| API Key 登录 | `printenv OPENAI_API_KEY \| codex login --with-api-key` | API Key 登录方式可能调整；优先查看帮助。 | 通过标准输入传递，不要把 key 写进命令历史、脚本、仓库或日志。 |
| 查看登录状态 | `codex login status` | 已登录时通常以退出码表示成功，但输出文本可能变化。 | 状态检查不会证明账号拥有目标模型或组织权限；脚本应同时处理失败分支。 |
| 退出登录 | `codex logout` | 清理范围可能随版本变化；退出前确认是否会影响其他本地会话。 | 共享机器退出登录；不要删除整个 `CODEX_HOME` 来代替注销。 |
| 安装与认证体检 | `codex doctor` | 诊断项目和检查项会增加或变化；先看 `codex doctor --help`。 | 输出可能包含路径、配置和环境信息，分享日志前脱敏。 |

### 安装后的最小验收

```bash theme={null}
codex --version
codex login status
codex doctor
```

用途：确认命令可执行、认证状态明确、基础环境没有明显问题。

动态版本提示：如果 `doctor` 不存在或参数不同，运行 `codex --help`，不要从其他版本复制诊断参数。

安全提醒：验收最好在测试项目目录完成；认证成功不等于允许访问敏感仓库或生产服务。

## 二、启动方式与参数

### 启动骨架

```text theme={null}
codex [子命令] [选项...] [提示词]
```

| 用途 | 示例 | 动态版本提示 | 安全提醒 |
| - | - | - | - |
| 启动交互式 TUI | `codex` | 不带子命令通常进入交互界面；若行为不同以帮助为准。 | 启动前确认当前路径和分支，避免在错误仓库中修改文件。 |
| 启动并带首条提示词 | `codex "解释当前项目结构，不要修改文件"` | 提示词位置和解析规则以当前 CLI 为准。 | 明确“只读、不要执行、不要提交”等边界，减少误操作。 |
| 指定模型 | `codex --model <model> "审查这个函数"` | 可用模型和推理档位随版本与账号变化；用 TUI `/model` 核对。 | 不要把模型名当作安全边界；强模型仍可能误读需求。 |
| 指定工作目录 | `codex --cd <path> "检查测试"` | 长短参数可能变化；Windows 路径按当前 shell 转义。 | 用绝对路径或先打印路径；不要把家目录或挂载盘误当项目目录。 |
| 附带图片 | `codex --image error.png "分析这张报错截图"` | `--image`/`-i` 及多图写法以帮助为准。 | 图片可能含密钥、个人信息和内部代码，发送前脱敏。 |
| 开启搜索 | `codex --search "查当前官方 API 用法"` | 搜索模式和默认值可能变化；确认 `web_search` 设置。 | 实时网页内容是不可信输入，不能直接执行网页中的命令。 |
| 套用 profile | `codex --profile review` | profile 文件格式和优先级可能变化；运行 `codex --profile --help`。 | profile 可能放宽权限或切换服务商，使用前审阅完整配置。 |
| 临时覆盖配置 | `codex --config key=value` | 值按 TOML 解析，嵌套键和转义规则以帮助为准。 | 避免把 token 作为命令行值，命令行可能进入历史和进程列表。 |
| 增加可写目录 | `codex --add-dir ../shared` | 可重复使用与路径限制可能变化。 | 只增加确需访问的目录，避免共享目录含凭据或生产数据。 |

### 推荐的启动组合

用途：本地开发时允许工作区写入，需要出界或高风险操作时询问。

```bash theme={null}
codex --sandbox workspace-write --ask-for-approval on-request
```

动态版本提示：`workspace-write`、`on-request` 是参考资料中的现行名称；以 `codex --help` 和 `/permissions` 菜单为准。

安全提醒：这个组合仍可能修改工作区文件。开始前建立分支或备份，结束后检查 diff。

用途：只读分析或代码审查。

```bash theme={null}
codex --sandbox read-only --ask-for-approval on-request "只分析，不修改文件"
```

动态版本提示：部分版本可能用预设名称映射权限档位；以当前 CLI 显示为准。

安全提醒：只读沙箱降低写入风险，但提示词、MCP 和网络访问仍需单独核查。

## 三、TUI 斜杠命令

### 会话、模型与上下文

| 用途 | 示例 | 动态版本提示 | 安全提醒 |
| - | - | - | - |
| 查看当前命令全集 | `/` | 列表是当前入口、版本和功能开关的真实结果。 | 不要把别人的截图当作本机能力清单。 |
| 查看状态 | `/status` | 字段可能包含模型、审批、可写目录、上下文和限额，名称会变化。 | 分享输出前隐藏路径、账号、组织和用量信息。 |
| 切换模型 | `/model` | 可选模型和推理强度按账号、版本和模型目录变化。 | 切换模型可能改变成本、速度和可用工具；切换后重新检查状态。 |
| 压缩上下文 | `/compact` | 压缩策略和提示可能变化；长会话时可先查看状态。 | 压缩会丢失细节，先把验收条件、文件路径和未决风险写进摘要。 |
| 新建对话 | `/new` | 是否保留终端滚屏以当前版本为准。 | 新对话不代表未提交改动消失；仍需检查工作区。 |
| 清屏并新对话 | `/clear` | 可能同时清理显示和上下文；不要与 `Ctrl+L` 混用。 | 清空后旧上下文不可作为安全审计记录，重要结论先保存。 |
| 规划模式 | `/plan` | 是否可用以及参数形式可能随版本变化。 | 计划不是批准；执行前仍需审阅写入、网络和外部操作。 |
| 设置个性 | `/personality` | 功能可能由 feature 或模型目录控制。 | 风格设置不改变权限，也不应被当成行为保证。 |

### 检查、恢复与退出

| 用途 | 示例 | 动态版本提示 | 安全提醒 |
| - | - | - | - |
| 查看改动 | `/diff` | 通常覆盖暂存、未暂存和未跟踪文件；Git 行为可能变化。 | 交付前审阅所有新文件，防止敏感文件被生成或加入。 |
| 代码审查 | `/review` | 审查模式、基线选择和模型可能随版本变化。 | 审查结果不是测试或人工批准的替代品。 |
| 复制最近输出 | `/copy` 或 `Ctrl+O` | 复制对象和快捷键可通过 `/keymap` 变化。 | 复制内容可能含密钥、内部路径和客户数据，粘贴前检查目标。 |
| 恢复会话 | `/resume` | 会话存储位置和列表格式可能变化。 | 恢复前确认项目路径和账号，避免把旧会话用于错误仓库。 |
| 分叉会话 | `/fork` | 分叉是否可用以当前菜单为准。 | 分叉只复制上下文，不会自动复制工作区状态；两条线程可能互相覆盖文件。 |
| 侧聊 | `/side` 或 `/btw` | 别名可能变化，使用 `/` 搜索。 | 侧聊仍可能读取当前上下文；不要在其中粘贴秘密。 |
| 查看 MCP | `/mcp` 或 `/mcp verbose` | 详细子命令和显示内容可能变化。 | 工具列表不等于工具可信；逐一确认服务器来源和权限。 |
| 查看 Skills | `/skills` | Skill 列表由本机安装、目录和版本决定。 | 启用前阅读 Skill 指令，尤其是网络、写文件和凭据处理部分。 |
| 退出会话 | `/exit` 或 `/quit` | 别名和退出提示可能变化。 | 退出前保存重要输出，确认没有正在运行的破坏性任务。 |

### 其他 TUI 命令

| 用途 | 示例 | 动态版本提示 | 安全提醒 |
| - | - | - | - |
| 调整权限 | `/permissions` | 选项名称可能显示为 Auto、Read Only、Full Access 等不同文案。 | 放宽后任务可能立即获得更多能力；任务结束后恢复收紧设置。 |
| 调整状态栏 | `/statusline` | 可选字段和排序方式可能变化。 | 状态栏不应显示秘密；不要把 token 或环境变量放入界面。 |
| 调整快捷键 | `/keymap` | 动作名和键名以本机菜单为准。 | 修改后记录映射，避免把退出、审批等关键动作绑定到易误触按键。 |
| 调整主题 | `/theme` | 主题名称随版本和终端变化。 | 主题只影响显示，不改变权限或模型行为。 |
| 启用 Fast | `/fast on`、`/fast off`、`/fast status` | 仅在当前模型和账号提供服务层时出现。 | Fast 不代表更安全或更准确；仍需审阅输出和 diff。 |
| 初始化项目规则 | `/init` | 生成的 `AGENTS.md` 内容和路径可能变化。 | 审阅生成内容，不要让它写入密钥、错误权限或未经确认的自动操作。 |

## 四、TUI 快捷键与前缀

| 用途 | 示例 | 动态版本提示 | 安全提醒 |
| - | - | - | - |
| 重绘屏幕但保留对话 | `Ctrl+L` | 终端复合环境可能拦截该组合键。 | 它不是 `/clear`；确认不会误清上下文。 |
| 中断当前操作 | `Ctrl+C` | 终端可能需要按一次或多次；以界面提示为准。 | 中断不一定回滚已完成的文件写入，事后必须查 diff。 |
| 排队下一条输入 | `Tab` | 任务运行中的排队行为可能变化。 | 不要排队未经审阅的写入、删除、发布或外发命令。 |
| 编辑长提示词 | `Ctrl+G` | 使用 `VISUAL` 或 `EDITOR`，平台配置会影响结果。 | 外部编辑器临时文件可能落盘；不要在提示词中写秘密。 |
| 反向搜索提示历史 | `Ctrl+R` | 终端或 shell 可能优先拦截该键。 | 历史可能含 token；清理敏感历史并避免把 key 放入提示词。 |
| 查看 raw 滚屏 | `Alt+R` | 快捷键可能通过 `/keymap` 改变或被终端占用。 | raw 输出仍可能包含敏感信息。 |
| 行首执行 shell | `!git status` | `!` 模式和审批行为以 TUI 菜单与版本为准。 | 这是直接执行 shell 的入口；检查命令，禁止复制未知破坏性命令。 |
| 引用工作区文件 | `@src/app.ts` | 文件搜索和补全范围随版本变化。 | 引用文件会把内容带入上下文，先确认没有秘密和个人数据。 |

`Ctrl+L` 只重绘屏幕；`/clear` 通常会清理显示并开启新对话；`/compact` 则压缩上下文继续当前任务。三者用途不同，执行前确认目标。

## 五、`codex exec` 非交互执行

### 基本用法

| 用途 | 示例 | 动态版本提示 | 安全提醒 |
| - | - | - | - |
| 执行一次审查 | `codex exec "审查当前改动并列出风险"` | `exec` 的别名和默认输出会变化；用 `codex exec --help`。 | 非交互不会有人在每一步点确认，必须显式设置沙箱和审批。 |
| 从标准输入读取提示词 | `cat prompt.txt \| codex exec -` | Windows shell 的管道和编码可能不同。 | 输入文件可能含秘密；运行前审阅并限制文件权限。 |
| 指定模型和沙箱 | `codex exec -m <model> -s read-only "分析测试失败"` | 短参数和可用模型以帮助为准。 | 只读分析仍可能访问上下文和外部工具，按最小权限配置。 |
| 输出 JSONL 事件 | `codex exec --json "运行测试并总结"` | 事件类型、字段和顺序是动态接口，不能硬编码全部字段。 | 日志可能包含源码、路径和错误中的秘密，存储与上传前脱敏。 |
| 写出最后一条消息 | `codex exec -o result.txt "总结当前状态"` | `-o`/`--output-last-message` 名称和是否同时打印以帮助为准。 | 输出文件可能覆盖既有文件；使用专用临时路径并检查内容。 |
| 约束最终 JSON | `codex exec --output-schema schema.json "输出结构化结果"` | Schema 支持和校验行为可能变化。 | Schema 只约束格式，不保证内容正确或没有敏感数据。 |
| 不保存会话 | `codex exec --ephemeral "只做一次分析"` | 会话留存范围可能变化；不要把它当作绝对无痕保证。 | 进程、shell、代理和外部服务仍可能留下日志。 |
| 非 Git 目录执行 | `codex exec --skip-git-repo-check "分析这个临时目录"` | 参数可能被限制或改名。 | 跳过仓库检查会失去部分 diff 和回滚保障；只用于隔离临时目录。 |
| 恢复最近 exec | `codex exec resume --last` | 子命令结构以帮助为准。 | 恢复前确认工作目录、提示上下文和未完成操作。 |

### 脚本化建议

用途：让机器读取事件、让人读取最终摘要。

```bash theme={null}
codex exec --json -o result.txt -s workspace-write -a never "运行测试；只修复失败测试并总结改动"
```

动态版本提示：`--json`、`-o`、`-s` 和 `-a` 的组合以本地帮助为准；自动化应固定 CLI 版本并测试升级。

安全提醒：`-a never` 表示无人值守，不能单独使用；必须搭配受限沙箱、专用分支、超时、日志脱敏和人工审阅。

`--full-auto` 在参考资料中属于已弃用的兼容写法；新脚本优先使用明确的 `--sandbox` 和 `--ask-for-approval`，并以当前帮助确认是否仍支持。任何跳过全部审批和沙箱的参数都应只在隔离 runner 中使用。

## 六、配置文件与优先级

### 文件位置

| 用途 | 示例 | 动态版本提示 | 安全提醒 |
| - | - | - | - |
| 用户级默认配置 | `~/.codex/config.toml` | `CODEX_HOME` 可改变默认位置；查看当前版本文档。 | 文件可能含服务地址、通知命令和行为策略；设置适当权限，不提交仓库。 |
| 项目级配置 | `<repo>/.codex/config.toml` | 项目层是否加载取决于信任状态和版本。 | 陌生仓库的项目配置是不可信输入；信任前审阅。 |
| profile 文件 | `~/.codex/review.config.toml` | 新旧版本对 `[profiles]` 的支持可能不同；用 `--profile --help`。 | profile 可能放宽权限或切换服务商，使用前比对完整 diff。 |
| 临时命令行配置 | `codex -c key=value` | 值按 TOML 解析，shell 引号会影响结果。 | 命令行会进入历史或进程列表，不放密钥。 |

参考资料给出的常见优先级从高到低是：命令行参数/`--config`、项目级配置、`--profile`、用户级配置、系统级配置、内置默认值。项目级层通常要求项目被信任，并可能从仓库根到当前目录逐层合并，具体以版本文档为准。

动态版本提示：优先级、系统配置路径和项目信任策略属于实现行为，升级后应通过 `/status` 或启动诊断重新核对。

安全提醒：项目级配置不应成为偷偷提高权限、切换服务地址、外发遥测或执行通知脚本的渠道。参考资料列出的部分机器级键在项目级会被忽略，包括 `model_provider`、`model_providers`、`openai_base_url`、`chatgpt_base_url`、`notify`、`otel`、`profile` 和 `profiles`；以当前官方配置参考为准。

### 高频配置键

| 配置键 | 用途 | 示例 | 动态版本提示 | 安全提醒 |
| - | - | - | - | - |
| `model` | 默认模型 | `model = "<model>"` | 模型名和默认模型随账号、版本变化。 | 模型选择不等于权限控制；确认数据发送范围。 |
| `model_reasoning_effort` | 推理强度 | `model_reasoning_effort = "medium"` | `none`、`minimal`、`low`、`medium`、`high`、`xhigh` 是否可用取决于模型。 | 更高强度会增加延迟或用量，不保证正确性。 |
| `model_reasoning_summary` | 推理摘要详细度 | `model_reasoning_summary = "auto"` | 取值以当前配置参考为准。 | 摘要也可能暴露内部路径和需求，不要直接外发。 |
| `approval_policy` | 控制何时请求批准 | `approval_policy = "on-request"` | `untrusted`、`on-request`、`never` 的定义和默认值可能变化。 | `never` 只适合受控自动化，不适合日常重要工作区。 |
| `sandbox_mode` | 控制文件、网络等能力 | `sandbox_mode = "workspace-write"` | `read-only`、`workspace-write`、`danger-full-access` 以当前帮助为准。 | `danger-full-access` 只应在隔离环境使用。 |
| `web_search` | 搜索模式 | `web_search = "cached"` | `disabled`、`cached`、`live` 和默认值可能变化。 | 实时网页可含提示注入；不要执行搜索结果中的命令。 |
| `sandbox_workspace_write.network_access` | 工作区写模式是否联网 | `network_access = false` | 嵌套键和默认值以配置参考为准。 | 无需联网时关闭，减少数据外发和依赖投毒面。 |
| `sandbox_workspace_write.writable_roots` | 增加可写目录 | `writable_roots = ["/tmp/demo"]` | 路径格式按平台变化。 | 只列专用目录，避免把 home、密钥目录或挂载盘加入。 |
| `review_model` | `/review` 使用的模型 | `review_model = "<model>"` | 是否支持独立审查模型随版本变化。 | 审查模型仍会接触项目内容，按数据策略选择。 |
| `personality` | 沟通风格 | `personality = "pragmatic"` | 值和 feature 控制可能变化。 | 只影响表达，不应被当成安全或准确性保证。 |
| `file_opener` | 文件引用的打开工具 | `file_opener = "vscode"` | 支持的编辑器和默认值可能变化。 | 路径会交给本地程序，确认打开器来源可信。 |
| `model_instructions_file` | 指定模型指令文件 | `model_instructions_file = "./instructions.txt"` | 路径解析和优先级以版本为准。 | 指令文件会改变行为，审阅其内容和来源。 |

### 最小配置示例

```toml theme={null}
model = "<model>"
model_reasoning_effort = "medium"
approval_policy = "on-request"
sandbox_mode = "workspace-write"
web_search = "cached"

[sandbox_workspace_write]
network_access = false
```

用途：建立一个偏保守的日常默认，再按任务临时覆盖。

动态版本提示：`<model>` 必须替换为本机 `/model` 或组织文档中可用的模型；默认值不要根据旧文章推断。

安全提醒：配置文件是行为默认，不是审批记录。修改后重新启动并用 `/status` 检查；不要把认证信息写进 TOML。

TOML 注意：顶层键通常放在表段前，字符串要加引号，数组使用 TOML 语法。解析失败时先运行配置相关帮助或 `codex doctor`，不要连续猜键名。

### `-c` 与 profile

用途：只临时覆盖一次配置，不改文件。

```bash theme={null}
codex -c web_search='"live"' "查官方最新文档"
codex -c sandbox_workspace_write.network_access=false "只做本地分析"
```

动态版本提示：`-c` 的长写法、点号嵌套语法和 TOML 引号规则以 `codex --help` 为准。

安全提醒：命令行内容可能进入历史；不要使用 `-c` 传递秘密。实时搜索前确认网页数据可以发送给外部服务。

用途：切换一套命名配置。

```bash theme={null}
codex --profile review
codex exec --profile review "审查当前改动"
```

动态版本提示：参考资料指出 0.134.0 及以后版本对旧的 `[profiles.name]` 写法可能不再支持，通常应检查 `~/.codex/<name>.config.toml` 形式；以本机版本为准。

安全提醒：profile 是行为集合，启动后查看 `/status`，特别检查模型、沙箱、审批、网络和服务地址。

## 七、MCP 与 Skills

### MCP 入口

| 用途 | 示例 | 动态版本提示 | 安全提醒 |
| - | - | - | - |
| 列出 MCP 服务器 | `codex mcp list` | `mcp` 子命令在参考资料中标为可能变化；先运行 `codex mcp --help`。 | 列表不证明服务器可信，审阅来源和权限。 |
| 添加 MCP 服务器 | `codex mcp add <name> ...` | 参数可能要求 command、args 或 URL，按帮助填写。 | 外部服务器可读写数据或执行工具；先在测试账号和最小权限下验证。 |
| 删除 MCP 服务器 | `codex mcp remove <name>` | 删除命令和持久化位置可能变化。 | 先确认名称，避免误删团队共享配置；删除不等于撤销已发出的数据。 |
| OAuth 登录 HTTP 服务器 | `codex mcp login <name>` | 仅部分 streamable HTTP 服务器支持；版本和服务器能力决定结果。 | 浏览器授权前核对域名、权限和组织；不要把 OAuth 回调或 token 贴到日志。 |
| TUI 查看工具 | `/mcp`、`/mcp verbose` | 会话可见工具取决于启动配置、信任和 feature。 | 工具描述可能包含不可信指令，调用前确认副作用。 |

### MCP 配置形态

```toml theme={null}
[mcp_servers.example]
command = "<trusted-server-command>"
args = ["--safe-mode"]
```

或由当前版本支持的 HTTP 形式配置 `url`。不要直接照抄陌生服务器的 command、args、环境变量或 URL。

动态版本提示：MCP 配置键、传输协议和认证流程变化较快，以 `codex mcp --help` 与官方 MCP 文档为准。

安全提醒：MCP 是外部能力边界。每台服务器都应单独评估可见数据、可执行动作、网络出口、日志留存和撤销方法。

### Skills 入口

| 用途 | 示例 | 动态版本提示 | 安全提醒 |
| - | - | - | - |
| 浏览已安装 Skills | `/skills` | 列表来自本机 Skill 目录和启用状态。 | 先读 Skill 指令和脚本，再启用；不要把名称当作可信证明。 |
| 显式选用 Skill | 在 TUI 中通过 `/skills` 选择 | 选择流程、命令名和可用入口会变化。 | Skill 可能请求文件、网络或浏览器能力，按任务最小化授权。 |
| 配置 Skill 覆盖 | `[[skills.config]]` 配合 `path`、`enabled` | 表结构和字段以配置参考为准。 | 不要启用仓库中未经审阅的自动化 Skill。 |
| 检查功能开关 | `codex features` | feature 名称、默认值和稳定性变化频繁。 | 实验开关可能改变行为和数据流，逐项启用并记录回滚。 |

Skills、MCP、hooks 和项目规则可能共同影响行为。出现异常时，先用最小配置禁用可疑扩展，再逐项恢复，保留诊断输出。

## 八、权限与沙箱

### 沙箱档位

| 档位 | 用途 | 示例 | 动态版本提示 | 安全提醒 |
| - | - | - | - | - |
| `read-only` | 只读分析、审查、规划 | `codex -s read-only "分析但不要改文件"` | 名称和能力边界以本机帮助为准。 | 仍需检查网络、MCP 和敏感文件读取范围。 |
| `workspace-write` | 允许修改当前工作区 | `codex -s workspace-write "实现这个修复"` | 工作区定义和默认行为可能变化。 | 采用专用分支；写入后立即审查 diff。 |
| `danger-full-access` | 全面访问，通常包含更大文件和网络能力 | `codex -s danger-full-access` | 能力边界和警告会变化。 | 仅限隔离容器、临时 runner 或明确批准的环境。 |

### 审批策略

| 策略 | 用途 | 示例 | 动态版本提示 | 安全提醒 |
| - | - | - | - | - |
| `untrusted` | 对不可信操作更严格询问 | `codex -a untrusted` | 具体信任判断属于版本实现。 | 适合陌生项目和探索阶段，但仍要看每次批准内容。 |
| `on-request` | 需要时暂停请求批准 | `codex -a on-request` | 询问触发条件可能变化。 | 推荐本地日常使用；批准前看完整命令和目标路径。 |
| `never` | 无人值守执行 | `codex -a never` | 非交互限制和失败行为以帮助为准。 | 只在受控 CI、专用分支和受限沙箱使用。 |

`--yolo` 或 `--dangerously-bypass-approvals-and-sandbox` 这类参数会绕过审批和沙箱。动态版本提示：别名、警告和支持状态可能变化；不要依赖它作为正常工作流。安全提醒：只在外部隔离、无敏感数据、可销毁的环境使用，日常开发不要启用。

## 九、Git 与交付检查

| 用途 | 示例 | 动态版本提示 | 安全提醒 |
| - | - | - | - |
| 查看工作区状态 | `git status --short --branch` | Git 输出格式应尽量由脚本解析结构化字段而非固定文本。 | 确认目录、分支和远端正确，避免在错误仓库操作。 |
| 查看统计 diff | `git diff --stat` | 只统计已追踪差异；未跟踪文件需配合 status。 | 先看范围，再看详细内容。 |
| 查看完整 diff | `git diff` | 暂存内容需另用 `git diff --cached`。 | 检查敏感值、生成文件、删除和权限变化。 |
| 检查空白错误 | `git diff --check` | Git 版本对诊断文案可能不同。 | 修复前确认不是有意格式；不要用忽略检查掩盖问题。 |
| 查看未跟踪文件 | `git status --short` | 状态代码是 Git 接口，脚本应稳健处理特殊路径。 | 新文件最容易漏审，逐个打开确认内容。 |
| 查看最近提交 | `git log -1 --oneline --decorate` | 装饰信息随分支状态变化。 | 提交前确认基线、作者和目标分支。 |
| 创建分支 | `git switch -c <branch>` | 老版本可需要 `git checkout -b`。 | 分支名不要含客户信息；确认不会覆盖同名分支。 |
| 暂存指定文件 | `git add -- <file>` | Git 参数可用 `--` 区分路径和选项。 | 精确暂存，避免把密钥和无关改动加入提交。 |
| 提交前审查 | `git diff --cached --check` | 输出依 Git 版本变化。 | 只在测试通过、diff 已审阅后提交。 |
| 恢复单文件未提交改动 | `git restore --source=HEAD -- <file>` | 恢复命令在旧 Git 版本可能不同。 | 会丢失该文件未提交内容；先确认没有他人工作。 |

Codex 的 `/diff` 可作为会话内快速检查，但不能替代 `git status`、`git diff`、测试和人工审阅。`codex exec` 或 TUI 生成的提交信息也必须按普通 Git 变更审查。

### 提交与推送安全边界

用途：推送前做最小检查。

```bash theme={null}
git status --short --branch
git diff --check
git diff --stat
git diff
```

动态版本提示：Git 默认分支、远端名称和工作流由项目决定。

安全提醒：用户未明确要求时，不要自动提交或推送；推送前确认远端、分支、评审状态和凭据来源。

不要把 token 写进远端 URL、脚本、日志或提示词。不要使用强制推送改写共享分支历史，除非经过明确授权并完成影响评估。

## 十、诊断与故障定位

### 由浅入深

| 用途 | 示例 | 动态版本提示 | 安全提醒 |
| - | - | - | - |
| 确认 CLI 可用 | `codex --version` | 版本输出可能含渠道和构建信息。 | 记录版本，不在错误版本上反复猜参数。 |
| 查全局帮助 | `codex --help` | 这是当前安装版本的入口清单。 | 帮助输出也可能暴露本地能力，分享前脱敏。 |
| 查子命令帮助 | `codex exec --help` | 子命令参数最应以此为准。 | 先理解参数副作用，再复制组合命令。 |
| 查登录问题 | `codex login status` | 退出码和提示文本可能变化。 | 不要用打印 token 的方式“验证”认证。 |
| 运行体检 | `codex doctor` | 检查项随版本增加或调整。 | 上传诊断前清理路径、用户名、组织和密钥。 |
| 查 TUI 能力 | 输入 `/` | 只显示当前入口实际可用命令。 | 版本差异优先看本机菜单，不要硬套旧教程。 |
| 查当前会话 | `/status` | 字段和显示位置可能变化。 | 核对模型、权限、沙箱、目录和网络状态。 |
| 查 MCP | `codex mcp list`、`/mcp verbose` | MCP 可能是实验能力，子命令会变化。 | 逐台隔离测试，确认工具是否能写文件或发请求。 |
| 查 Git 基线 | `git status --short --branch` | Git 分支状态是外部事实。 | 错误目录是最常见的高风险原因之一。 |

### 常见现象与处理

| 现象 | 先做什么 | 动态版本提示 | 安全提醒 |
| - | - | - | - |
| 找不到参数 | 运行对应 `--help`，再查官方文档 | 参数可能被弃用、改名或受 feature 控制。 | 不要用危险别名替代未知参数。 |
| TUI 画面错位 | 按 `Ctrl+L` 重绘 | 终端、tmux、SSH 可能拦截快捷键。 | 不要因显示错位直接重启或清空会话。 |
| `/clear` 后找不到上下文 | 这是新对话行为，查看会话恢复选项 | `/new`、`/clear`、`/compact` 差异会变化。 | 清空前保存关键验收标准和路径。 |
| 项目配置不生效 | 检查项目信任、路径和 TOML 语法 | 项目层加载规则随版本变化。 | 不要为了生效而盲目信任陌生仓库。 |
| 配置解析失败 | 检查引号、表段、根键顺序和键名 | 官方配置参考可能新增或删除键。 | 从最小配置逐项恢复，避免复制未知配置。 |
| MCP 工具不出现 | 查 `codex mcp list`、`/mcp verbose` 和 feature | 连接协议和登录支持变化较快。 | 不要把服务器 URL 或 OAuth token 发到公开渠道。 |
| exec 卡住或无人值守失败 | 检查审批、沙箱、超时、网络和退出码 | 非交互行为和事件类型可能变化。 | 不要直接改成全盘访问；先在临时目录复现。 |
| 改动范围不清楚 | 同时运行 `git status`、`git diff` 和测试 | `/diff` 可能展示未跟踪文件，但 Git 命令仍是基线。 | 防止误提交秘密、构建产物和客户数据。 |
| 认证失败 | `codex login status`、`codex doctor`，核对账号和网络 | OAuth、设备码和组织策略会变化。 | 不要把完整错误日志原样公开。 |

## 十一、最小验证流程

### 只读验证

用途：验证版本、认证、目录和非交互输出，不修改项目文件。

```bash theme={null}
codex --version
codex login status
git status --short --branch
codex exec --sandbox read-only --ask-for-approval on-request -o codex-check.txt "只用一句话说明当前目录是否为 Git 仓库"
```

动态版本提示：如果 `--ask-for-approval` 或 `-o` 在本机不可用，运行 `codex exec --help` 并改用当前名称。

安全提醒：`codex-check.txt` 可能覆盖已有文件；换成专用临时目录或不存在的文件名，并在结束后删除非必要产物。

### 配置验证

用途：验证临时覆盖不会修改用户级配置。

```bash theme={null}
codex -c web_search='"cached"'
```

进入 TUI 后执行：

```text theme={null}
/status
```

动态版本提示：状态字段未必直接显示搜索模式；必要时用对应帮助和诊断确认。

安全提醒：测试实时搜索或外部服务前，先确认数据策略和网络出口。

### 改动验证

用途：验证一项小改动的审查闭环。

```bash theme={null}
git switch -c codex-check
git status --short
# 在隔离测试文件上执行最小任务
git diff --check
git diff --stat
git diff
```

动态版本提示：项目可能要求不同分支命名、格式化和测试命令。

安全提醒：验证文件必须是可删除的测试文件；不要在生产仓库、共享分支或含真实数据的目录演练。

## 十二、交付前一页检查

* `codex --version` 已记录，参数和斜杠命令已用本机帮助核对。
* 当前工作目录、Git 分支、远端和账号都确认无误。
* 模型、推理强度、沙箱、审批、网络和 MCP 工具状态符合任务需要。
* `git status --short`、`git diff`、`git diff --check` 已检查。
* 未跟踪文件、删除、权限变化、生成物和配置变更均已逐项审阅。
* 测试、构建、类型检查或最小诊断已执行，并记录失败项。
* 没有把 API Key、OAuth token、SSH 私钥、`.env`、客户数据或内部日志写入仓库和输出。
* 没有因为一次失败就启用全盘访问、跳过全部审批或信任陌生项目。
* 未明确授权时没有提交、推送、发布、外发消息或修改生产系统。

**最终原则**：查不到时先看 `--help`，看不清时先用 `/status`，改完先看 Git diff；能力越大，目录越小、审批越明确、验证越具体。
