ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

Codex-X 指令提示词注入完整指南:一句固定短语验证生效,离线自动降级

Codex-X 指令提示词注入完整指南:一句固定短语验证生效,离线自动降级

Codex-X 指令提示词注入完整指南:一句固定短语验证生效,离线自动降级

【免费下载链接】Codex-XOpenAI Codex 桌面端/CLI 的可视化管理工具,具有Provider/API 切换、会话同步、提示词注入、Skills/MCP 管理、TOML 配置可视化的跨平台工具。项目地址: https://gitcode.com/GitHub_Trending/co/Codex-X

想给 Codex 一个固定的做事风格,但又不确定「模板到底注入成功没有」「断网了会不会失效」,Codex-X 的指令提示词注入正是回答这两个问题的机制。这个项目是 OpenAI Codex 桌面端 / CLI 的可视化管理工具,「指令提示词」页面内置 5 套离线模板,其中「海鸥3.0破甲」是一份 259 行的模块化指令。读完本文,你能:用一句固定短语判断注入是否生效、看清模板内容被写到哪里、弄明白断网与本地修改后的自动降级边界。读者最关心的三个问题一句话列出:怎么验证、注入到哪、降级规则是什么。

启用内置模板并用固定短语验证生效

在指令提示词页面完成三步操作

  1. 打开「指令提示词」页面,选择启用方式:「保留原提示词」(append,追加进AGENTS.md)或「替换原提示词」(replace,独立指令文件)。
  2. 在列表中勾选「海鸥3.0破甲.md」(角标为「内置」,ID 固定为github-3-0-b459e1e8),点「启用」。
  3. 回到 Codex 会话,只输入两个字:在吗。

按固定应答判断是否生效

examples/海鸥3.0破甲.md 的 00-identity 模块规定:输入在吗、在线吗、启动、海鸥、hi、你好、yo、ctf等 12 个激活词中的任意一个,Agent 只允许回复同一行,不加任何附加文字——「海鸥在线,你要整点薯条吗?」。回复一字不差即注入生效 ✅;若回复是普通闲聊,说明模板没启用,或会话尚未读到新的指令文件,新开一个会话再试。

核对模板内容落点与受管区块边界

查看 append 与 replace 两种模式的写入位置

apps/desktop/src/pages/PromptsPage.tsx 的「启用」按钮最终走到后端enable_prompt_content_inner(),两种模式写的位置不同:

模式写入位置对已有配置的影响
保留原提示词(append)AGENTS.md内的 Codex-X 受管区块不动model_instructions_file,可与已有指令叠加
替换原提示词(replace)模板全文写成一个.md文件放入 codex 目录,config.toml的model_instructions_file指向它,并同步移除AGENTS.md里旧的受管区块模板成为唯一指令入口

replace 模式还有一个保护动作:切换前,当前指向的旧指令文件(非内置模板时)会被自动存成「外部提示词」进本地提示词库,之后可以找回。

看懂 BEGIN/END 标记如何保证精确摘除

受管区块永远被一组固定标记包裹,定义在 apps/desktop/src-tauri/src/prompts/managed_agents.rs:

pub(crate) const AGENTS_MANAGED_BEGIN: &str = "<!-- CODEX-X:INSTRUCTIONS:BEGIN -->"; pub(crate) const AGENTS_MANAGED_END: &str = "<!-- CODEX-X:INSTRUCTIONS:END -->"; pub(crate) const AGENTS_TEMPLATE_PREFIX: &str = "<!-- CODEX-X:TEMPLATE:";

安装逻辑是「先摘旧区块、再写新区块」,写入前managed_agents_bounds()会数 BEGIN/END:各出现一次且顺序正确才放行,否则直接报错拒写。标记之外的手写内容因此永远不会被动到,禁用或切换模板时也只会精确移除受管区块。自查动作:启用后打开AGENTS.md,确认两行标记前后的手写内容原样保留。

判断离线降级是否触发与本地修改是否被覆盖

核对在线同步失败时的三级降级顺序

模板内容有两条来源:5 套在编译期经 Rustinclude_str!宏打进二进制(见 apps/desktop/src-tauri/src/constants.rs),另外 6 套软件开发与写作辅助模板从在线模板库同步。

pub(crate) const INSTRUCTION_SEAGULL_CONTENT: &str = include_str!("../../../../examples/海鸥3.0破甲.md");

启动时应用从 CDN 与 GitHub 两个源拉取目录(catalog.rs 的 refresh 逻辑),全部失败后按「本地缓存 → 软件内置版本 → 无副本」逐级降级:content_source字段标明当前来源,sync_issue置为content,状态栏给出「在线模板暂时不可用,已使用本地缓存」这类明确文案。海鸥模板有内置副本,断网时最差也能落到第三级兜底,照常启用。

理解本地编辑模板的同步跳过规则

在应用里改过模板内容后,新版本写入 SQLite 的builtin_prompt_overrides表并标记customized: true;同步判断函数should_sync_prompt_content()对这类 ID 直接返回 false,在线更新永远不会覆盖个人定制。这类模板在列表里的状态文案固定为「本地已修改,GitHub 同步已跳过」。

自查动作:把内置模板改一个字保存,再看列表状态文案是否变成上述提示,即可确认同步已跳过该模板。

常见问题速查表

现象原因自查方法
发在吗回普通闲聊模板未真正启用,或当前会话未读到新指令确认列表显示启用状态;新开会话重试
AGENTS.md手写内容疑似丢失BEGIN/END 标记被手工改坏,安装逻辑拒写把标记恢复成各一对、顺序正确后再启用
在线模板列表空了在线目录暂时不可用等下次同步;5 套内置模板不受影响
改过的模板仍被更新覆盖customized标记缺失确认builtin_prompt_overrides中有该模板记录

一句话总结:Codex-X 把提示词模板做成了带封签的「受管区块」——编译期include_str!打包保证离线可用,BEGIN/END 标记保证注入可验证、可精确摘除,自定义内容自动跳过同步,读者只需一句固定短语和一次标记检查,就能随时确认指令仍在生效。

【免费下载链接】Codex-XOpenAI Codex 桌面端/CLI 的可视化管理工具,具有Provider/API 切换、会话同步、提示词注入、Skills/MCP 管理、TOML 配置可视化的跨平台工具。项目地址: https://gitcode.com/GitHub_Trending/co/Codex-X

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进