Skip to content

自定义提示

自定义提示将您可重复的说明转变为可重复使用的斜杠命令,因此您可以触发它们,而无需重新输入或复制/粘贴。每个提示都是一个 Markdown 文件,Codex 在您运行时将其扩展到对话中。

提示所在的位置

  • 位置:在 $CODEX_HOME/prompts/ 中存储提示(默认为 ~/.codex/prompts/)。如果要使用不同的文件夹,请设置 CODEX_HOME
  • 文件类型:Codex 只加载 .md 文件。非 Markdown 文件被忽略。支持常规文件和指向 Markdown 文件的符号链接。
  • 命名:文件名(不带 .md)变为提示名称。名为 review.md 的文件注册提示 review
  • 刷新:提示在会话启动时加载。添加或编辑文件后重启 Codex(或启动新会话)。
  • 冲突:名称与内置命令(如 init)冲突的文件在斜杠弹出窗口中保持隐藏,但您仍然可以使用 /prompts:<name> 调用它们。

文件格式

  • 正文:文件内容在您运行提示时逐字发送(在占位符扩展后)。

  • Frontmatter(可选):在文件顶部添加 YAML 风格的元数据以改进斜杠弹出窗口。

    markdown
    ---
    description: 请求简洁的 git diff 审查
    argument-hint: FILE=<path> [FOCUS=<section>]
    ---
    • description 显示在弹出窗口中的条目下。
    • argument-hint(或 argument_hint)让您记录预期的输入,尽管当前 UI 忽略此元数据。

占位符和参数

  • 数字占位符:$1$9 插入您在命令后键入的前九个位置参数。$ARGUMENTS 插入所有位置参数,由单个空格连接。使用 $$ 发出文字美元符号(Codex 保持 $$ 不变)。
  • 命名占位符:诸如 $FILE$TICKET_ID 之类的令牌从您提供的 KEY=value 对扩展。键区分大小写——在命令中使用相同的大写名称(例如,FILE=...)。
  • 引用的参数:用双引号括住任何包含空格的值,例如 TICKET_TITLE="Fix logging"
  • 调用语法:通过 /prompts:<name> ... 运行提示。当斜杠弹出窗口打开时,键入 prompts: 或裸提示名称将浮出 /prompts:<name> 建议。
  • 错误处理:如果提示包含命名占位符,Codex 要求所有占位符。如果任何缺失或格式不正确,您会看到验证消息。

运行提示

  1. 启动新的 Codex 会话(确保提示列表是最新的)。
  2. 在编辑器中,键入 / 打开斜杠弹出窗口。
  3. 键入 prompts:(或开始输入提示名称)并使用 ↑/↓ 选择它。
  4. 提供任何必需的参数,按 Enter,Codex 发送扩展的内容。

示例

示例 1:基本命名参数

文件~/.codex/prompts/ticket.md

markdown
---
description: 为票证生成提交消息
argument-hint: TICKET_ID=<id> TICKET_TITLE=<title>
---

请为票证 $TICKET_ID 编写简洁的提交消息:$TICKET_TITLE

用法

/prompts:ticket TICKET_ID=JIRA-1234 TICKET_TITLE="Fix login bug"

扩展提示发送到 Codex

请为票证 JIRA-1234 编写简洁的提交消息:Fix login bug

注意TICKET_IDTICKET_TITLE 都是必需的。如果任一缺失,Codex 将显示验证错误。包含空格的值必须用双引号括起来。

示例 2:混合位置和命名参数

文件~/.codex/prompts/review.md

markdown
---
description: 在特定文件中审查代码并关注区域
argument-hint: FILE=<path> [FOCUS=<section>]
---

审查 $FILE 中的代码。特别关注 $FOCUS。

用法

/prompts:review FILE=src/auth.js FOCUS="error handling"

扩展提示

审查 src/auth.js 中的代码。特别关注错误处理。