【经验分享】OpenAI Codex v0.118.0(Windows)自定义 system prompt 完全生效的完整踩坑记录 + 最终解决方案

2026-04-11 12:121阅读0评论SEO资讯
  • 内容介绍
  • 文章标签
  • 相关推荐
问题描述:

【经验分享】OpenAI Codex v0.118.0(Windows)自定义 system prompt 完全生效的完整踩坑记录 + 最终解决方案

大家好,我最近在 Windows 上折腾 OpenAI Codex CLI,想用自己写的 system-prompt.md 完整替换官方默认 prompt(pragmatic、无 fluff、无 meta commentary),结果卡了整整一下午。

最终成功了,现在 whoamidatels 等简单命令都只返回结果,不带任何解释/status 也正常,/personality 提示也出现了。把整个过程和最终可复现方案分享出来,希望帮到同样在 Windows 上踩坑的朋友。

1. 问题现象

  • config.toml 中设置:

    model_instructions_file = 'C:\Users\Seven\.codex\prompts\system-prompt.md'

  • 重启 Codex 后,/status 显示 Agents.md: <none>whoami 仍然输出官方风格的解释文字(如 “I’m checking the current shell user…”)。
  • 尝试过项目级 .codex/config.toml、CLI -c 参数、sandbox danger-full-access 等,均无效。
  • 即使把 sandbox 改成 danger-full-access + 真实用户 seven,问题依然存在。

2. 排查过程(主要坑点)

  1. Sandbox 隔离:早期运行在 codexsandboxoffline 环境下,全局 ~/.codex/config.toml 完全不生效。
  2. Windows 路径解析:反斜杠 \ 在 TOML 中偶尔被 silent ignore,改成正斜杠 C:/Users/... 稍好但仍不稳定。
  3. 项目级 config 失效:v0.118.0 在 Windows TUI 下,项目目录下的 .codex/config.tomlmodel_instructions_file 经常 silently ignored(GitHub issue #14515、#15993 等均有反馈)。
  4. 最致命的坑:HTML 标签
    system-prompt.md 里用了 <p><h1><ul> 等 Markdown 转 HTML 的写法,被 GPT-5.4 的 instructions validation 直接拒绝,导致 Codex 默默 fallback 到官方内置 prompt。

3. 最终成功方案(已验证可复现)

核心修复只有两步:

Step 1:清理 prompt 为纯 Markdown(去掉所有 HTML 标签)

把原文件复制一份,命名为 clean-system-prompt.md,内容必须是纯文本/Markdown(无 <p><h1> 等)。

我最终使用的 clean-system-prompt.md 已上传(见文末附件),核心就是把所有 HTML 标签全部去掉,只保留 ###-、列表、代码块等纯 Markdown。

Step 2:全局 config.toml 正确配置 + 完全重启

C:\Users\Seven\.codex\config.toml 中确保有以下内容:

model_instructions_file = "C:/Users/Seven/.codex/prompts/clean-system-prompt.md" [windows] sandbox = "danger-full-access" # 或 unelevated,根据需求

关键操作:

  • 保存后完全关闭 Codex 窗口(任务管理器结束所有 codex 进程)。
  • 重新在目标项目目录(如 D:\CODE\11223)打开 Codex。
  • 输入 whoami 测试。

成功后的特征:

  • whoami 只显示一行用户名,无任何解释。
  • 界面出现官方提示:Tip: Use /personality to customize how Codex communicates.

4. 验证命令(建议保留)

# 测试 whoami date ls # 查看当前配置 /status /personality

5. 额外建议

  • 以后修改 prompt 一定要先用纯 Markdown 版本测试。
  • 如果还想更激进,可以配合 AGENTS.override.md 双保险,但目前纯 model_instructions_file + clean prompt 已足够稳定。
  • 该方案在 v0.118.0 + Windows 11 + GPT-5.4 medium 上验证通过。

附件(可直接使用)

  • 我最终成功的 clean-system-prompt.md 已在上一个回复中提供(14764 字节,纯 Markdown 版本)。
  • 有需要的朋友可以直接复制使用。

折腾了这么久,终于把 Codex 调成自己想要的“极简务实”风格了。希望这篇帖子能帮到大家少走弯路!

欢迎大家讨论其他版本或 macOS/Linux 下的差异~

网友解答:
--【壹】--:

感谢大佬


--【贰】--:

大佬,没看懂解决了什么问题呢


--【叁】--:

感谢大佬 。


--【肆】--:

附件在哪?没找到

问题描述:

【经验分享】OpenAI Codex v0.118.0(Windows)自定义 system prompt 完全生效的完整踩坑记录 + 最终解决方案

大家好,我最近在 Windows 上折腾 OpenAI Codex CLI,想用自己写的 system-prompt.md 完整替换官方默认 prompt(pragmatic、无 fluff、无 meta commentary),结果卡了整整一下午。

最终成功了,现在 whoamidatels 等简单命令都只返回结果,不带任何解释/status 也正常,/personality 提示也出现了。把整个过程和最终可复现方案分享出来,希望帮到同样在 Windows 上踩坑的朋友。

1. 问题现象

  • config.toml 中设置:

    model_instructions_file = 'C:\Users\Seven\.codex\prompts\system-prompt.md'

  • 重启 Codex 后,/status 显示 Agents.md: <none>whoami 仍然输出官方风格的解释文字(如 “I’m checking the current shell user…”)。
  • 尝试过项目级 .codex/config.toml、CLI -c 参数、sandbox danger-full-access 等,均无效。
  • 即使把 sandbox 改成 danger-full-access + 真实用户 seven,问题依然存在。

2. 排查过程(主要坑点)

  1. Sandbox 隔离:早期运行在 codexsandboxoffline 环境下,全局 ~/.codex/config.toml 完全不生效。
  2. Windows 路径解析:反斜杠 \ 在 TOML 中偶尔被 silent ignore,改成正斜杠 C:/Users/... 稍好但仍不稳定。
  3. 项目级 config 失效:v0.118.0 在 Windows TUI 下,项目目录下的 .codex/config.tomlmodel_instructions_file 经常 silently ignored(GitHub issue #14515、#15993 等均有反馈)。
  4. 最致命的坑:HTML 标签
    system-prompt.md 里用了 <p><h1><ul> 等 Markdown 转 HTML 的写法,被 GPT-5.4 的 instructions validation 直接拒绝,导致 Codex 默默 fallback 到官方内置 prompt。

3. 最终成功方案(已验证可复现)

核心修复只有两步:

Step 1:清理 prompt 为纯 Markdown(去掉所有 HTML 标签)

把原文件复制一份,命名为 clean-system-prompt.md,内容必须是纯文本/Markdown(无 <p><h1> 等)。

我最终使用的 clean-system-prompt.md 已上传(见文末附件),核心就是把所有 HTML 标签全部去掉,只保留 ###-、列表、代码块等纯 Markdown。

Step 2:全局 config.toml 正确配置 + 完全重启

C:\Users\Seven\.codex\config.toml 中确保有以下内容:

model_instructions_file = "C:/Users/Seven/.codex/prompts/clean-system-prompt.md" [windows] sandbox = "danger-full-access" # 或 unelevated,根据需求

关键操作:

  • 保存后完全关闭 Codex 窗口(任务管理器结束所有 codex 进程)。
  • 重新在目标项目目录(如 D:\CODE\11223)打开 Codex。
  • 输入 whoami 测试。

成功后的特征:

  • whoami 只显示一行用户名,无任何解释。
  • 界面出现官方提示:Tip: Use /personality to customize how Codex communicates.

4. 验证命令(建议保留)

# 测试 whoami date ls # 查看当前配置 /status /personality

5. 额外建议

  • 以后修改 prompt 一定要先用纯 Markdown 版本测试。
  • 如果还想更激进,可以配合 AGENTS.override.md 双保险,但目前纯 model_instructions_file + clean prompt 已足够稳定。
  • 该方案在 v0.118.0 + Windows 11 + GPT-5.4 medium 上验证通过。

附件(可直接使用)

  • 我最终成功的 clean-system-prompt.md 已在上一个回复中提供(14764 字节,纯 Markdown 版本)。
  • 有需要的朋友可以直接复制使用。

折腾了这么久,终于把 Codex 调成自己想要的“极简务实”风格了。希望这篇帖子能帮到大家少走弯路!

欢迎大家讨论其他版本或 macOS/Linux 下的差异~

网友解答:
--【壹】--:

感谢大佬


--【贰】--:

大佬,没看懂解决了什么问题呢


--【叁】--:

感谢大佬 。


--【肆】--:

附件在哪?没找到