codex-plugin-cc 教程 – 把 Claude Code 接入 Codex 的橋接插件

AI教程9小時前發佈新公告 AI管理員
0 0

今天發點適合雙劍合璧的東西。

在Claude Code 和 Codex 之間一直存在誰更好用的爭議,但是都成年人了還做什麼選擇,我都要。

這個 GitHub 的 codex-plugin-cc 項目就是爲了解決這個爭議而生的,裝上可以在 Claude Code 內部運行 Codex 了。

codex-plugin-cc 教程 – 把 Claude Code 接入 Codex 的橋接插件

 

01. 項目簡介

 

codex-plugin-cc 可以理解成:把 OpenAI Codex 接進 Claude Code 的橋接插件。

項目地址:https://github.com/openai/codex-plugin-cc

使用過程中 Claude Code 還是主窗口,Codex 作爲第二個編碼代理被 Claude 調用,用來做代碼審查、挑戰式審查、任務委託、會話遷移。

插件調用的是你機器上的全局 codex 命令,也就是本機 Codex CLI 和 Codex app-server。

核心功能

/codex:review:讓 Codex 做代碼審查

最常用的審查流程是三步:

/codex:review --background
/codex:status
/codex:result

第一條命令會啓動 Codex 代碼審查,並放到後台運行。

/codex:status 用來查看審查進度。

任務完成後,再用 /codex:result 查看結果。

如果要審查當前分支相對 main 的全部改動,可以輸入:

/codex:review --base main --background
  • /codex:adversarial-review:讓 Codex 挑戰方案

適合檢查方案是否站得住。Codex 會重點檢查設計取捨、隱藏假設、邊界條件和失敗模式。

  • /codex:rescue:把任務交給 Codex 調查或修復

把一個具體問題交給 Codex 接手。適合處理排查類任務:構建失敗、測試失敗、複雜 bug、舊任務繼續推進。

  •  /codex:transfer:把 Claude 會話轉到 Codex 繼續

適合已經在 Claude Code 裏聊了很多上下文,後面想切到 Codex App 或 Codex CLI 繼續。

codex-plugin-cc 教程 – 把 Claude Code 接入 Codex 的橋接插件

02. 項目實測

 

安裝起來很簡單,大家先在 Claude Code 輸入框輸入:

/plugin marketplace add

出現 Add Marketplace 彈窗後,然後填:

openai/codex-plugin-cc

添加成功後,再回到 Claude Code 輸入框,輸入:

/reload-plugins

最後輸入:

/codex:setup

codex-plugin-cc 教程 – 把 Claude Code 接入 Codex 的橋接插件

case 1 代碼審查

先讓 Claude Code 做一個新功能:

提示詞:給當前登錄頁增加功能:連續認證失敗 3 次後禁用登錄按鈕 30 秒,並顯示剩餘秒數。只有用戶名或密碼錯誤才計入失敗次數,網絡錯誤和服務器錯誤不能計入。要求補測試。只修改必要文件,先不要提交。

codex-plugin-cc 教程 – 把 Claude Code 接入 Codex 的橋接插件

然後我們運行:

/codex:review --background

codex-plugin-cc 教程 – 把 Claude Code 接入 Codex 的橋接插件

Codex審查出兩條問題:

1.claude/settings.local.json 權限問題

.claude/settings.local.json:11Bash(node *) 授予了任意 Node 腳本的無審批執行權限

2.登錄鎖定倒計時問題

src/components/LoginForm.tsx:14第三次認證失敗前頁面已打開一段時間,now 仍保持掛載時的值,第一次鎖定渲染可能顯示虛高倒計時。

我們可以讓 Claude Code 繼續改:

提示詞:

根據 Codex review 修復下面的問題。只改必要文件,補充或調整測試,修完後運行 npm test 和 npm run build,不要提交。

 

不要把 .claude/settings.local.json 作爲本次功能改動提交。如果只是本地權限設置,請恢復該文件到本次任務前狀態。

 

修復 src/components/LoginForm.tsx 的鎖定倒計時問題:觸發第三次認證失敗並設置 lockoutUntil 時,要同步刷新 now,確保鎖定開始後的首次渲染倒計時從 30 秒開始,而不是使用頁面掛載時的舊 now 值。

codex-plugin-cc 教程 – 把 Claude Code 接入 Codex 的橋接插件

然後再 review 一次:

codex-plugin-cc 教程 – 把 Claude Code 接入 Codex 的橋接插件

改完又審查出代碼可能會把最後一次認證失敗算成第 3 次連續認證失敗。

繼續再讓 Claude Code 改:

提示詞:

根據 Codex review 修復下面的問題。只改必要文件,補充或調整測試,修完後運行 npm test 和 npm run build,不要提交。

[P2] 非認證錯誤後應重置計數器 — src/components/LoginForm.tsx:55

當前 network 或 server 錯誤分支不會重置 failCount。序列 auth → auth → network → auth 會錯誤觸發鎖定,儘管這四次認證失敗並非連續。如果需求是“連續認證失敗 3 次”,則應在非認證錯誤時重置計數器,打斷連續鏈條。

codex-plugin-cc 教程 – 把 Claude Code 接入 Codex 的橋接插件

再 review 一次:

codex-plugin-cc 教程 – 把 Claude Code 接入 Codex 的橋接插件

好的,代碼審查過關!

case 2 挑戰方案

我們先讓Claude Code做個給登錄頁增加記住用戶名功能:

提示詞:給當前登錄頁增加“記住用戶名”功能:用戶勾選後,下次打開頁面自動填充上次成功登錄的用戶名;取消勾選後清除已保存用戶名。要求考慮 localStorage 不可用的情況,補測試。只修改必要文件,先不要提交。

codex-plugin-cc 教程 – 把 Claude Code 接入 Codex 的橋接插件

然後讓 Codex 挑戰方案,看方案是否靠譜:

/codex:adversarial-review

codex-plugin-cc 教程 – 把 Claude Code 接入 Codex 的橋接插件

Codex 對於Claude Code 的方案挑戰性審查出了這些問題:

  • safeRemoveStorage 吞掉刪除失敗
  • 用戶名長期保存在 localStorage
  • claude/settings.local.json 混進功能改動
  • 初始化時讀取 localStorage 兩次
  • safeSetStorage 的保存失敗被忽略
  • 純空格用戶名會通過校驗
  • saved_username 這個 key 太通用
  • 沒測 removeItem 拋異常時的行爲
  • 沒測 setItem 保存失敗時是否給用戶反饋
  • 沒測“勾選記住用戶名 + 登錄失敗”時不應保存用戶名
  • 沒測存儲值是純空格時不應初始化爲已記住用戶名
  • vi.stubGlobal(‘localStorage’, …) 沒有在 afterEach 清理,可能污染其他測試

我們可以就這些問題繼續讓 Claude Code 改進:

提示詞:

根據 Codex 挑戰式審查結果修復明確問題。只改必要文件,補充或調整測試,修完後運行 npm test 和 npm run build,不要提交。

需要修復:

  1. 不要把 .claude/settings.local.json 混入本次 feature diff。如果只是本地權限變化,請恢復該文件到本次任務前狀態。
  2. 修復取消“記住用戶名”時的隱私問題:safeRemoveStorage 不要吞掉 removeItem 失敗。removeItem 失敗時,界面不能假裝已經清除成功;需要向用戶展示明確錯誤狀態,或保持記住用戶名勾選狀態。
  3. 修復保存失敗的問題:safeSetStorage 不要被忽略。用戶勾選“記住用戶名”併成功登錄,但 localStorage.setItem 失敗時,要有用戶可見反饋。
  4. 初始化讀取 localStorage 時只讀一次,讓 username 初始值和 rememberUsername 狀態都從同一個讀取結果派生,避免不一致。
  5. 存儲裏的用戶名需要 trim 後校驗。純空格不應該初始化爲已記住用戶名。
  6. 把 localStorage key 從 saved_username 改成應用內命名空間,例如 codex_login_lab.saved_username。
  7. 給“記住用戶名”增加過期時間,例如 7 天 TTL。保存時寫入 { value, expiresAt },讀取時過期就清除並視爲無保存值。
  8. 補測試覆蓋:

– removeItem 拋異常時的行爲

– setItem 失敗時的用戶可見反饋

– 勾選記住用戶名但登錄失敗時,不應保存嘗試的用戶名

– localStorage 存儲純空格時,不應初始化爲已記住用戶名

– localStorage mock/stub 需要 afterEach 清理,避免污染其他測試

codex-plugin-cc 教程 – 把 Claude Code 接入 Codex 的橋接插件

完美解決,12個問題全修復了。

case 3 問題交付

當 Claude Code 寫的代碼有問題時也可以交給 Codex來修復。

我們讓 Claude Code 製作一個小 bug 來體現這個功能:

提示詞:爲了測試 Codex rescue 流程,請在當前登錄頁裏故意製造一個小 bug:讓登錄成功後不再清空密碼輸入框。只改業務代碼,不改測試,不要提交。

codex-plugin-cc 教程 – 把 Claude Code 接入 Codex 的橋接插件

bug已經制造好了,我們補個測試給他測出來:

爲"登錄成功後清空密碼輸入框"補一個測試。只加測試,不改業務代碼,不要提交。

codex-plugin-cc 教程 – 把 Claude Code 接入 Codex 的橋接插件

接下來讓 Codex 來修復:

1  /codex:rescue --background fix the failing test with the smallest safe patch

codex-plugin-cc 教程 – 把 Claude Code 接入 Codex 的橋接插件

Codex 做了正確的最小修復,很不錯:

const result = await login(username.trim(), password);
setPassword('');
setSuccessMessage(`歡迎回來,${result.displayName}`);

case 4 會話轉移

我們剛纔在 Claude Code 裏做了很多事,正好適合 transfer,在 Claude Code 裏輸入:

/codex:transfer

codex-plugin-cc 教程 – 把 Claude Code 接入 Codex 的橋接插件

會給我們一個會話 ID ,我們可以直接在 Codex 裏繼續這個對話,在PowerShell 裏輸入:

codex resume 019f402e-3ff0-7d42-975d-c88c8bf1e45f

codex-plugin-cc 教程 – 把 Claude Code 接入 Codex 的橋接插件

可以看到,我們與 Claude Code 的對話全都傳過來了,接下來就可以用 Codex 來繼續這個項目了。

03. 挖一挖

 

AI 編程不會收斂成一個 all-in-one 工具。

因爲真實開發更像一條業務流:審查、修復、上線,每一步都可能適合不同 AI。

GitLab 2026 AI Accountability Report:91% 組織已經同時使用 2 個以上 AI 編碼工具,54% 使用 3 個以上。

說明使用痛點已經從有沒有 AI 工具用,變成能不能串起來用。

codex-plugin-cc 教程 – 把 Claude Code 接入 Codex 的橋接插件

Claude Code 和 Codex 串起來用,不是爲了炫技,而是爲了 AI 寫完,再由另一個 AI 審一遍。

codex-plugin-cc 讓Claude Code 負責主對話和實現,Codex 負責第二視角審查、方案挑戰、問題接手和會話延續。這個組合能減少很多真實開發裏的隱性成本:反覆切工具、重複交代上下文、人工補審查、測試失敗後重新定位問題。

對我們來說,codex-plugin-cc 可以當成一個隨叫隨到的代碼 reviewer。寫完功能後,讓 Codex 看一遍邊界條件、測試缺口和隱藏風險,比自己盯着 diff 硬看更容易發現問題。

codex-plugin-cc 不是讓開發者再多裝一個工具,而是把兩個 AI 編程助手接進同一個工作現場。

未來 AI 寫代碼會越來越常見,真正拉開差距的,會是怎麼組織這些 AI 助手,讓代碼更穩、審查更早、交付更快。

原文鏈接:GitHub 狂攬 27K Stars,把Claude Code 和 Codex 串起來用

© 版權聲明

相關文章

暫無評論

暫無評論...