開源 CLI 工具在開發者和 AI 社羣中引起了極大的關注。隨著 Claude 的 Codex CLI、OpenAI 的 Codex CLI 以及最近谷歌的 Gemini CLI 的釋出,人們對 CLI 的興趣驟然高漲。透過將 AI 支援融入日常任務,這些工具正在改變開發者使用終端的方式。
開發者可以利用這些 CLI 提高程式碼理解能力、加快除錯速度,並自動執行復雜的編碼任務。像 Codex CLI 這樣的工具透過將強大的 AI 驅動功能(例如程式碼生成、重構和內聯文件)直接引入命令列,幫助使用者更高效地編寫、分析和改進程式碼。隨著谷歌推出的輕量級開源替代品 Gemini CLI 的推出,市場變得更加激動人心,Gemini CLI 正在迅速普及。
現在,讓我們仔細看看 Gemini CLI 和 Codex CLI 在測試中的表現如何。
Gemini CLI和Codex CLI是什麼?
Gemini CLI:Google 推出的一款開源 AI 代理,可將 Gemini 模型(例如 Gemini 2.5 Pro)整合到開發者終端中。
Codex CLI:一款開源命令列工具,由 OpenAI 的 Codex CLI 分支而來,現已支援包括 Gemini 2.5 Pro 在內的多家 AI 提供商。它使開發者能夠在終端中與大型語言模型互動,執行程式碼生成、重構和指令碼解釋等任務。
如果您正在尋找詳細的演示,請檢視我們關於每個 CLI 工具的指南:
安裝
在繼續安裝之前,請確保滿足系統要求。
系統要求
要求/指標 | Codex CLI | Gemini CLI |
---|---|---|
作業系統 | macOS 12 及以上、Ubuntu 20.04 及以上、Windows 11(經 WSL2) | macOS、Windows、Linux(原生) |
Node.js 版本 | 22 或更高(推薦使用 LTS) | 18 或更高 |
npm | 必需(隨 Node.js 一同安裝) | 必需(隨 Node.js 一同安裝) |
Git | 可選但推薦 | 可選 |
記憶體 (RAM) | 最低 4 GB,推薦 8 GB | 同左 |
網路連線 | 必需 | 必需 |
認證方式 | OpenAI API 金鑰 | Google 賬戶或 API 金鑰 |
NodeJS 是這兩個 CLI 的共同先決條件。您可以按照其官方頁面上的說明安裝 Node.js:https://nodejs.org/
Codex CLI安裝步驟
- 檢查 Node.js 版本:
node --version
- 確保 NodeJS 版本為 22 或更高版本。
- 全域性安裝 Codex CLI:
npm install -g @openai/codex
- 或者使用 pnpm:
pnpm add -g @openai/codex
- 設定您的 OpenAI API 金鑰(如果您的專案目錄的 .env 檔案包含 OPEN AI API 金鑰,那麼我們不需要執行此任務):
export OPENAI_API_KEY="your-openai-api-key"
- 將此行新增到您的 shell 配置檔案(例如 ~/.bashrc、~/.zshrc)中以實現永續性。
- 執行 Codex CLI:
codex
- 或者直接傳遞提示:
codex "explain this codebase to me"
Gemini CLI安裝步驟
- 檢查 Node.js 版本:
node --version
確保版本為 18 或更高。
- 全域性安裝 Gemini CLI(推薦):
npm install -g @google/gemini-cli
- 或者,無需安裝直接執行:
npx https://github.com/google-gemini/gemini-cli
- 身份驗證:
- 預設:出現提示時使用您的 Google 帳戶登入(瀏覽器視窗將開啟)。
- API 金鑰(高階使用):
- 從 Google AI Studio 獲取您的 API 金鑰。
- 使用以下條目在您的環境中設定它:export GEMINI_API_KEY=”your-api-key”
- 執行 Gemini CLI:
gemini
- 或者直接傳遞提示:
gemini "Hello, can you help me with coding?"
注意事項
- 對於這兩種工具,必須安裝 Node.js 和 npm(Node 包管理器),並將其新增到系統 PATH 中。
- Codex CLI 需要 Node.js 22 及以上版本,而 Gemini CLI 則需要 Node.js 18 及以上版本。
- 兩者都需要透過 API 金鑰或帳戶登入進行身份驗證才能獲得完整功能。
- 在 Windows 上,為了完全相容,最好透過 WSL2 執行 Codex CLI。
- 請記住,當您想將 CLI 用於某個專案時,請確保將當前工作目錄設定為專案所在的資料夾路徑。
執行我們的CLI例項
讓我們繼續透過 3 個任務比較兩種模型的效能
- 在本地主機上構建工作模型
- 閱讀複雜的程式碼庫並解釋程式碼
- 錯誤除錯
讓我們首先使用 Codex CLI 進行嘗試:
Codex CLI
如果所有要求都已滿足,那麼我們就可以開始測試了。
任務 1 – 解釋程式碼庫
我們可以看到,Codex 可以提供我們程式碼庫的詳細摘要,說實話,效果出奇地好。此外,Codex CLI 會臨時要求我們授予特定程式碼段的訪問許可權,我們可以根據自己的判斷授予或拒絕訪問許可權。經過一段時間的思考後,它提供了一份相當不錯的報告。
報告的總體目的、程式碼庫佈局、關鍵元件、前端網站和資源都包含在內,並附有摘要。即使我給主要檔案起了個比較模糊的名字,我仍然驚訝地發現它能夠按時間順序解碼所有先前版本的程式碼檔案。
任務 2 – 錯誤除錯
由於我們允許 Codex CLI 訪問我們的整個資料庫(無論是私有資料庫還是受保護資料庫),它會在讀取任何程式碼片段之前徵求我們的授權。如果我們允許,它就會以適當的方式訪問我們的程式碼片段。
總的來說,它能夠識別每一個細微的錯誤,並偶爾修復程式碼中一些粗心大意的錯誤,刪除一些對延遲略有影響的不必要部分。
任務 3 – 程式碼庫的補充
這涉及瞭解每個模組如何在各個目錄中定義,並橋接每個依賴項之間的知識,以確保建立一個新目錄來構建新的 .py
檔案,用於我們在請求訪問時所請求的附加內容。
現在讓我們嘗試檢查 Gemini CLI 的功能。
Gemini CLI
我喜歡 Dracula 主題。
與 Codex CLI 只需匯出 OPENAI_API_KEY 不同,Gemini 有三種不同的登入方式:使用 Gmail 帳戶、從 AIStudio 複製 GEMINI_API_KEY 或使用 Vertex AI 憑據。
任務 1 – 解釋程式碼庫
我觀察到的主要區別是,與要求訪問特定目錄的 Codex CLI 不同,Gemini 跳過了此步驟,而是掃描了整個資料庫。儘管如此,根據我的經驗,它確實提供了不錯的概覽,但在輸出方面遠不及 Codex。
任務 2 – 錯誤除錯
在我看來,Gemini 的響應比 Codex 的解釋更到位,因為它能夠識別安全風險的型別,對其進行解釋,並提供檔名作為進一步調查和建議修改的參考。此外,如果遵循必要的說明,提供針對每個錯誤的全面策略,則可以在不影響其功能的情況下修改程式碼。
任務 3 – 程式碼庫補充
Gemini CLI 無法執行此工作負載,因此沒有輸出任何結果。
Gemini CLI與Codex CLI:最終評測
任務/能力 | Codex CLI | Gemini CLI |
---|---|---|
程式碼庫講解 | 提供高度詳盡的摘要:包括倉庫結構、模組分析,即便檔名含糊也能處理。 | 給出還算不錯的概覽,但深度和結構性較弱;無需請求即可掃描完整資料庫。 |
錯誤除錯 | 能準確定位小錯誤並給出上下文修復方案。 | 解釋能力強,可指出安全問題、相關檔名及改進策略。 |
程式碼庫新增 | 能正確處理依賴對映並新增模組(如 .py 檔案)。 | 任務執行失敗,未產生輸出。 |
訪問控制 | 在分析特定程式碼段前會提示使用者授權,隱私保護更好。 | 自動掃描,無需提示,潛在安全性較低。 |
綜合表現 | 更穩定、粒度更細、注重隱私,適合真實編碼任務。 | 錯誤分析表現可期,但在深度程式碼操作上不夠一致。 |
小結
比較這兩個 CLI 的功能時,我發現 Codex 比 Gemini CLI 提供的功能更多。目前,這兩個 CLI 都是開源的,並且在未來版本中會提供更強大的功能。
由於 GPT 模型會分析我們的程式碼,Codex 還會以最大程度降低安全風險的方式請求訪問我們的程式碼庫和模組,從而提供更高的隱私保護。然而,Gemini CLI 似乎並沒有定期請求訪問許可權;相反,它會在想要執行應用程式程式碼時詢問。此外,我們應該記住,Gemini CLI 還會跟蹤終端右側的上下文。
當與 Cursor、Windsurf 等更智慧的 Vibe 編碼 IDE 結合使用時,這些 CLI 無疑會為 Vibe 編碼工作流程和應用程式執行開闢新的可能性。然而,安全和隱私漏洞可能仍然存在,因此我建議謹慎選擇授予這些 CLI 訪問許可權的內容和位置。
常見問題
Q1. Codex CLI 和 Gemini CLI 的主要區別是什麼?
A. Codex CLI 提供更深入的程式碼洞察和細粒度的訪問。Gemini CLI 速度更快、更簡單,但細節性較低。
Q2. 哪一個更適合理解程式碼庫?
A. Codex CLI。它提供結構化、詳細的摘要——即使是混亂或不熟悉的程式碼。
Q3. 非程式設計師可以使用這些工具嗎?
A. 可以。需要基本的終端使用經驗,但兩者都接受自然語言命令。
Q4. 是否存在隱私問題?
A. Codex 在讀取程式碼之前會請求訪問許可權。Gemini 預設掃描範圍更廣,控制力較弱。
評論留言