内容

Codex App 基础配置教程:新手安装后必做的设置

发布时间: 2026-07-22 · 更新于: 2026-07-22

本文面向刚开始使用 Codex 的新手,按照 ChatGPT 桌面端的设置顺序,系统讲解批准策略、沙盒权限、模型与推理强度、自定义指令、AGENTS.md、记忆、插件、MCP、Skill、钩子、工作树等核心功能,并给出一套兼顾安全、效率与可操作性的推荐配置。

最近OpenAI 全量开放了 GPT-5.6,同时将原本独立的 Codex 应用整合进 ChatGPT 桌面软件。

现在,ChatGPT 桌面端主要包含三个视图:

  • Chat
  • Work
  • Codex

旧版桌面软件则更名为 ChatGPT Classic。

这意味着 Codex 的使用门槛已经大幅降低:安装 ChatGPT 桌面端后,就可以直接使用 Codex。

不过,很多人安装完成后,通常会遇到两个问题:

  1. 一直使用默认设置,不知道哪些选项需要调整;
  2. 从网上复制一份别人的配置,却不知道每一项到底有什么作用。

这篇教程将按照设置界面的顺序,依次讲解:

  1. 配置
  2. 个性化
  3. AGENTS.md
  4. 记忆
  5. 插件、MCP 与 Skill
  6. 编码环境
  7. 钩子
  8. 工作树
  9. 常见问题

内容主要基于 OpenAI 官方文档,以及我在自己的电脑上持续使用数月后的实际经验。

一、配置:决定 Codex 能做什么

打开 ChatGPT 设置,在左侧的“个人”分组中找到“配置”。

它的副标题是:

配置审批策略和沙盒设置。

这一页决定了两个最重要的问题:

  • Codex 可以操作到什么程度;
  • Codex 在执行操作之前,是否需要先询问你。

从实际使用体验来看,这两项设置通常比模型选择更重要。

1. 批准策略

批准策略决定 Codex 在执行命令之前,什么时候需要向你申请授权。

界面中主要有四个选项。

新手推荐

建议选择:

按请求 on-request

它在安全性和操作效率之间相对平衡。

Codex 会自行判断哪些操作需要确认,不会每一步都弹出授权,也不会完全放开权限。

2. 沙盒设置

沙盒设置决定 ChatGPT 执行命令时,可以操作多大的范围。

界面上的说明是:

选择 ChatGPT 运行命令时可执行的操作范围。

新手推荐

建议选择:

工作区可写 workspace-write

这样 Codex 可以正常修改当前项目,又不会轻易影响项目目录之外的文件。

“完全访问”虽然操作自由度最高,但也意味着 Codex 可以访问整台机器。是否开启,需要根据你对权限风险的接受程度自行判断。

简单来说,这个选项决定的是:

你愿意让一个统计模型在自己的电脑上拥有多大的操作权限。

3. 模型、推理强度与速度

这三项不在设置页面中,而是在对话框上方的模型控制区域。

点击模型名称后即可调整。

3.1 模型

GPT-5.6 提供了三个档次:

这三个名称主要代表能力和成本档次,而不是分别适合不同任务方向。

3.2 推理强度

推理强度下拉菜单中会出现多个档位,例如:

  • 轻度
  • 极高
  • 极高

中文界面里可能会出现两个“极高”。

第二个“极高”下面会显示一行提示:

更快消耗使用额度。

这并不一定是界面错误。

官方配置参考页中列出的合法值包括:

GPT-5.6 发布后又增加了一个 max 档位。中文界面将 xhighmax 都翻译成了“极高”,因此需要通过下面的小字进行区分。

日常使用建议

不建议刚开始使用时就把推理强度拉到最高。

对于以下任务:

  • 日常写代码
  • 查找资料
  • 修改文案
  • 普通问答
  • 排查常见错误

使用“中”或“高”通常已经足够。

“极高”更适合真正复杂、需要长时间推理的问题。

3.3 速度模式

速度通常分为两档:

  • 标准
  • 快速

根据界面说明,快速模式可以提高响应速度,但会以更快的倍率消耗额度。

需要注意:

使用 API Key 登录时,通常无法使用快速模式。

这种情况下会按照标准 API 方式计费,不存在单独的“快速模式额度”。

4. 可用推理强度

继续向下,可以看到“模型功能”区域,其中有一项:

可用推理强度

它的作用不是决定你实际能够使用哪些推理档位,而是决定:

哪些档位会出现在模型控制菜单中。

例如,如果你经常误触最高档位,可以在这里把不常用的推理强度隐藏掉。

这样不仅能简化菜单,也能减少误操作。

5. 工作空间依赖项

配置页面底部有“工作空间依赖项”区域,通常包含三个功能。

Codex 依赖项

允许 ChatGPT 安装并提供自带的 Node.js 和 Python 工具。

建议保持开启。

诊断 Codex 工作空间中的问题

用于检查当前工具包,并生成诊断日志。

当 Codex 出现命令无法执行、工具加载失败等问题时,建议先运行诊断。

重置并安装工作空间

它会删除本地工具包,重新下载并加载相关工具。

页面中的红色“重新安装”按钮,可以理解为 Codex 工作空间的最后修复手段。

建议遵循这个顺序:

  1. 先运行诊断;
  2. 查看是否能定位问题;
  3. 诊断无法解决时,再考虑重新安装。

6. 自定义 config.toml

配置页面顶部通常会有:

  • 打开 config.toml
  • 用户配置

如果刚开始使用 Codex,不建议立刻修改 config.toml

原因是,大部分常用选项已经可以直接通过界面设置。界面设置即使改错,也能很容易切换回来。

config.toml 中包含大量配置项。部分配置即使填写错误,也不一定直接报错,而可能只是让 Codex 表现异常,增加排查难度。

什么时候需要修改 config.toml

主要有两种情况:

  1. 需要配置界面中没有提供的功能,例如钩子;
  2. 需要在多台电脑之间同步同一套配置。

如果暂时没有这两类需求,建议先不要修改。

二、个性化:决定 Codex 如何与你交流

设置页面中,“配置”下面通常就是“个性化”。

这一页主要包含三个部分:

  1. 个性
  2. 自定义指令
  3. 记忆

页面顶部可能会出现提示:

并非所有模型都支持个性设置。可在自定义指令中调整 Codex 的语气。

1. 个性

“个性”是一个下拉选项,用于设置 ChatGPT 默认的回复语气。

例如可以选择:

务实

不过,这项设置能够调整的内容相对有限,而且并不是所有模型都会严格响应。

真正决定 Codex 做事方式和回复习惯的,通常是下面的“自定义指令”。

2. 自定义指令

界面说明通常是:

为此主机上的所有任务向 ChatGPT 提供额外说明和上下文。

这里最重要的是理解“此主机上的所有任务”。

这意味着,自定义指令通常作用于你在这台机器上的所有项目,而不是某一个单独项目。

因此,自定义指令中应该放置跨项目都适用的方法和习惯,而不应该写某个项目独有的信息。

3. 自定义指令和 AGENTS.md 的区别

可以用一句话区分:

自定义指令负责“怎么做事”,AGENTS.md 负责“这个项目是什么情况”。

适合放进自定义指令的内容

  • 始终使用中文回复;
  • 动手前先说明关键假设;
  • 修改代码时只改与需求相关的部分;
  • 不要额外增加用户没有要求的功能;
  • 完成后说明修改了哪些内容。

这些要求跨项目通常都成立。

适合放进 AGENTS.md 的内容

  • 这个项目使用 pnpm
  • 提交前必须运行 lint
  • src/generated/ 目录禁止手动修改;
  • API 路径统一使用 /api/v1/
  • 项目使用什么构建命令和测试命令。

这些内容只对当前项目成立。

4. 自定义指令的推荐结构

一份实用的自定义指令,可以围绕四部分组织:

  1. 怎么思考;
  2. 怎么修改;
  3. 如何控制改动范围;
  4. 完成后如何汇报。

例如:

为什么可以用英文写指令

正文使用英文,第一行要求中文回复,通常有两个好处:

  1. 模型对英文指令的遵循相对稳定;
  2. 可以减少一部分 Token 消耗。

第一行:

可以保证最终仍然使用中文与你交流。

5. 一个常见误区

很多人会从网上找到一份几十行的 AGENTS.md,然后整体复制到自定义指令中。

这种做法的问题是:

它把通用方法和具体项目事实混在了一起。

例如,一份别人项目中的说明可能包含:

  • 特定目录结构;
  • 特定包管理器;
  • 特定测试命令;
  • 特定构建流程;
  • 特定文件禁止修改。

将这些内容放入全局自定义指令后,它们会影响你的每一个项目。

第一个项目可能暂时没有明显问题,但到了第二个项目,不同项目之间的规则就可能互相冲突。

因此,建议遵循以下原则:

  • 通用做事方式放入自定义指令;
  • 项目环境事实放入 AGENTS.md。

三、AGENTS.md:给项目单独制定规则

AGENTS.md 不一定出现在设置页面中,但它与自定义指令密切相关,因此需要单独说明。

它是放在项目目录中的 Markdown 文件,用来告诉 Codex:

在这个项目中工作时,需要遵守哪些规则。

1. AGENTS.md 应该写什么

官方列出的内容主要包括:

  • 构建命令;
  • 测试命令;
  • 代码审查要求;
  • 仓库特定约定;
  • 目录级指令。

最重要的建议是:

尽量写短。

因为 Codex 每次启动会话时,都需要读取相关的 AGENTS.md。

即使你只是修改一个错别字,它也可能重新读取其中的全部内容。写得越长,占用的上下文就越多。

通常,二十行以内已经足够覆盖最重要的信息。

2. 最小 AGENTS.md 示例

这份文件已经包含了:

  • 启动方式;
  • 测试方式;
  • 项目规范;
  • 禁止操作的目录和文件。

对于多数项目而言,已经足够实用。

3. Codex 如何查找 AGENTS.md

Codex 会从项目根目录开始,一层一层向当前工作目录查找规则文件。

在每一层目录中,它通常按照以下顺序选择文件:

  1. AGENTS.override.md
  2. AGENTS.md
  3. project_doc_fallback_filenames 中指定的备用文件名

其中,AGENTS.override.md 的优先级最高。

它适合用于临时覆盖现有规则。

例如,你希望临时使用一套不同的测试方式,又不想修改正式的 AGENTS.md,就可以添加一个 AGENTS.override.md

Codex 找到的规则会按照目录层级进行组合:

  • 越靠近项目根目录的规则越基础;
  • 越靠近当前工作目录的规则优先级越高;
  • 下层目录中的规则可以覆盖上层规则。

4. 与 CLAUDE.md 共用规则时的注意事项

如果你同时使用 Claude Code,项目中可能已经存在 CLAUDE.md

有些教程会建议在配置中加入:

但这里需要注意:

备用文件只会在当前目录没有 AGENTS.md 时使用。

它并不是让 Codex 同时读取 AGENTS.mdCLAUDE.md

如果同一层目录中已经存在 AGENTS.md,Codex 就可能不会继续读取 CLAUDE.md

因此,如果希望两套工具真正共用一份规则,最稳妥的方式通常是:

只保留一份实际规则文件,并让另一套工具通过备用机制读取它。

不要同时保留两份内容相似却分别维护的文件,否则很容易出现修改了一份、另一份没有同步的问题。

5. 把 AGENTS.md 当作反馈循环

不需要一开始就写出一份“完美”的 AGENTS.md。

更实用的方式是:

  1. 先使用 Codex;
  2. 观察它对项目做出了哪些错误假设;
  3. 当场纠正;
  4. 让 Codex 将纠正内容补充进 AGENTS.md;
  5. 后续会话继续使用这条规则。

例如,Codex 错误地修改了自动生成目录,你可以告诉它:

src/generated/ 是自动生成目录,以后不要手动修改。请把这条规则写进 AGENTS.md。

经过几轮实际使用后,AGENTS.md 会逐渐形成。

这种方式比一次性复制一份几十行的通用模板更有效,因为文件中的每一条规则都有明确来源。

四、记忆:让 Codex 保留跨任务信息

个性化页面中通常还有一个“记忆”区域,并标注为实验性功能。

常见选项包括:

  1. 启用记忆;
  2. 允许从工具辅助任务生成记忆;
  3. 重置记忆。

1. 启用记忆

开启后,ChatGPT 可以从当前任务中提取部分信息,并在新任务中继续使用。

适合保存的内容通常包括:

  • 稳定的交流偏好;
  • 长期项目背景;
  • 经常使用的工作方式;
  • 持续性的目标和约束。

2. 允许从工具辅助任务生成记忆

这一项决定:

使用 MCP 工具或网页搜索完成的任务,是否也可以生成记忆。

开启后,系统可能更容易理解你的长期工作环境。

但如果你担心从网页中检索到的信息被错误地当成长期事实,也可以关闭这一选项。

3. 重置记忆

重置记忆会删除 ChatGPT 已经保存的记忆内容。

当你发现系统持续引用过时信息,或者想重新建立一套干净的使用习惯时,可以考虑重置。

记忆文件通常保存在:

官方更建议将这个目录视为程序自动生成的状态。

你可以在排查问题时查看它,但不建议将手动编辑这个目录作为主要控制方式。

记忆也不一定会在每个任务结束后立刻写入。

系统通常会等待任务空闲一段时间,以避免把仍在进行中的工作提前总结成结论。

当可用额度低于一定阈值时,系统也可能跳过后台记忆整理,以减少额外消耗。

五、插件、应用、MCP 与 Skill

在设置中的“集成”分组下,可以找到“插件”页面。

副标题通常是:

管理插件、技能和 MCP。

页面顶部会将几种不同能力放在一起展示,但它们的作用并不相同。

1. 插件

插件可以理解为 Codex 的能力开关。

常见插件可能包括:

  • Documents
  • PDF
  • Spreadsheets
  • Presentations
  • Template Creator
  • Browser
  • Chrome
  • Computer Use
  • Visualize

例如:

  • 关闭 Chrome 后,Codex 将无法操作浏览器;
  • 关闭 Computer Use 后,Codex 将无法操作电脑上的其他应用;
  • 关闭 PDF 后,相关 PDF 处理能力可能无法使用。

新手建议

刚开始使用时可以先全部开启。

通常没有任务需要时,插件不会主动运行。

如果比较在意权限,可以优先考虑关闭:

  • Computer Use
  • Chrome

因为这两类插件的操作范围通常更大。

2. 应用

“应用”主要用于连接外部服务。

连接完成后,Codex 可以在获得授权的情况下访问对应服务中的内容。

具体能使用哪些应用,取决于账号、版本和当前开放范围。

3. MCP

MCP 是一种让 Codex 连接外部工具的协议。

在桌面软件中添加 MCP 服务器时,通常需要:

  1. 打开 MCP 页面;
  2. 点击添加服务器;
  3. 选择连接类型;
  4. 填写命令或服务器地址;
  5. 保存配置;
  6. 重启 Codex。

常见连接方式包括:

  • STDIO
  • Streamable HTTP

配置完成后,可以在对话中输入:

查看当前已经连接的 MCP 服务。

4. Skill 技能

Skill 是针对某类任务预先定义的工作能力。

例如,一个 Skill 可以专门处理:

  • PDF 排版;
  • 代码审查;
  • 数据分析;
  • 演示文稿;
  • 项目初始化;
  • 某类固定工作流程。

但技能并不是装得越多越好。

5. 为什么技能过多反而可能降低命中率

Codex 启动时,并不会立刻读取每一个 Skill 的完整正文。

它最先读取的通常只有:

  • Skill 名称;
  • 一句话描述;
  • 文件路径。

当某个任务可能需要对应 Skill 时,才会进一步打开完整内容。

这种机制可以理解为“渐进式披露”。

但技能目录可以使用的上下文空间是有限的。

原文所述规则是:

  • 技能清单最多占用模型上下文窗口的一定比例;
  • 窗口未知时,会按照固定字符预算处理;
  • 技能过多时,系统会先压缩描述;
  • 如果技能集合仍然过大,部分技能可能被省略;
  • 被省略的技能,模型在当前会话中可能根本不知道其存在。

因此,技能太多时出现的情况未必是:

模型看见了所有技能,却选错了。

也可能是:

目标技能根本没有进入初始清单。

所以 Skill 的名称和描述并不是装饰,而是决定它能否被正确识别的重要信息。

实际建议

  • 只保留经常使用的技能;
  • 删除重复或作用相近的技能;
  • 给技能使用清晰、具体的名称;
  • 描述中明确说明它适合解决什么问题;
  • 不要为了“看起来功能多”而安装大量无关技能。

6. Skill 的存放位置

Skill 通常可以放在项目级或用户级目录中。

项目级:

用户级:

创建或修改后,通常需要重启 Codex 才会重新加载。

两者的区别

项目级 Skill:

  • 只服务当前项目;
  • 可以跟随仓库一起管理;
  • 适合项目专属流程。

用户级 Skill:

  • 可以被多个项目使用;
  • 适合通用工作能力;
  • 更适合个人长期维护。

六、编码环境:决定 Codex 在哪里工作

设置中的“编码”分组通常包含:

  • 钩子
  • 连接
  • Git
  • 环境
  • 工作树

其中,对新手影响较大的主要是:

  1. 钩子;
  2. 环境;
  3. 工作树。

七、钩子:让特定规则强制执行

钩子页面可能默认显示:

未找到钩子,已配置的钩子将显示在此处。

需要注意的是:

这一页通常只负责展示钩子,不负责直接创建钩子。

钩子需要写入配置文件。

常见位置包括:

1. 钩子和提示词有什么区别

提示词表达的是:

请模型按照这个要求做。

钩子表达的是:

到了这个时间点,必须执行指定脚本。

因此,钩子的结果通常更加确定。

例如,可以使用钩子扫描用户提交的提示词,防止团队成员不小心把 API Key、密码或其他敏感信息粘贴进去。

2. 常见触发时机

3. 使用钩子时的注意事项

钩子可能会直接阻止某项操作。

例如,Codex 准备删除文件时,被安全钩子拦截,本轮任务就可能不再继续执行。

如果配置钩子后出现“Codex 突然不动了”的情况,应优先检查:

  • 钩子是否返回了阻止结果;
  • 命令类型是否正确;
  • 是否配置了不支持的异步方式;
  • 标准输出格式是否符合要求;
  • 脚本是否超时。

八、环境与工作树

“环境”页面通常会显示项目列表,每个项目后面可以进行添加或配置。

将项目添加到环境后,Codex 才能知道:

  • 应该在哪个目录中工作;
  • 是否需要单独创建代码副本;
  • 使用本地、工作树还是云端运行。

1. 三种运行位置

本地

Codex 直接在当前项目目录中工作。

优点:

  • 直接;
  • 修改立即生效;
  • 不需要额外复制代码。

风险:

  • 修改会直接作用于主项目;
  • 错误操作可能污染当前工作目录。

工作树

Codex 使用 Git 创建一份独立代码副本,在副本中工作。

优点:

  • 主目录不受直接影响;
  • 便于检查差异;
  • 出现问题时更容易撤销;
  • 适合自动任务和较大修改。

对于日常写代码,工作树通常是更稳妥的选择。

云端

Codex 在远程环境中运行任务。

它更适合:

  • 本地资源有限;
  • 需要独立运行环境;
  • 需要远程执行;
  • 不希望直接占用本机资源。

2. 为什么定时任务更适合使用工作树

定时任务运行时,你不一定会一直盯着执行过程。

如果任务直接操作主目录,一旦出现异常,可能会:

  • 修改不该修改的文件;
  • 留下未完成的代码;
  • 破坏当前开发状态;
  • 与你正在进行的工作发生冲突。

因此,定时任务尤其建议使用工作树。

即使执行出现问题,也不会直接污染主项目目录。

九、新手推荐配置

如果刚刚安装 Codex,不知道应该怎么设置,可以先使用下面这套相对稳妥的方案。

这套配置的核心思路是:

先保证安全、稳定和可控,再根据实际问题逐步增加权限和复杂配置。

十、常见问题

1. AGENTS.md 是不是写得越完整越好?

不是。

Codex 在启动会话时需要读取相关规则文件。

AGENTS.md 写得越长,占用的上下文就越多。即使只是修改一个小问题,也可能读取整份文件。

通常二十行以内已经足够。

只保留真正影响项目执行的规则。

2. 能不能把 AGENTS.md 整体复制到自定义指令?

不建议。

AGENTS.md 中通常包含项目专属信息,例如:

  • 构建命令;
  • 包管理器;
  • 项目路径;
  • 禁止修改的目录;
  • 测试流程。

放进全局自定义指令后,这些规则会影响其他项目。

正确方式是:

  • 通用方法放入自定义指令;
  • 项目事实放入 AGENTS.md。

3. Skill 是不是装得越多越强?

不是。

Codex 最开始只会读取技能的名称、描述和路径。

技能数量过多时,描述可能被压缩,部分技能甚至可能不会出现在初始清单中。

被省略的技能,模型可能不知道它存在。

因此,更合理的做法是保留少量高质量、名称清晰、描述准确的技能。

4. 为什么全局配置设置后没有生效?

项目目录中可能存在:

项目级配置可能覆盖用户级或全局配置。

遇到这种情况,应检查当前项目及上级目录中是否存在单独的 .codex 配置。

5. 为什么钩子写了却没有反应?

可以重点检查以下问题:

  1. 类型是否配置为正确的命令类型;
  2. 是否使用了不支持的异步方式;
  3. 是否向标准输出写入了不符合格式的纯文本;
  4. 脚本是否执行超时;
  5. 钩子文件路径是否正确;
  6. 修改配置后是否重启 Codex。

6. 定时任务在哪里创建?

根据原文所述,定时任务需要在:

  • ChatGPT 桌面软件;
  • ChatGPT 网页版;

中创建。

命令行和 IDE 插件中不能直接创建。

7. Codex 突然无法运行命令怎么办?

按照下面的顺序排查:

  1. 打开“设置”;
  2. 进入“配置”;
  3. 找到“工作空间依赖项”;
  4. 点击“诊断 Codex 工作空间中的问题”;
  5. 根据日志检查错误;
  6. 诊断无法解决后,再点击“重新安装工作空间”。

不要一出现问题就立刻重装,先诊断通常更容易找到真实原因。

十一、结语

Codex 的配置不需要一次性全部完成。

大多数实用设置,都是在实际使用中遇到问题后逐渐调整出来的。

如果你刚刚安装,建议先这样设置:

  • 批准策略选择“按请求”;
  • 沙盒选择“工作区可写”;
  • 推理强度选择“中”或“高”;
  • 项目使用工作树;
  • 暂时不要修改 config.toml
  • AGENTS.md 只写最重要的项目规则;
  • Skill 不要一次安装太多。

然后直接开始使用。

等使用一到两周,遇到具体问题后,再回来调整对应设置。

这种方式通常比一开始复制一套复杂配置更加稳定,也更容易理解每个选项真正解决的是什么问题。

界面名称配置文件值实际行为不信任untrusted除已知安全的只读命令外,执行其他操作都会询问失败时on-failure先在沙盒内运行,失败后再询问是否提权按请求on-request由模型判断什么时候需要询问,默认选项从不never从不主动询问界面名称配置文件值权限范围只读read-only只能查看文件,不能修改工作区可写workspace-write可以修改当前项目目录完全访问danger-full-access不使用沙盒,可以操作整台电脑模型定位Sol综合能力最强Terra成本较低,同时保持较强能力Luna第三档选择触发时机含义SessionStart会话开始时UserPromptSubmit用户提交内容后、模型读取前PreToolUse调用工具前PermissionRequestCodex 申请权限时PostToolUse工具调用完成后PreCompact压缩上下文前PostCompact压缩上下文后SubagentStart子代理开始工作时SubagentStop子代理结束工作时Stop当前任务结束时项目推荐设置批准策略按请求沙盒设置工作区可写推理强度中或高速度标准Codex 依赖项开启记忆根据个人需求开启插件初期可全部开启Computer Use对权限敏感时可关闭Chrome不需要浏览器操作时可关闭项目运行位置工作树config.toml初期不要修改AGENTS.md控制在二十行左右Skill只保留常用技能