本文为非官方中文翻译,内容以 OpenAI 官方英文文档为准。
官方来源:https://developers.openai.com/codex/app/features
Codex app 功能
你可以使用 Codex app 完成的工作
Codex app 是一种专注的桌面体验,用于并行处理 Codex 线程, 内置了 worktree 支持、automations 和 Git 功能。
大多数 Codex app 功能在 macOS 和 Windows 上都可用。 下文各节会注明特定平台的例外情况。

跨项目多任务处理
使用一个 Codex app 窗口即可跨多个项目运行任务。为每个 代码库添加一个项目,并根据需要在它们之间切换。
如果你使用过 Codex CLI,项目就像是在某个特定目录中启动一个 session。
如果你在单个仓库中处理两个或更多应用或包,请将不同的项目拆分为单独的 app 项目,这样 sandbox 就只会包含该项目的文件。

Skills 支持
Codex app 支持与 CLI 和 IDE Extension 相同的 agent skills。你还可以通过点击侧边栏中的 Skills, 查看并探索你的团队在不同项目中创建的新 Skills。

Automations
你还可以将 skills 与 automations 结合使用,以执行日常任务, 例如评估遥测中的错误并提交修复,或针对最近的 代码库变更创建报告。对于应持续保留在同一线程中的长期工作,请使用 thread automation。

模式
每个线程都会在选定模式下运行。启动线程时,你可以选择:
- Local:直接在当前项目目录中工作。
- Worktree:在 Git worktree 中隔离更改。了解更多。
- Cloud:在已配置的云环境中远程运行。
Local 和 Worktree 线程都会在你的计算机上运行。
有关完整术语表和概念,请查看概念部分。

内置 Git 工具
Codex app 直接在应用内提供常见的 Git 功能。
diff 面板会显示你在本地项目或 worktree 检出中的 Git diff。你 还可以添加内联评论让 Codex 处理,并暂存或还原特定区块或整个文件。
你还可以直接在 Codex app 中为本地和 worktree 任务执行 commit、push 和创建 pull request。
对于更高级的 Git 任务,请使用集成终端。

Worktree 支持
创建新线程时,选择 Local 或 Worktree。Local 会 直接在你的项目中工作。Worktree 会创建一个新的 Git worktree,从而让更改与常规项目保持隔离。
当你想在不影响当前工作的情况下尝试新想法时,或当你希望 Codex 在同一 项目中并排运行相互独立的任务时,请使用 Worktree。
对于 Git 仓库,automations 会在专用的后台 worktree 中运行;对于非版本控制项目,则直接在项目目录中运行。
进一步了解如何在 Codex app 中使用 worktree。

集成终端
每个线程都包含一个内置终端,其作用域限定在当前项目或 worktree。可使用 app 右上角的终端图标进行切换,或按 Cmd+J。
使用终端可在不离开 app 的情况下验证更改、运行脚本以及执行 Git 操作。Codex 还可以读取当前终端输出,因此 它可以检查正在运行的开发服务器状态,或在与你协作时回顾 失败的构建。
常见任务包括:
git statusgit pull --rebasepnpm test或npm testpnpm run lint或类似的项目命令
如果你会定期运行某项任务,可以在你的本地环境中定义一个 action,以便在 Codex app 窗口顶部添加一个快捷按钮。
请注意,Cmd+K 会在 Codex app 中打开命令面板。它不会清空终端。要清空终端,请使用 Ctrl+L。

原生 Windows sandbox
在 Windows 上,Codex 可以原生在 PowerShell 中运行,并使用原生 Windows sandbox, 而不需要 WSL 或虚拟机。这样你可以继续使用 Windows 原生工作流,同时保持受限权限机制。
了解更多关于 Windows 设置和 sandbox 的信息。

语音听写
使用你的语音向 Codex 提示。当编辑器可见时,按住 Ctrl+M 并开始说话。你的语音会被转写。编辑转写后的提示,或直接发送,让 Codex 开始工作。

浮动弹出窗口
将一个活动对话线程弹出到单独窗口中,并将其移动到 你当前正在工作的区域。这非常适合前端工作,你可以在快速迭代时 将线程放在浏览器、编辑器或设计预览附近。
你还可以将弹出窗口切换为置顶,以便它在整个工作流中 保持可见。

应用内浏览器
使用应用内浏览器在迭代 Web app 时预览、审查并评论 本地开发服务器、基于文件的预览,以及不需要登录的公开页面。
应用内浏览器不支持认证流程、已登录页面、你的 常规浏览器配置文件、cookies、扩展或现有标签页。
使用浏览器评论来标记页面上的特定元素或区域,然后让 Codex 处理这些反馈。
当你希望 Codex 直接操作页面时,请对本地开发服务器和 基于文件的页面使用 browser use。你可以在设置中管理 Browser plugin、允许的网站以及 阻止的网站。

Computer use
Computer use 可帮助 Codex 通过 查看、点击和输入来操作 macOS app。这对于测试桌面 app、检查 浏览器或模拟器流程、使用无法作为 plugins 提供的数据源、更改 app 设置以及重现仅 GUI 可见的 bug 很有帮助。
由于 Computer use 可能会影响项目 workspace 之外的 app 和系统状态,请将任务范围保持精简,并在继续之前查看权限提示。
该功能在发布时不适用于欧洲经济区、英国或 瑞士。

处理非代码产物
当任务生成非代码产物时,侧边栏可以预览 PDF 文件、 电子表格、文档和演示文稿。向 Codex 提供源数据、预期的 文件类型、结构以及你关注的审查标准。
对于电子表格和演示文稿,请描述相关的工作表、列、图表、幻灯片 部分以及重要的检查项。让 Codex 说明它将输出保存到了哪里, 以及它如何检查结果。
在线程运行期间,使用任务侧边栏跟踪 Codex 正在执行的内容。它可以 展示 agent 的计划、来源、生成的产物和任务摘要,以便 你引导工作、检查生成的文件,并决定哪些内容需要再次处理。

与 IDE 扩展同步
如果你在编辑器中安装了 Codex IDE Extension, 当 Codex app 和 IDE Extension 位于同一个项目中时,它们会自动同步。
同步后,你会在 Codex app 的撰写器中看到 IDE context 选项。启用 “Auto context” 后,Codex app 会跟踪你正在查看的文件,因此你可以间接引用它们(例如, “这个文件是做什么的?”)。你也可以在 IDE Extension 中看到正在 Codex app 中运行的线程, 反之亦然。
如果你不确定 app 是否包含上下文,可以将其关闭,再次提出相同的问题以比较结果。
线程自动化
自动化也可以附加到单个线程。这些线程自动化是周期性的唤醒调用,会保留线程的上下文, 这样 Codex 就可以检查长时间运行的工作、轮询某个来源以获取新信息,或继续后续循环。 将它们用于类似心跳的自动化任务,这些任务应按计划持续返回到同一对话。
当下一次运行依赖当前对话时,请使用线程自动化。 当你希望 Codex 为一个或多个项目启动全新的周期性任务时,请使用独立或项目级的 automation。
审批与沙箱
你的审批和沙箱设置会约束 Codex 的操作。
- 审批决定 Codex 何时在运行命令前暂停并请求许可。
- 沙箱控制 Codex 可以使用哪些目录以及网络访问权限。
当你看到诸如“approve once”或“approve for this session”之类的提示时, 你授予的是不同范围的工具执行权限。如果你不确定, 请批准范围最小的选项,然后继续迭代。
默认情况下,Codex 会将工作范围限定在当前项目内。在大多数情况下,这都是正确的约束。
如果你的任务需要跨多个仓库或目录工作,优先考虑打开单独的项目或使用 worktrees, 而不是让 Codex 在项目根目录之外游走。
如果你的工作区提供了自动审查, 你可以从权限选择器中选择它。它会保持相同的沙箱边界,但会将符合条件的审批请求 通过已配置的审查策略进行处理,而不是等待你来批准。
有关高级概览,请参见 sandboxing。 有关配置细节,请参见 agent approvals & security documentation。
MCP 支持
Codex app、CLI 和 IDE Extension 共享 Model Context Protocol (MCP) 设置。 如果你已经在其中一个中配置了 MCP 服务器,其他的会自动采用这些配置。 要配置新服务器,请打开 app 设置中的 MCP 部分,并启用推荐服务器或向配置中添加新服务器。
Web 搜索
Codex 内置了第一方 Web 搜索工具。对于 Codex app 中的本地任务,Codex 默认启用 Web 搜索,并通过 Web 搜索缓存提供结果。如果你将沙箱配置为 full access,Web 搜索默认使用实时结果。请参见 Config basics 以禁用 Web 搜索或切换为抓取最新数据的实时结果。
图像生成
你可以让 Codex 直接在线程中生成或编辑图像。这对于 UI 资源、横幅、背景、插图、sprite sheets 以及你希望与代码一起创建的占位图很有用。当你希望 Codex 转换或扩展现有资源时,可以添加参考图像。
你可以使用自然语言提出请求,也可以通过在提示中包含 $imagegen 来显式调用图像生成 skill。
内置图像生成功能使用 gpt-image-2,计入你的通用 Codex 使用限制;根据图像质量和尺寸,与不含图像生成的类似轮次相比,它平均会快 3-5 倍地消耗已包含的限制。详情请参见 Pricing。有关提示技巧和模型细节,请参见图像生成指南。
对于更大批量的图像生成,请在环境变量中设置 OPENAI_API_KEY,并让 Codex 通过 API 生成图像,以便改为适用 API 定价。
图像输入
你可以将图像拖放到提示撰写器中,以将它们作为上下文包含进来。拖放图像时按住 Shift,
可将图像添加到上下文中。
你也可以让 Codex 查看你系统上的图像。通过为 Codex 提供对你正在处理的应用进行截图的工具, Codex 可以验证它正在执行的工作。
Chats
Chats 是一种线程,当任务不需要特定项目文件夹或 Git 仓库时,你可以启动它。 可将其用于研究、分诊、规划、重度依赖插件的工作流,以及其他应让 Codex 使用已连接工具 而不是编辑代码库的对话。
Chats 使用位于你的 Codex 主目录下、由 Codex 管理的 threads 目录作为其工作位置。
默认情况下,该位置为 ~/.codex/threads。
Memories
在可用时,Memories 允许 Codex 将过去任务中的有用上下文 带入未来的线程中。它们最适合用于稳定的偏好、项目约定、重复性工作模式以及已知陷阱, 否则这些内容往往需要反复说明。
通知
默认情况下,当任务完成或在 app 位于后台时需要审批时,Codex app 会发送通知。
在 Codex app 设置中,你可以选择从不发送通知,或始终发送通知,即使 app 当前处于聚焦状态。
保持电脑唤醒
由于你的任务可能需要一段时间才能完成,你可以在 app 设置中启用 “Prevent sleep while running” 开关, 让 Codex app 阻止你的电脑进入睡眠状态。