Refinex DevHubRefinex DevHub
DocsBlogProjectsSitesChangelogAbout
Assistant
你好,我可以基于当前页面内容回答问题、提炼重点,或者告诉你下一步应该继续读什么。
  1. Docs›
  2. Codex App 深度指南:多智能体的指挥中心
Overview
Codex 全景:产品矩阵、模型演进与定价
安装与首次运行:5 分钟从零到第一次对话
核心概念精讲:Prompting、Sandboxing 与 Approval
Codex CLI 深度指南:终端中的编码智能体
Codex App 深度指南:多智能体的指挥中心
IDE Extension 深度指南:编辑器内的 AI 搭档
Codex Web/Cloud:云端异步任务与环境配置
AGENTS.md:让 Codex 真正理解你的项目
config.toml 深度配置指南
MCP 集成深度指南
Agent Skills 深度指南
Subagents:多智能体并行工作流
集成:GitHub、Slack、Linear
自动化与程序化控制:Non-interactive、SDK、App Server
Codex Security:仓库安全扫描与威胁建模
企业部署与团队治理
Prompting 高级指南:从 Cookbook 到实战模式
终极实战:构建 AI 编码团队
  1. Docs›
  2. Codex App 深度指南:多智能体的指挥中心

Codex App 深度指南:多智能体的指挥中心

Codex App 是专为多智能体并行工作设计的桌面客户端。与 CLI 的单线程交互不同,App 让你在一个窗口内同时管理多个项目、运行多条线程、配置后台自动化,并通过内置 Git 工具完成从编码到 PR 的完整闭环。

本篇将全面拆解 App 的每一项核心功能,帮助你把 Codex 从 "一个聊天窗口" 升级为 "编码团队的指挥中心"。

一、多项目管理:一个窗口,多个 Codebase

Codex App 支持在同一个窗口内添加多个项目(Project),每个项目对应一个代码仓库或目录。

最佳实践

如果你在一个 monorepo 中工作,建议将不同的 app / package 拆分为独立项目,这样每个项目的沙箱只包含相关文件,上下文更精准、执行更高效。

项目管理要点

操作说明
添加项目侧边栏点击 + 或 Cmd+O 打开文件夹
切换项目侧边栏点击项目名称即可切换
项目隔离每个项目拥有独立的线程列表、沙箱设置、Local Environment 配置
Skills 共享侧边栏 Skills 面板可浏览团队在不同项目中创建的技能

如果你用过 CLI,可以这样类比:一个 App 项目 ≈ 在某个目录下启动一次 codex 会话,但 App 允许你同时打开多个这样的"会话"。

二、线程模式:Local / Worktree / Cloud

每条线程(Thread)在创建时需要选择运行模式,这是 App 最核心的工作流决策之一:

模式运行位置适用场景是否隔离
Local当前项目目录(本地)需要直接修改工作区文件;前台交互任务❌ 直接修改当前文件
WorktreeGit Worktree 副本(本地)需要隔离的并行任务;后台探索性工作✅ 独立工作树
Cloud远程云环境需要特定云端配置;不想占用本地资源✅ 完全独立

模式选择决策树

Mermaid
正在渲染 Mermaid 图表…
经验法则

Local 是"前台",Worktree 是"后台"。当你想一边自己编码一边让 Codex 在旁边跑任务时,永远选 Worktree。

三、Worktree 工作流:Git Worktree 隔离并行任务

Worktree 是 App 实现多智能体并行的基石。它利用 Git 的 worktree 机制为每条线程创建一份独立的文件副本,所有变更互不干扰。

3.1 Worktree 基本概念

术语含义
Local checkout你原始的本地仓库,即 git clone 创建的那个目录
Worktree从 Local checkout 创建的 Git worktree,共享 .git 元数据但拥有独立文件
Handoff在 Local 和 Worktree 之间移动线程的操作,Codex 自动处理底层 Git 操作
Codex-managed worktreeCodex 自动创建的临时 worktree,默认保留最近 15 个
Permanent worktree通过项目三点菜单手动创建的长期 worktree,不会被自动删除

3.2 创建 Worktree 线程

1
新建线程

在 Composer 下方选择 Worktree

2
选择起始分支

可选 main、feature 分支,甚至包含未提交变更的当前分支

3
(可选)选择 Local Environment

为 worktree 自动运行依赖安装等脚本

4
提交 Prompt

Codex 创建 worktree 并以 detached HEAD 状态开始工作

3.3 两种 Worktree 工作路径

路径 A:完全在 Worktree 中完成

适合 worktree 中已安装好依赖(通过 Local Environment setup script),可以直接验证和提交:

  1. Codex 在 worktree 中完成编码
  2. 点击 Create branch here 将 detached HEAD 转为命名分支
  3. Commit → Push → 在 App 内直接创建 PR
  4. 使用 Open 按钮在 IDE 中打开 worktree 目录进一步检查

路径 B:Handoff 回 Local

适合需要在你日常的 IDE 环境和开发服务器中验证变更:

  1. Codex 在 worktree 中完成编码
  2. 点击线程头部的 Hand off → 移动到 Local
  3. 在你的本地 IDE 和开发环境中审查、测试
  4. 如果需要 Codex 继续后台工作,可以再次 Hand off 回 Worktree
Git 分支限制

Git 不允许同一分支同时在两个 worktree 中 checkout。如果你在 worktree 上创建了 feature/a 分支,就无法在 Local 中 checkout 同一分支。解决方案是使用 Handoff 而非手动 git checkout。

3.4 何时用 Worktree vs Local

场景推荐模式原因
让 Codex 修 bug,自己同时写另一个功能Worktree避免文件冲突
同时跑 3 条线程探索不同技术方案Worktree每条线程独立隔离
需要实时看到文件变更并手动调试Local直接修改可立即反映
快速原型:就改几行代码Local无需隔离开销
自动化(Automations)任务Worktree后台运行不干扰工作区

3.5 多智能体并行编码最佳实践

  1. 每条线程一个聚焦任务 — 不要在一条线程里塞多个不相关的需求
  2. 为并行线程选择 Worktree — 确保互不干扰
  3. 善用 Local Environment — 为 worktree 配置 setup script,确保依赖自动安装
  4. 定期清理 — Archive 完成的线程,Codex 会自动清理对应的 worktree
  5. 用 Skills 统一规范 — 多条线程引用相同的 Skill 可确保编码风格一致

3.6 Worktree 磁盘管理

Worktree 默认存放在 $CODEX_HOME/worktrees,每个 worktree 包含完整的文件副本和依赖,会占用不少磁盘空间。

  • 自动清理:Codex 默认保留最近 15 个 Codex-managed worktree
  • 不会被自动删除的:pinned 线程的 worktree、运行中的线程、permanent worktree
  • 快照恢复:删除前 Codex 会保存快照,重新打开线程时可选择恢复
  • 调整上限:在 Settings 中修改保留数量或关闭自动删除

四、内置 Git 工具:从 Diff 到 PR

App 内置了完整的 Git 工作流,无需切换到终端或外部 Git 客户端。

4.1 Diff 面板

通过 Cmd+Option+B 切换 Diff 面板,它反映的是 Git 仓库的真实状态——不仅是 Codex 的变更,还包括你自己手动修改的文件和所有未提交变更。

查看范围可切换为:

  • Uncommitted changes(默认)— 所有未提交的变更
  • All branch changes — 与 base branch 的完整 diff
  • Last turn changes — 仅最近一轮 Codex 的变更
  • Unstaged / Staged — 在 Local 模式下可切换

4.2 内联评论(Inline Comments)

直接在 Diff 中对特定行留下反馈,Codex 能精准理解上下文:

  1. 打开 Review 面板
  2. 悬停在目标行 → 点击出现的 + 按钮
  3. 写下你的修改意见并提交
  4. 完成所有评论后,回到线程发送消息(如 "Address the inline comments")

4.3 Stage / Revert

在 Review 面板中可以在三个粒度上操作:

粒度操作
整个 Diff顶部 Stage all / Revert all
单个文件文件级 Stage / Unstage / Revert
单个 Hunk代码块级 Stage / Unstage / Revert

4.4 Commit、Push 与创建 PR

对于 Local 和 Worktree 线程,你可以直接在 App 内:

  • Commit 已暂存的变更
  • Push 到远程仓库
  • Create Pull Request — 直接在 GitHub 上创建 PR
Git 设置

在 Settings → Git 中,你可以自定义分支命名规则、是否允许 force push,以及让 Codex 自动生成 commit message 和 PR description 的 prompt。

五、Automations(自动化)

Automations 是 App 独有的功能——让 Codex 在后台定时或按触发条件自动执行任务,结果放入 Inbox 供你审阅。

5.1 工作原理

  • 自动化在 Codex App 运行时后台执行(App 需要保持打开)
  • 对于 Git 仓库,可选择在 Local 或 Worktree 中运行
  • 结果分为两类:有发现(进入 Triage 收件箱)或无发现(自动归档)
  • 可自定义模型和推理力度(reasoning effort),或使用默认值

5.2 自动化 + Skills 组合

使用 $skill-name 语法在自动化中显式调用 Skill:

Text
Run $recent-code-bugfix on recent commits and report findings.

这使得自动化可以复用团队共享的 Skill 定义,保持一致性。

5.3 常见自动化场景

场景自动化 Prompt 示例推荐频率
近期 Bug 自动修复结合 $recent-code-bugfix skill 查找本人近一周引入的 bug每日一次
代码库变更周报总结过去一周的主要变更、新增 API、破坏性改动每周一次
自动创建新 Skills分析代码库并生成有用的新 Skill 定义按需
CI/CD 失败分析检查最近的 CI 失败日志,分析根因并尝试修复每次构建失败后

5.4 自动化安全模型

自动化使用你的默认沙箱设置,需要特别注意权限:

沙箱模式自动化行为建议
Read-only修改文件、网络访问等操作会失败适合纯分析/报告类自动化
Workspace-write可修改工作区内文件,外部访问仍受限✅ 推荐,用 rules 白名单放行特定命令
Full accessCodex 可修改文件、运行任意命令、访问网络⚠️ 风险较高,建议降级为 workspace-write

自动化默认使用 approval_policy = "never"(除非管理员通过 requirements.toml 禁止)。

5.5 测试与维护建议

  1. 先手动测试 — 在普通线程中运行自动化的 Prompt,确认效果
  2. 审查前几次输出 — 刚调度的自动化,前几次运行要仔细检查
  3. 及时归档 — Archive 不需要的运行记录,若使用 Worktree 模式会同时清理磁盘
  4. 避免过高频率 — 频繁调度 + Worktree 模式 = 大量磁盘占用

六、Review 模式:App 内的代码审查

App 的 Review 功能基于 Git 仓库,提供可视化的代码审查体验。

6.1 触发方式

  • 在 Composer 中输入 /review
  • 或直接打开 Review 面板查看 Diff

6.2 审查范围

范围说明
Uncommitted changes默认视图,显示所有未提交变更
All branch changes与 base branch 的完整差异
Last turn changes仅 Codex 最近一轮的变更
Unstaged / StagedLocal 模式下可切换查看

6.3 审查工作流

  1. /review 触发 Codex 自动审查代码
  2. Codex 的审查意见以内联评论形式显示在 Diff 面板中
  3. 你可以对具体行添加自己的评论,补充修改要求
  4. 回到线程发送 "Address the inline comments" 让 Codex 修改
  5. 满意后 Stage → Commit → Push → Create PR
导航技巧

点击文件名可在外部编辑器中打开文件;按住 Cmd 点击具体行号可跳转到编辑器中的对应行。默认编辑器可在 Settings 中配置。

七、Local Environments:环境配置即代码

Local Environments 解决了一个关键问题:Worktree 是全新目录,缺少 node_modules 等未被 Git 追踪的依赖。

7.1 Setup Scripts(启动脚本)

当 Codex 创建新 Worktree 时自动执行的脚本,用于安装依赖和构建:

Text
npm install
npm run build
  • 配置路径:项目根目录 .codex/ 文件夹
  • 可区分平台:分别为 macOS / Windows / Linux 定义不同脚本
  • 可提交到 Git:团队成员共享相同的环境配置

7.2 Actions(快捷操作)

Actions 定义常用任务,显示为 App 顶栏的快捷按钮:

Action 名称脚本内容图标
Run Dev Servernpm start▶️
Run Testsnpm test🧪
Lintnpm run lint🔍
Buildnpm run build🔨
  • Actions 在 App 的集成终端中执行
  • 同样支持平台特定脚本
  • 每个 Action 可选择关联图标以便识别

八、Commands:键盘快捷键与斜杠命令

8.1 键盘快捷键

分类操作快捷键(macOS)
通用命令面板Cmd+Shift+P 或 Cmd+K
通用设置Cmd+,
通用打开文件夹Cmd+O
通用切换侧边栏Cmd+B
通用切换 Diff 面板Cmd+Option+B
通用切换终端Cmd+J
通用清空终端Ctrl+L
通用放大 / 缩小字体Cmd+= / Cmd+-
线程新建线程Cmd+N 或 Cmd+Shift+O
线程线程内搜索Cmd+F
线程上一个 / 下一个线程Cmd+Shift+[ / Cmd+Shift+]
线程语音输入Ctrl+M
快捷键注意

注意:Cmd+K 在 App 中打开的是命令面板而非清空终端。清空终端请使用 Ctrl+L。

8.2 Slash Commands

在 Composer 中输入 / 调出命令列表:

命令功能
/review启动代码审查,审查未提交变更或对比 base branch
/plan-mode切换计划模式,用于多步骤规划
/status显示线程 ID、上下文使用量和速率限制
/mcp查看已连接的 MCP 服务器状态
/feedback打开反馈对话框,可附带日志提交

此外,已启用的 Skills 也会出现在斜杠命令列表中。你也可以用 $skill-name 语法直接调用 Skill。

8.3 Deeplinks

Codex App 注册了 codex:// URL scheme,支持从外部直接打开特定功能:

Deeplink打开内容
codex://settings设置面板
codex://skillsSkills 面板
codex://automations自动化创建模式
codex://threads/<uuid>指定线程
codex://new?prompt=...&path=...新线程(可预填 prompt 和目录)

九、集成终端、浮动窗口、语音输入与 IDE 同步

9.1 集成终端

每条线程包含一个内置终端,作用域限定在当前项目或 Worktree 目录:

  • 切换:Cmd+J 或顶栏终端图标
  • 清空:Ctrl+L
  • Codex 可读取终端输出 — 它能查看运行中的 dev server 状态或失败的构建日志

常见用法:

Text
git status
git pull --rebase
npm test
npm run lint

9.2 浮动窗口(Pop-out Window)

将活跃的线程弹出为独立浮动窗口,可以拖到屏幕任意位置:

  • 非常适合前端开发:浮动窗口放在浏览器旁边,实时迭代
  • 支持 Always on top — 始终置顶显示

9.3 语音输入

按住 Ctrl+M(Composer 可见时)开始语音输入,松开后 Codex 自动转录。你可以编辑转录文本后再发送。

9.4 IDE 同步

如果你同时安装了 Codex IDE Extension,且 App 和 IDE 在同一个项目中:

  • 自动同步 — 两端自动建立连接
  • Auto context — App 自动追踪你在 IDE 中正在查看的文件,可以用 "What's this file about?" 这样的模糊引用
  • 线程互通 — App 中的线程在 IDE Extension 中可见,反之亦然
  • 开关控制 — 如果不确定 App 是否包含了 IDE 上下文,可以关闭 Auto context 后重新提问对比结果

十、设置详解

通过 Cmd+, 打开 Settings 面板。

10.1 设置分类总览

设置分类关键配置项
General文件打开方式、命令输出长度、Cmd+Enter 多行模式、防休眠
Notifications任务完成通知时机:从不 / 后台时 / 总是
Agent Configuration审批策略、沙箱模式 — 与 CLI / IDE Extension 共享 config.toml
Appearance主题选择、强调色 / 背景色 / 前景色、UI 字体 / 代码字体、可分享自定义主题
Git分支命名规则、force push 开关、commit message / PR description prompt
Integrations & MCPMCP 服务器管理(推荐服务器 / 自定义服务器),配置共享至 CLI 和 IDE
Personalization人格选择(Friendly / Pragmatic / None)、自定义指令(编辑 AGENTS.md)
Archived Threads已归档线程列表,可 Unarchive 恢复

10.2 审批与沙箱

审批与沙箱

审批(Approvals) 控制 Codex 何时暂停等待你的许可。你会看到 "approve once" 或 "approve for this session" 等选项——不确定时,选最窄的范围。

沙箱(Sandbox) 控制 Codex 可以访问哪些目录和网络。默认限定在当前项目范围内。如果任务需要跨仓库,建议开多个项目或使用 Worktree,而非放开沙箱。

10.3 防休眠

由于 Codex 任务可能运行较长时间,Settings 中提供了 "Prevent sleep while running" 开关——启用后 App 会阻止电脑进入休眠状态,确保后台线程和自动化不被中断。

十一、其他实用功能

图片输入

  • 拖拽图片到 Composer 作为上下文(按住 Shift 拖入)
  • 可以让 Codex 查看系统截图——结合截图工具,Codex 能验证前端 UI 的输出效果

Web 搜索

Codex 内置 Web 搜索工具:

  • Local 任务:默认使用搜索缓存
  • Full access 沙箱:默认使用实时搜索结果
  • 可在 config.toml 中禁用或切换搜索模式

MCP 支持

App、CLI、IDE Extension 共享 MCP 配置。在任一端配置的 MCP 服务器自动对其他端生效(配置存储在 config.toml 中)。

Windows 原生沙箱

在 Windows 上,Codex 可以原生运行在 PowerShell 中,使用 Windows 原生沙箱,无需 WSL 或虚拟机。

十二、实战工作流:从 Issue 到 PR 的完整闭环

以下是一个典型的多智能体并行工作流,展示如何利用 App 的各项功能完成一个真实的开发任务。

场景:同时修复 Bug 和开发新功能

1
Step 1 — 创建两条 Worktree 线程
  • 线程 A(修 Bug):选择 Worktree 模式,基于 main 分支
  • 线程 B(新功能):选择 Worktree 模式,基于 main 分支

两条线程独立运行,互不干扰。

2
Step 2 — 让 Codex 并行工作

线程 A 的 Prompt:

Text
Fix the authentication timeout bug in src/auth/session.ts.
The session expires after 5 minutes instead of 30.
Run the auth tests to verify the fix.

线程 B 的 Prompt:

Text
Implement the user profile avatar upload feature.
Add a new endpoint POST /api/users/avatar.
Include file validation (max 5MB, jpg/png only).
3
Step 3 — Review 代码

切换到线程 A,打开 Diff 面板审查修复:

  1. 查看变更 → 对不满意的行添加内联评论
  2. 回到 Composer 发送 "Address the inline comments and keep the fix minimal"
  3. Codex 修改后再次审查

同样切换到线程 B 审查新功能代码。

4
Step 4 — Handoff 到 Local 验证

如果需要在你的开发环境中手动测试:

  1. 在线程 A 中点击 Hand off → Local
  2. 在集成终端中运行 npm test
  3. 验证通过后,继续下一步
5
Step 5 — 提交与创建 PR
  1. Stage 满意的变更 → Commit → Push
  2. 在 App 内直接 Create Pull Request
  3. 线程 B 重复同样的流程

两个 PR 独立提交,互不影响。

十三、App 功能速查

App 核心能力速查
  • 多项目 → 一个窗口管理多个 Codebase,侧边栏切换
  • 三种线程模式 → Local(前台)/ Worktree(后台隔离)/ Cloud(远程)
  • Worktree → Git Worktree 隔离 + Handoff 双向切换
  • 内置 Git → Diff 面板 + 内联评论 + Stage/Revert + Commit/Push/PR
  • Automations → 后台定时任务 + Skills 组合 + Triage 收件箱
  • Review → /review 自动审查 + 内联评论反馈
  • Local Environments → Setup scripts + Actions 快捷按钮
  • Commands → 键盘快捷键 + Slash 命令 + Deeplinks
  • 集成终端 → Cmd+J,Codex 可读取输出
  • 浮动窗口 → Pop-out + Always on top
  • 语音输入 → Ctrl+M 按住说话
  • IDE 同步 → 自动同步 + Auto context + 线程互通
  • 设置 → 审批 / 沙箱 / 通知 / 防休眠 / 主题 / Git / MCP
← 上一篇
下一篇 →
一、多项目管理:一个窗口,多个 Codebase项目管理要点二、线程模式:Local / Worktree / Cloud模式选择决策树三、Worktree 工作流:Git Worktree 隔离并行任务3.1 Worktree 基本概念3.2 创建 Worktree 线程3.3 两种 Worktree 工作路径路径 A:完全在 Worktree 中完成路径 B:Handoff 回 Local3.4 何时用 Worktree vs Local3.5 多智能体并行编码最佳实践3.6 Worktree 磁盘管理四、内置 Git 工具:从 Diff 到 PR4.1 Diff 面板4.2 内联评论(Inline Comments)4.3 Stage / Revert4.4 Commit、Push 与创建 PR五、Automations(自动化)5.1 工作原理5.2 自动化 + Skills 组合5.3 常见自动化场景5.4 自动化安全模型5.5 测试与维护建议六、Review 模式:App 内的代码审查6.1 触发方式6.2 审查范围6.3 审查工作流七、Local Environments:环境配置即代码7.1 Setup Scripts(启动脚本)7.2 Actions(快捷操作)八、Commands:键盘快捷键与斜杠命令8.1 键盘快捷键8.2 Slash Commands8.3 Deeplinks九、集成终端、浮动窗口、语音输入与 IDE 同步9.1 集成终端9.2 浮动窗口(Pop-out Window)9.3 语音输入9.4 IDE 同步十、设置详解10.1 设置分类总览10.2 审批与沙箱10.3 防休眠十一、其他实用功能图片输入Web 搜索MCP 支持Windows 原生沙箱十二、实战工作流:从 Issue 到 PR 的完整闭环场景:同时修复 Bug 和开发新功能十三、App 功能速查