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 中的代碼。特別關注錯誤處理。