Codex 不只是写代码:7 个被大多数开发者忽视的高效功能

封面图

你可能只用了 Codex 20% 的能力。

大多数开发者和 Codex 的交互模式是:打开对话 → 丢一段需求 → 拿到代码 → 提 PR。这没问题,但如果你以为 Codex 只能干这个,那你可能错过了 80% 的生产力。

Codex 官方团队成员 jason (@jxnlco) 最近分享了一套高阶用法。核心观点:凡是能在终端执行的操作、在浏览器里完成的审查、通过 API 调用的服务——都属于 Codex 的能力范围。它早已不是一个狭义的编程助手。

下面是 7 个你应该立刻开始用的高阶功能。每个都附带具体操作步骤。

Codex 7 个高阶功能总览

1. 持久对话流:不要每次都从零开始

问题:你每次打开 Codex 都要从头解释项目背景、技术栈偏好、当前进度?

解法:使用持久对话流(Durable Threads),然后把它置顶(Pinned Threads)。

持久对话流的核心价值是上下文积累。Codex 会记住你之前做过的决定、你的偏好、当前进度。你不需要每次都重新喂一遍背景信息。

Codex 桌面版操作步骤

  1. 在 Codex 桌面应用中开始一个新对话(Thread),给它一个有意义的名称(比如“日常管家”或“产品发布”)
  2. 在侧边栏中悬停该线程,点击三个点菜单,选择 Pin Conversation(置顶对话)
  3. 置顶后,使用快捷键 Command-1 到 Command-9(macOS)或 Ctrl-1 到 Ctrl-9(Windows)一键跳回
  4. 当线程变长时,Codex 会自动进行上下文压缩,保留关键信息而不会超出 token 限制
  5. 完成的线程可以归档保存,需要时从归档中恢复

Codex CLI 操作步骤

# 恢复最近一次对话
codex resume --last

# 显示对话选择器,选择要恢复的线程
codex resume

在 CLI 会话中,也可以使用斜杠命令:

/resume    # 选择一个已保存的会话继续
/fork      # 克隆当前对话到新线程(用于并行探索不同方案)
/side      # 从当前对话开一个临时分支,不离开主任务
/new       # 开始全新对话
/compact   # 压缩长对话,释放上下文空间

推荐置顶的对话流配置

对话流名称 用途 快捷键建议
“日常管家” 处理杂务:issue 分流、消息摘要、日报 Command-1
“产品发布” 专门推进发布流程 Command-2
“代码审查” 审查和迭代代码 Command-3
“文档” 审查和撰写文档 Command-4
“数据看板” 盯着外部数据源变化 Command-5

注意:这些不是聊完即焚的对话框,而是持续演化的工作空间。你在里面做的每个决定、每条偏好,Codex 都会积累下来。

2. 语音输入 + 任务干预:边想边指挥

语音输入

语音输入不是噱头,而是捕捉粗糙想法的最佳工具。当你脑子里有个大概的想法但还没完全成型时,花两三分钟“碎碎念”比打字写一段精心组织的文字更有效——未经修饰的口述保留了你的犹豫、强调和灵光一现。

Codex App 中的操作方法

  1. 在输入框可见时,点击麦克风图标 开始说话
  2. 口述你的需求,不需要组织语言
  3. Codex 会实时转录你的语音为文本
  4. 编辑转录内容(或直接发送让 Codex 开始工作)

典型用法:

“上次 review 的时候有人提过一个关于并发的问题,具体内容我记不太清了,你帮我在项目历史里翻翻看。”

模糊、口语化、缺乏精确关键词——这正是语音输入的强项。打字时你会纠结措辞,但口头表达反而更自然,Codex 会自动搜索相关上下文并整理给你。

任务干预(Steering):中途纠偏

操作方法:当 Codex 正在执行任务时,输入你的纠正指令,然后按 Enter。Codex 会把新指令注入当前正在执行的轮次,立即改变方向。

适用场景:发现 AI 跑偏了,需要在它浪费更多时间之前纠正。

使用例子(Codex 正在审查 UI 时,你中途插入):

  • “导航栏的高度太高了,减到 60px”
  • “这边的错误提示文案换成英文”
  • “跳过这一段,先处理下面的表单校验逻辑”

任务排队(Queuing):安排下一个任务

操作方法:在任务执行过程中,输入你的下一条指令,然后按 Tab(不是 Enter)。该指令会被排队,等当前轮次完成后自动执行。

[输入框] 跑一下全量回归测试,把结果贴到 PR 评论里。
[按 Tab 排队 → 当前任务完成后自动执行]

排队支持的内容:普通提示词、斜杠命令(如 /review)、Shell 命令(以 ! 开头)。

一句话区分:按 Enter = 中途打断当前任务;按 Tab = 排队等当前任务做完后再执行。

3. 让 Codex 的手伸向代码库之外

Codex 的触角可以向外层层延伸,而不是被困在终端里。

侧边栏浏览器(In-app Browser)

操作方法

  1. 在 Codex App 中,让 Codex 打开一个网页:帮我打开 https://example.com 看看布局
  2. Codex 会在侧边栏中打开该网页
  3. 你可以在网页上直接标注需要修改的地方
  4. Codex 会响应你的标注并修改

适合:审查网页设计、检查 UI 布局

Chrome 扩展

操作方法

  1. 安装 Codex Chrome 扩展
  2. Codex 可以获取你浏览器的登录状态,用来处理需要身份验证的工作流
  3. 比如让 Codex 帮你在已登录的内部管理系统中抓取数据

适合:需要登录态的浏览器内工作

Computer-use(桌面 GUI 操控)

注意:目前仅限 macOS,且需要额外安装和权限配置。

操作方法

  1. 在 Codex App 中进入 Settings → Computer Use → Install 安装插件
  2. 当 macOS 弹出权限请求时,授予屏幕录制辅助功能权限
  3. 在提示中使用 @Computer@应用名 触发(如 @Chrome 打开这个页面截图看看
  4. Codex 会直接操控桌面图形界面(点击、输入、拖拽)

适合:只能通过桌面 GUI 完成的任务(比如在无 API 的应用中上传文件、复现只在图形界面出现的 Bug)

三层能力对比

层级 能力 启用方式 适合场景
应用内浏览器 侧边栏审查网页并做标记 App 内置 审查网页设计、检查 UI
Chrome 连接 获取浏览器登录状态 安装 Chrome 扩展 需要身份验证的浏览器内工作流
Computer-use 操控桌面 GUI Settings → Computer Use → Install(仅 macOS) 只能通过 GUI 完成的任务

Codex 三层能力扩展模型

MCP 服务器配置

MCP(Model Context Protocol)让 Codex 能接入 Slack、Gmail、Figma 等外部服务。

Codex App 中的操作步骤

  1. 点击左下角的 Settings(设置)齿轮图标
  2. 进入 MCP Servers
  3. 你会看到一些可以直接认证并使用的内置服务器
  4. 或者点击 “Add Server” 添加自定义 MCP 服务器
  5. 选择传输方式:STDIOStreamable HTTP
  6. 填入服务器配置信息
  7. 完成

CLI 中的操作步骤

config.toml 中配置 MCP 服务器:

[mcp_servers.my-server]
command = "node"
args = ["path/to/server.js"]

配置完成后,使用 /mcp 命令验证:

/mcp          # 列出所有可用的 MCP 工具
/mcp verbose  # 显示详细的服务器诊断信息

Skills(技能封装)

一旦某个工作流被证明好用,把它封装成技能。在 Codex 中使用 /skills 命令选择和应用技能。Codex 会直接加载技能的完整指令,下次不需要从头学起。

/skills      # 选择一个已安装的技能来应用

4. 你离开电脑,它继续干活

这是 Codex 最被低估的能力之一。你在 Mac 上启动一个任务,然后离开工位。在手机上随时查看进度、回复它的问题、批准下一步操作。

在 Codex App 中设置自动化

  1. 打开 Codex App
  2. 进入 Automations(自动化) 设置页面
  3. 选择创建新自动化

两种自动化模式对比

模式 特点 适合场景
定时自动化 (Scheduled) 每次从零开始,独立运行 生成日报、例行检查代码库
对话流自动化 (Thread) 带历史记忆,像心跳一样定期回到同一个对话流 需要在同一上下文中持续推进的工作

实战配置——“日常管家”对话流每 30 分钟自动跑一次

在 Thread Automation 中设置:

  • 目标对话流:你的“管家”线程
  • 频率:每 30 分钟
  • 执行指令:
检查 GitHub 上我负责的 repo 有没有新的 issue 或 PR 评论。
如果有,帮我分类:哪些需要我亲自回复,哪些可以自动 assign 给对应模块的负责人。
把分类结果整理成一份简要清单,等回来时直接看。

你回到电脑前时,筛选和分类的工作已经完成。你只需要处理真正需要人工决策的部分。

反馈循环闭环

对话流自动化特别适合处理“反馈循环”——你的 AI 可以在你不在的时候持续跟进:

  1. 你在 GitHub PR 里收到一条代码审查意见后离开工位
  2. 自动化定时检查该 PR 的新评论
  3. 检测到修改意见 → 自动调整代码并推送新 commit
  4. 推送完回复评论说明改了什么
  5. 如果需要跑 CI 但接口受限 → 调用 Computer-use 打开浏览器手动触发

从接收反馈、修改代码到回复评论,整个闭环不需要你在场。

对话流自动化:反馈循环闭环

5. 给 Codex 一条终点线:目标设定与验证器

使用 /goal 命令(实验性功能)

/goal 是 Codex 的实验性功能,默认关闭。需要在 CLI 中输入 /experimental 启用 Goals,或在 ~/.codex/config.toml 中添加:

[features]
goals = true

启用后,使用 /goal 命令启动一个自主执行的长任务:

/goal 将 src/api/ 下所有 REST 接口迁移到 GraphQL,使用现有 Apollo Server 配置。原有测试全部通过才算完成。

Codex 会:

  1. 制定计划
  2. 自动执行(写代码、跑测试、修 Bug)
  3. 遇到错误时自我修复
  4. 一直循环直到目标达成

常用子命令:/goal(查看当前目标)、/goal pause(暂停)、/goal resume(恢复)、/goal clear(清除)

糟糕的目标 vs 好的目标

糟糕的目标

重构一下认证模块,代码质量提升一些。

“质量提升”无法量化,Codex 不知道什么时候算达标。

好的目标

将 auth 模块的 API 响应时间降到 50ms 以下,同时保持所有现有测试通过。以 npm run benchmark:auth 的输出作为验证依据。

终点线清晰,验证方式明确。

Goals 的核心逻辑

目标设定 = 持续执行 + 验证器

你来定义三件事:

  1. 想要的结果
  2. 何时停止的条件
  3. 判断 Codex 有没有离终点更近的信号

Goals:自主执行直到达标

5 种可用的验证器

验证器 配置方式 适用场景
完整的测试用例 运行 pytest 全部通过 功能迁移、代码重构
基准性能测试 benchmark 响应时间 < 200ms 性能优化任务
能稳定复现的 Bug 运行 reproduce.sh 不再出现 error Bug 修复任务
验证矩阵 通过所有检查清单项目 多维度验收
端到端工作流 e2e test 全部绿色 整体系统集成

长任务安全设置

务必在独立 Git 分支上运行 /goal

git checkout -b codex/api-refactor
/goal Refactor API layer...

如果 Codex 跑偏了,直接丢弃分支重来,主分支不受影响。

也可以开启 full-auto 模式并记录日志:

codex --approval-mode full-auto 2>&1 | tee codex-session.log

一句话总结:没有验证机制的目标不是目标,是许愿。

6. 侧边栏:边看边改,不用导出

侧边栏的最大价值是消除上下文切换。无论 Codex 生成了什么——代码、幻灯片、PDF、数据表——都直接在聊天窗口旁边打开,不用导出来回切换。

日常操作

  1. Codex 生成文件后,点击预览即可在侧边栏打开
  2. 直接在文件上标注需要修改的地方
  3. Codex 根据标注原地修改,文件实时更新
  4. /diff 命令可以随时查看当前所有变更

配合内置浏览器的迭代工作流

前面提到的侧边栏浏览器,和文件审查结合起来特别强大:

  • Codex 生成了一个静态页面 → 侧边栏里打开预览 → 你标注问题 → Codex 修 Bug → 原地刷新 → 继续迭代
  • 不需要搭服务器,一个 index.html 就能跑起来
  • 配合对话流自动化,Codex 还能在你离开时持续更新这些文件

适合侧边栏审查的典型产物

产物类型 审查方式
代码文件 查看 diff、标注逻辑问题
幻灯片 / PDF 直接翻页预览,标注文案修改
数据表格 原地检查数据,标记异常值
网页 / 组件 内置浏览器渲染,标注 UI 问题
Markdown 文档 原地阅读,标记措辞修改

7. 共享记忆:别让上下文断在两次聊天之间

持久对话流解决了一次聊天内的上下文问题。但跨聊天的上下文怎么办?

方案一:使用 /init 生成 AGENTS.md

Codex CLI 内置了一个命令,可以自动生成 AGENTS.md 模板:

/init      # 在当前目录生成 AGENTS.md 脚手架
  1. 在项目根目录运行 /init
  2. Codex 会生成一个 AGENTS.md 脚手架
  3. 编辑它,加入你的项目规范、偏好和约定
  4. 提交到 Git,这样所有协作者和 Codex 都能看到

方案二:Obsidian 知识库 + AGENTS.md

对于更复杂的长期项目,建立一个纯文本文件夹作为长期工作记忆区:

codex-vault/
├── AGENTS.md       ← 给 Codex 定的工作规矩
├── backlog.md      ← 当前迭代要做什么
├── decisions/      ← 重要技术决策和原因
├── team/           ← 团队成员信息和职责范围
└── daily/          ← 每日工作摘要(自动更新)

AGENTS.md 中给 Codex 定规矩:

# 工作规则

- `codex-vault/` 是你长期的工作记忆区,每次对话开始时先看一遍
- 收到新信息时,分类存到对应子目录,不要全部堆在一个文件里
- 记录技术决策时,必须包含:做了什么选择、为什么、还有哪些备选方案被否决了
- 如果没有实际进展,不要为了"显得在干活"而修改文件

方案三:Codex 内置记忆功能

Codex 还有两个内置的记忆辅助功能:

官方记忆(Settings → Personalization → Memory):

  • 系统自带的本地记事本
  • 记住偏好、常用流程、常见坑
  • 使用 /memories 命令管理
/memories  # 选择是否使用现有记忆、生成新记忆、或禁用记忆

截图记忆

  • 从你最近屏幕上的内容中提取并构建记忆
  • 自动运行,无需手动操作

关键区分

代码库 知识库
存什么 代码 滚动更新的上下文
包含 函数、类、配置 人、变更、卡点、跟进、容易消失的细节
工具 Git Obsidian + 云同步

核心原则:上下文是 AI 协作中最容易被忽视、也最昂贵的资产。把它持久化下来,比每次重新解释要划算得多。


检查清单:你现在能用上哪些?

对照这个清单,逐项操作:

  • 置顶对话流:在 Codex App 中右键线程 → Pin,试试 Command-1 快速跳转
  • CLI 恢复对话:运行 codex resume 或在会话中输入 /resume
  • 语音输入:点击输入框旁的麦克风图标,试试口述一个模糊需求
  • 任务干预:下次任务执行时,直接输入纠正指令
  • 任务排队:试试输入“等这活儿干完之后……”
  • 接入 MCP:Settings → MCP Servers → Add Server,先接入一个 Slack 或 Gmail
  • 验证 MCP:运行 /mcp 确认工具已加载
  • 设置自动化:在 Automations 中为你最常用的线程设一个定时心跳
  • 运行 /goal(实验性):先通过 /experimental 启用 Goals,然后在独立 Git 分支上给 Codex 一个带验证器的目标
  • 审查文件:下次 Codex 生成文件时,在侧边栏中打开并标注
  • 生成 AGENTS.md:在项目根目录运行 /init
  • 管理记忆:运行 /memories 检查记忆设置

建议起步:从第 1 项(置顶持久对话流)和第 11 项(/init 生成 AGENTS.md)开始。有了持久上下文和项目规范,后面所有高阶功能才有意义。

Codex 的设计意图从来不只是“帮你写代码”。它要的是:从听取指令、执行任务,一直到最终文件审查,扛起一个完整的工作流。哪怕这些工作早已超出代码库的范畴。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。