Skip to main content

前言

Codex CLI 是 OpenAI 推出的本地编程代理工具,你可以在终端中运行它。它能够在你选定的目录里读取代码、修改文件,并在你的机器上执行代码。它是开源的,并使用 Rust 构建,以获得更高的速度和效率。 codex cli poster

Codex CLI 官方文档

安装、使用、命令与配置参考

Codex CLI GitHub 仓库

源码、Release 二进制与贡献指南

准备工作

确保您拥有: 确保您的终端环境支持:

安装 Codex CLI

在终端运行以下命令全局安装:
验证安装:

配置 Codex CLI

通过以下方式创建 codex 配置文件:
config.toml 中添加以下内容:
模型选择建议(Codex 系列):
    • gpt-5.2-codex:默认首选,综合能力最强,适合大多数真实工程任务(重构、排障、跨文件改动、多步骤实现)。
    • gpt-5.1-codex:稳定的通用选择(介于 5.2 与 mini 之间),适合日常开发与团队默认配置。
    • gpt-5.1-codex-mini:性价比优先,适合快修、小改、脚手架生成、简单问题定位。
    • gpt-5.1-codex-max:长任务 / 深度任务优先,适合大规模重构、迁移、复杂调试、长时间 agent loop。
    • gpt-5-codex:更“保守/兼容”的选择,适合你需要对齐旧行为、或成本/稳定性有特殊要求的场景。

设置环境变量

将 API Key 设置为环境变量:
配置完成后,建议重启终端以确保环境变量生效。

开始使用

进入你的项目目录并启动 Codex CLI:

使用技巧

1. 先让它“读懂”再让它“动手”

建议你把一次复杂需求拆成两步:
  1. 理解/探索:让它先概览架构、入口、依赖、关键路径
  2. 实施/验证:再让它改代码、跑测试、给 diff
例如:
确认计划没问题后,再继续:
Codex 交互模式会倾向于先讲计划、再执行,并支持在关键步骤让你批准/拒绝。

2. 随手 /diff + /review:把每一轮改动当成 PR 来审

  • /diff:随时看工作区改动(包括未被 Git 追踪的文件),避免“改了啥我不知道”。
  • /review:启动一个专门的 reviewer,读取你选择的 diff 变更并给出优先级建议,而且不会动你的 working tree

3. 用 /permissions 在“谨慎”和“放手”之间随时切换

Codex 的 Approval modes(审批/权限)分为 Auto、Read-only、Full Access,你可以在会话中用 /permissions 动态调整。

4. 长对话记得 /compact

当你做了很多轮对话(尤其是跨文件重构、排障),上下文会越来越大。 /compact 可以把当前可见对话压缩成摘要,减少 token 压力并保留关键结论。

5. 把“仓库长期规则”写进 AGENTS.md

/init 可以在当前目录生成 AGENTS.md 脚手架,用来写“这个仓库的长期偏好/规范/禁区”。 常见写法例如:
  • 本项目请始终用中文跟用户交流。
  • 默认用哪套测试命令
  • 代码风格 / lint / commit 规范
  • 不要改动哪些目录/文件
  • 输出格式(必须给 diff、必须给迁移步骤等)

基本命令

1. 启动与运行

首次运行会提示登录:可以用 ChatGPT 账号授权或 API key。 如果用 API key 模式,确保你已设置好 K_CODEX 环境变量,并且 config.tomlenv_key = "K_CODEX"base_url = "https://api.poixe.com/v1"

2. 常用 CLI flags(启动时就能用)

这些 flags 在官方 Command Line Options 有完整说明。

3. 会话恢复(resume)

Codex 会把会话记录保存在本地(例如 ~/.codex/sessions/),方便你“接着干”。

4. 非交互模式(CI/脚本):codex exec

适合自动化:让它跑检查、输出结果到 stdout 或 JSONL、必要时写入文件。
codex exec 的参数(如 --json--output-last-message--output-schema--yolo 等)在官方文档有细节。

会话内斜杠命令(Slash Commands)

在交互式会话里输入 / 会弹出命令列表并可搜索。 下面是你最常用的一组: 上表对应官方 Slash Commands 说明。

注意事项

1. 权限模式别开太大(尤其是 Full Access)

  • Auto(默认):目录内读写执行都比较顺滑,但涉及目录外或网络会再问你
  • Read-only:只做顾问,改代码/跑命令前需要你批准
  • Full Access:跨机器、含网络,尽量少用,只在你非常信任的仓库/任务下使用
这些模式的行为定义在官方 Features 文档里。

2. Web search 默认是 cached,不代表“实时网页”

Codex 的 web search 默认启用,但会优先走 OpenAI 维护的缓存索引(cached),而不是实时抓取;你也可以通过参数启用 live search。 即便如此,也要把 web 结果当作“不可信输入”,避免提示注入。

3. Windows 支持是实验性的

官方说明:Codex CLI 在 macOS / Linux 更成熟,Windows 支持仍属实验;更推荐在 WSL 工作区使用。

4. 尽量在 Git 仓库里使用

很多能力(比如 /diff、review、变更追踪)都依赖 Git。 如果你在非 Git 目录跑,需要时可以用 --skip-git-repo-check(主要在 codex exec 场景)。

5. Poixe 网关下的“行为差异”

Poixe 是转发层,会在稳定性、风控、计费与工具能力上做一些工程取舍。若你遇到某些能力不可用/表现不同,请优先查阅 Poixe 的 兼容性与差异说明 相关章节。
特别注意:Poixe 系统会对 OpenAI Responses 接口传入的 reasoning.encrypted_content 相关参数做过滤处理,避免因加密推理片段不是跨组织/跨 Key 通用的会话凭证而产生报错。详细请参考 Poixe 的 加密推理内容过滤 章节。

常见问题

首次运行会引导登录(ChatGPT OAuth / API key)。如果你用 API key 模式,请确认:
  • 已设置 K_CODEX 环境变量
  • config.tomlenv_key = "K_CODEX" 配置正确
通常是权限或沙箱策略导致。建议按顺序检查:
  1. 当前 /permissions 是否为 Read-only
  2. 是否需要把目录加入可写范围(--add-dir 或配置可写 roots)
  3. sandbox 策略是否限制(例如 --sandbox read-only 会阻止写入/执行)
这是设计如此:/review 会启动“独立 reviewer”,只读 diff 并输出建议,不会修改 working tree。你需要自行决定是否采纳建议并手动修改,或让 Codex 以普通任务方式执行改动。
使用 codex exec
  • 需要机器可读输出:加 --json
  • 需要把最终结果写入文件:用 --output-last-message/-o
  • 需要续跑:用 codex exec resume ...
启动时加 --search 可以把 web_search 从默认 cached 切成 live。官方说明:--search 会设置 web_search="live"