主题
24 - Codex 桌面应用配置与并行工作流
这篇是 Codex 配置速查。它不是把 Claude Code 的配置换个名字重讲一遍,而是把 Codex app 的项目、工作树、技能、插件、MCP、自动化和权限边界放到同一张图里。
Codex app 的核心价值是同时推进多个线程。你可以在一个桌面应用里管理多个项目,让不同线程在 Local、Worktree 或 Cloud 模式下执行,再用 Git、终端、浏览器预览和自动化能力做验收。
先理解三个运行模式
| 模式 | 适合场景 | 风险边界 |
|---|---|---|
| Local | 小改动、明确修复、当前工作区就是唯一上下文 | 会直接改当前项目目录 |
| Worktree | 并行试验、长任务、多个 Agent 同时改同一仓库 | 改动隔离在 Git worktree,适合最后人工合并 |
| Cloud | 远程环境、后台任务、需要脱离本机继续跑 | 依赖已配置的云环境和仓库权限 |
如果一个仓库里有多个差异很大的 app 或 package,不要全塞进一个项目。把它们拆成独立 Codex project,沙箱边界更清楚,线程切换也更干净。
设置页优先看这些
| 设置入口 | 配置重点 | 实战建议 |
|---|---|---|
| General | 文件打开方式、命令输出、终端默认行为 | 日常保持安静,调试时再展开详细输出 |
| Agent configuration | 审批、沙箱、模型、MCP、Hooks 等 | 常用项在 UI 配;高级项写 config.toml |
| Git | 分支命名、提交、PR 描述 | 让 Codex 起草,但提交和推送前看 diff |
| Integrations & MCP | 外部工具连接 | 只接当前工作流需要的系统 |
| Browser use | 内置浏览器、Browser plugin、允许/阻止站点 | 本地 Web 验收优先用内置浏览器;登录态场景再考虑 Chrome |
| Computer Use | 桌面应用控制 | 只给窄任务,不给宽泛目标 |
| Personalization | 语气、自定义说明 | 个人偏好放这里,项目规则放 AGENTS.md |
| Memories | 跨线程记忆 | 只让它记稳定偏好,不依赖它保存项目事实 |
配置文件怎么放
Codex 的本地状态默认在 ~/.codex。常见文件包括:
~/.codex/config.toml:用户级配置,适合个人默认值、MCP、审批和沙箱策略。.codex/config.toml:项目级配置,只在受信项目中加载。AGENTS.md:项目长期说明,适合测试命令、代码规范、审查要求和目录约定。.agents/skills/<skill>/SKILL.md:仓库内技能,适合团队可复用流程。
项目级 .codex/config.toml 不应该承载私密凭证,也不能覆盖某些主机级、认证级和 provider 级设置。敏感值放用户级配置、环境变量或系统密钥管理。
一个保守的配置思路:
toml
# ~/.codex/config.toml
approval_policy = "on-request"
sandbox_mode = "workspace-write"
[sandbox_workspace_write]
network_access = false
[shell_environment_policy]
inherit = "core"
ignore_default_excludes = false这类配置让 Codex 可以在项目内工作,但联网和高风险动作仍需要你明确放行。
AGENTS.md、Skill、Plugin、MCP 的分工
| 你想解决的问题 | 用什么 |
|---|---|
| Codex 每次进仓库都要知道怎么安装、测试、提交 | AGENTS.md |
| 重复任务需要固定步骤和参考资料 | Skill |
| 想把多个 Skill 和工具连接分享给团队 | Plugin |
| 需要访问 GitHub、Figma、文档、浏览器、监控等外部系统 | MCP 或带 App 的 Plugin |
| 需要定时巡检、日报、周期性修复 | Automation |
| 需要在工具调用前后强制检查 | Hook |
Skill 是工作流作者格式。Plugin 是安装和分发单元。MCP 是外部能力连接。三者可以组合,但不要互相替代。
并行工作流
高效使用 Codex 的关键不是让一个线程跑得更快,而是把任务拆成可独立验收的线程。
- 建一个任务清单文件,写清目标、边界、验收标准和优先级。
- 每个项目建独立 Codex project。
- 对长任务使用 Worktree 线程。
- 发完一个明确提示就切到下一个项目。
- 回来只检查三件事:diff、测试输出、剩余风险。
- 偏航时用追加指令转向,不要等线程自然结束后再重开。
- 合并前统一跑测试、lint、代码审查和必要的手工验收。
Prompt 可以这样写:
text
在独立 worktree 中完成这个任务:修复登录页移动端布局。
边界:
- 只改 web app 下的登录页和相关样式
- 不引入新依赖
- 保持桌面布局不变
验收:
- 运行现有 lint 和相关测试
- 用本地浏览器检查 390px 和 1440px 两个宽度
- 最后汇报改动文件、验证命令和剩余风险安全清单
- 项目目录越小越好,不要让 Codex 默认访问整个主目录。
- API Key 不进仓库,不进项目级配置。
- 插件和 MCP 只装当前工作流需要的,装完看清权限。
- Browser use 适合本地页面和公开页面;需要账号 Cookie 的场景要区分 Chrome。
- Computer Use 会操作真实桌面应用,目标必须具体。
- 自动化先手动运行一次,确认输出和副作用后再定时。
- Worktree 不是免审查机制,合并前仍要看 diff。
最小落地路线
第一步:给核心仓库补 AGENTS.md。
md
# AGENTS.md
## Repository expectations
- 修改代码后运行 `npm run lint`。
- 涉及 UI 时检查移动端和桌面端。
- 不要提交 `.env`、token、密钥或本地缓存。
- PR 描述必须包含改动摘要、验证命令和风险。第二步:只接一个高频 MCP。例如项目重度依赖 Figma,就先接 Figma;重度依赖 GitHub issue,就先接 GitHub。
第三步:把重复三次以上的流程写成 Skill。等团队也要复用时,再打包成 Plugin。
第四步:给高风险点加 Hook。例如拦截密钥提交、禁止危险删除命令、在写前端文件后自动格式化。
参考
- OpenAI Codex manual:https://developers.openai.com/codex/codex-manual.md
- X 文章灵感来源:https://x.com/php_martin/status/2064975977860440439