
Claude Code插件開發入門從codex-plugin-cc學命令、Agent與Hook設計【免費下載鏈接】codex-plugin-ccUse Codex from Claude Code to review code or delegate tasks.項目地址: https://gitcode.com/GitHub_Trending/co/codex-plugin-cc一句話認識這個項目codex-plugin-cc 是什么codex-plugin-cc是 OpenAI 官方出品的Claude Code 插件讓你直接在 Claude Code 里調用 Codex既能跑代碼評審/codex:review又能把調試、修復類任務委派給 Codex 后臺執行/codex:rescue。它同時提供了斜杠命令Commands、子代理Agent、生命周期鉤子Hooks和內部技能Skills四類插件組件堪稱學習 Claude Code 插件開發的一份活教材。本文帶你拆解這個插件的完整架構一個plugins/codex/目錄里命令、Agent 與 Hook 是怎么分工協作的。 插件目錄結構一個組件齊全的參考實現打開倉庫核心代碼全部在plugins/codex/下結構非常清晰plugins/codex/ ├── commands/ # 8 個斜杠命令.md 文件 ├── agents/ # 1 個子代理 codex-rescue.md 文件 ├── hooks/ # hooks.jsonHook 注冊表 ├── prompts/ # 提示詞模板如 stop-review-gate ├── schemas/ # JSON Schema評審輸出契約 ├── scripts/ # Node.js 運行時腳本真正的執行層 └── skills/ # 2 個內部技能SKILL.md它提供的命令包括/codex:review—— 只讀代碼評審/codex:adversarial-review—— 可指定關注點的對抗式評審/codex:rescue—— 把任務委派給 Codex 子代理/codex:transfer—— 把當前會話上下文遷移到 Codex/codex:status、/codex:result、/codex:cancel—— 后臺任務管理三件套/codex:setup—— 環境檢查與評審門禁開關整體思路可以概括為一句話Markdown 文件負責聲明Node 腳本負責執行。下面逐個拆解。一、命令Commands設計YAML 頭 行為劇本Claude Code 的斜杠命令本質是一個 Markdown 文件由YAML frontmatter聲明區 正文行為劇本兩部分組成。以 review.md 為例--- description: Run a Codex code review against local git state argument-hint: [--wait|--background] [--base ref] disable-model-invocation: true allowed-tools: Read, Glob, Grep, Bash(node:*), Bash(git:*), AskUserQuestion ---這里藏著 4 個關鍵設計點allowed-tools最小授權只開放Bash(node:*)和Bash(git:*)把命令的手腳限制在最小范圍——這是插件安全設計的第一原則。disable-model-invocation: true聲明該命令只能由用戶顯式輸入觸發模型不會自己調用避免意外行為。$ARGUMENTS變量正文里用$ARGUMENTS原樣接收用戶參數并在劇本中要求不得改寫用戶意圖。行為劇本用自然語言寫死規則比如 review.md 中明確規定先估算 diff 規模 → 小規模推薦前臺等待、大規模推薦后臺運行 → 只用AskUserQuestion問一次且推薦項必須標注 (Recommended)。再對比 status.md它只用了一行!前綴命令直接執行腳本并渲染結果表格——簡單命令不需要復雜劇本。命令復雜度與行為劇本長度成正比這是很實用的分寸感。二、Agent 設計codex-rescue的薄轉發器模式子代理定義在 codex-rescue.mdfrontmatter 聲明了它的身份--- name: codex-rescue model: sonnet tools: Bash skills: - codex-cli-runtime - gpt-5-4-prompting ---真正值得學習的是正文里的職責收窄設計Your only job is to forward the users rescue request to the Codex companion script. Do not do anything else.這個 Agent 被刻意做成一個薄轉發器thin forwarding wrapper? 允許恰好一次Bash調用把請求轉發給 codex-companion.mjs可用gpt-5-4-prompting技能把用戶口語潤色成更緊湊的 Codex 提示詞? 禁止讀文件、grep、輪詢狀態、拉取結果、總結輸出等一切自作主張 輸出把腳本 stdout原樣返回不加任何評論為什么這樣設計因為 Agent 一旦聰明起來就會繞過插件的運行時邏輯自己發揮導致狀態管理失控。把 Agent 收窄成純粹的協議轉換層智能被推到兩個地方上游的命令劇本rescue.md 負責--resume/--fresh路由判斷下游的 Codex 本體真正干活。中間層越薄系統越可控——這是本插件最值得抄的設計。三、Hook 設計Stop鉤子實現評審門禁插件的 Hook 注冊在 hooks.json 中一共三類Hook觸發時機作用SessionStart會話啟動提供當前 transcript 路徑供/codex:transfer使用SessionEnd會話結束清理會話生命周期狀態StopClaude 準備停止時觸發評審門禁讓 Codex 復查上一輪的代碼改動Stop鉤子是亮點。執行腳本 stop-review-gate-hook.mjs 的工作流程是從 stdin 讀取 Claude Code 傳入的 JSON 上下文上一輪 assistant 消息、會話 ID、工作目錄若未開啟門禁stopReviewGate配置或 Codex 未就緒直接放行并打印提示否則加載提示詞模板 stop-review-gate.md注入上一輪回復調起一次 Codex 評審解析結果第一行以ALLOW:開頭則放行以BLOCK:開頭則輸出{decision:block}阻斷 Claude 的停止讓它先把問題修完這套設計的精髓在于輸出契約化提示詞里明確規定首行必須且只能是ALLOW: 原因或BLOCK: 原因Hook 腳本就能用簡單的字符串前綴判斷做機器決策而不需要再去理解一段自然語言。?? 官方也提醒評審門禁可能形成 Claude/Codex 長循環、快速消耗用量只建議在有人盯守的會話中開啟/codex:setup --enable-review-gate開、--disable-review-gate關。四、Skill 與運行時智能的收納柜剩下的智能被收納進了兩個內部技能user-invocable: false用戶不可直接調用codex-cli-runtime/SKILL.md規定 rescue Agent 調用task命令的完整契約——如何剝離路由標志位、--resume如何映射為--resume-last、spark如何映射為gpt-5.3-codex-spark等gpt-5-4-prompting/SKILL.md一套像操作員一樣給 Codex 寫提示詞的方法論用 XML 標簽task、grounding_rules等組裝結構化提示詞并配有 references/prompt-blocks.md 等參考文檔真正的執行層是 scripts/ 目錄下的 Node 腳本核心是codex-companion.mjs及其 lib/ 下的模塊狀態管理state.mjs、工作區解析workspace.mjs、進程管理process.mjs等它封裝了 Codex app server 通信與作業生命周期。評審輸出還有 JSON Schema 約束review-output.schema.json。五、5 條可直接抄走的設計要點聲明與執行分離.md文件只做聲明與編排重活全部交給scripts/里的腳本便于測試與維護最小工具授權每個命令/Agent 的allowed-tools/tools字段按需開放能只給Bash就不給全套Agent 保持薄把子代理做成協議轉發器智能放在命令劇本和遠端模型兩端Hook 決策必須契約化要求下游模型輸出機器可解析的固定格式如ALLOW:/BLOCK:首行而非自由文本內部知識用 Skill 沉淀不可用戶調用的內部技能user-invocable: false是存放運行時契約和提示詞工程規范的好位置 自己動手安裝體驗這個插件要求Node.js ≥ 18.18以及 ChatGPT 訂閱含免費或 OpenAI API key。在 Claude Code 中依次執行/plugin marketplace add openai/codex-plugin-cc /plugin install codexopenai-codex /reload-plugins /codex:setup/codex:setup會檢查 Codex 是否就緒缺失時還會引導安裝。一個推薦的首次運行組合拳/codex:review --background /codex:status /codex:result后臺發起評審 → 查看進度 → 取回結果完整走一遍命令 后臺任務 狀態管理的閉環。想深入閱讀建議按這個順序逛源碼先讀 README.md 了解全貌再依次精讀commands/review.md、agents/codex-rescue.md、hooks/hooks.json三個文件——它們分別展示了命令、Agent、Hook 三種組件的標準寫法讀完你已具備開發自己的 Claude Code 插件的基礎。【免費下載鏈接】codex-plugin-ccUse Codex from Claude Code to review code or delegate tasks.項目地址: https://gitcode.com/GitHub_Trending/co/codex-plugin-cc創作聲明:本文部分內容由AI輔助生成(AIGC),僅供參考