Codex 提示词层
Codex 会分层组装提示词:它自己的基础指令、你的项目文档、权限与环境上下文、 你安装的技能,以及更多内容。Codex Set → Prompt 会显示这个层叠结构,告诉你 每一层占用多少空间,并让你关闭不需要的部分。
列表显示什么
Section titled “列表显示什么”每一行都会显示它在组装顺序中的位置、控制它的配置键(如果有),以及它实际 发送内容的大小。
位置编号之间会有空缺。这是有意为之:这些数字是真实的组装索引,其中两个会在 下方的 过渡通知 中列出。如果把每组都从一开始重新编号,显示的就会是 Codex 实际并未使用的顺序。
| 类型 | 你可以做什么 |
|---|---|
| 可在此切换 | 一个真正的开关。会在 config.toml 中写入一个键。 |
| 功能开关控制 | 确实存在,但要从功能设置中更改,而不是在此页面。 |
| 始终启用 | Codex 中任何地方都没有关闭开关。 |
| 变更时发送 | 通知状态过渡,因此只有内容发生变化时才会出现。 |
| 扩展层 | 无法列出。Codex 不会公开它们。 |
没有关闭开关的层根本不会显示开关,而不是显示一个禁用的开关。灰显控件会暗示 这项能力存在、只是暂时不可用,但实际并非如此。
点击层名称即可查看它发送的文本。对话框会从 codex debug prompt-input 读取内容,
所以显示的是真实内容,而不是描述。
有时没有内容可显示,对话框会说明具体原因:
- 文件存在但为空。 你的
~/.codex/AGENTS.md是零字节,因此该层没有内容可发送。 对话框会显示路径。 - 在我们读取的这一轮中,它没有发送任何内容。 各层只有在发生变化时才会重新发送, 所以未变化的层不会出现在单次样本中。
- 它在可读列表之外传输。 基础提示词通过另一个字段发送,无法在这里打印。
- 无法读取提示词。 此机器上的探测失败。
读取内容来自你的全局 Codex 主目录(~/.codex),而不是仪表板碰巧运行的目录。
+ Add layer 会追加你自己的指令。自定义层会组合到 developer_instructions 中,
它采用追加方式——Codex 会保留自己的指令,并把你的指令添加进去。
自定义层会在它们自身之间编号,因为它们会按该顺序合并为一个区段——它们不会 与内置层交错排列。
可以使用行上的箭头重新排序,也可以在行内任意位置按 Alt + Up / Alt + Down。
顺序就是组合顺序。
+ Add layer 提供五个起点:精简输出、编辑前规划、解释推理、先测试,以及使用韩语 回复。每一个都会打开普通编辑器,预先填入内容且可完全编辑——预设只是起点,你保存的 内容会成为普通的自定义层。
这些预设是我们自己的文本,旨在提炼一种方法,而不是复制任何人的提示词。每个预设都会 注明来源。
编辑时在各层之间移动
Section titled “编辑时在各层之间移动”编辑器提供上一层/下一层控件和位置指示器。移动时会保留未保存的编辑,因此你可以在编辑 途中比较两层,再返回原处,而不会丢失已输入的内容。
如果某一层包含无法按原文生效的内容,编辑器会发出警告——例如声称自己具有不同身份、 指定注册表已定义的工具、使用不会被任何机制展开的模板占位符,或陈述 Codex 稍后才会 生成的环境事实。
这些只是警告,绝不会阻止保存。如果你确实想覆盖 Codex,也可以这样做;警告只是让它成为 一个有意的决定,而不是意外。
提交署名 这一行会让模型在它写的提交里加上 Co-authored-by: Codex 尾注,并在它开的
拉取请求里加上 Generated with Codex. 这一行。
这里没有开关,[features] 里也没有:Codex 会从你账号的署名策略中解析该项。在账号层面
关掉它并不会移除这一层——Codex 会改为发送相反的指令,告诉模型不要添加尾注。无论哪种
情况都会发送内容,所以这一行标注为由你的账号决定,而不是始终启用。
基础提示词变体
Section titled “基础提示词变体”基础提示词是唯一无法关闭的层,因为没有基础提示词的模型不是一个能工作的代理。不过你可以 替换它,基础指令 这一行上的开关就是做这件事的。
展开该行即可看到选择器。可以左右滑动、按左右方向键,或使用箭头按钮在各选项之间移动—— 屏幕阅读器朗读的也是这些按钮,因此没有触控板也能操作此页面。
| 选项 | 它是什么 | 可编辑 |
|---|---|---|
| Codex 自带的基础提示词 | 你的配置中不存在 model_instructions_file |
永不可编辑 |
| 你的变体 | 你自己写的提示词,保存在 ~/.codex/opencodex-prompt-base/ |
可以 |
| 第二个变体 | 同上,最多两个 | 可以 |
第一个选项没有可编辑的内容,也没有 保存 按钮,对话框会说明原因,而不是显示灰显控件。
默认项并不是我们保存的一份 Codex 提示词副本——它就是该键的缺失状态。所以既没有可修改
的文本,也没有可删除的文本,选择它只是把 model_instructions_file 从你的配置中再次移除。
如果已有其他东西替换了你的基础提示词
Section titled “如果已有其他东西替换了你的基础提示词”如果 model_instructions_file 指向的文件不是 opencodex 写入的,选择器会拒绝操作,并告知
该键指向何处。它不会静默地把你或其他工具设置的键改指到别处。请先自行清除该值,再在此处选择。
这与导入 developer_instructions 的原则相同:面板报告它发现的内容,由你来决定。
切换会应用于新启动的会话,与此页面上的其他所有更改一样。
在 opencodex 外部写入的指令
Section titled “在 opencodex 外部写入的指令”如果 developer_instructions 已经存在,且不是由 opencodex 写入,面板不会覆盖它。
面板会改为提供将文本导入为一层的选项:你会先看到现有值,在确认之前不会写入任何内容。
内容不同步时
Section titled “内容不同步时”如果已保存的层与 config.toml 中的值不一致,面板会说明情况并提供 Repair,而不会
静默修复。两种修复路径会重写你写过的文本,因此这些操作始终需要明确执行。如果某个层文件
已经丢失,修复功能会先写入备份,再进行任何修改。
更改何时生效
Section titled “更改何时生效”更改会应用于新启动的会话。已经运行的会话会继续使用启动时的提示词设置。
此页面读取什么,又不读取什么
Section titled “此页面读取什么,又不读取什么”opencodex 只读取一个配置文件——你的 config.toml。Codex 会从多个层解析设置,因此这里的值
表示的是你的文件所写的内容,不一定是 Codex 最终计算出的值。
此页面写入的键
Section titled “此页面写入的键”这些键位于 Codex 的 config.toml 中,而不是 opencodex 自身的配置。
| 键 | 默认值 | 层 |
|---|---|---|
include_permissions_instructions |
true |
权限 |
include_collaboration_mode_instructions |
true |
协作模式 |
include_environment_context |
true |
环境上下文 |
include_apps_instructions |
true |
应用 |
skills.include_instructions |
true |
技能 |
developer_instructions |
未设置 | 按顺序连接的自定义层 |
model_instructions_file |
未设置 | 基础提示词,在选择了变体时 |
写入采用逐行编辑,你的注释和格式会保留;opencodex 无法识别的键会原样保留,而不会被删除。
缺失的键按默认值读取,而不是按 false。面板显示文件中实际存在的值,并在键未设置时说明这一点。

