譯者 | 布加迪
審校 | 重樓
開發者可以利用這些CLI提高代碼理解能力、加快調試速度,并自動執行復雜的編程任務。像Codex CLI這樣的工具將基于AI的強大功能(比如代碼生成、重構和內聯文檔)直接引入到命令行中,幫助用戶更高效地編寫、分析和改進代碼。隨著谷歌推出輕量級開源替代品Gemini CLI,市場變得更激動人心,Gemini CLI 正迅速普及。
現在不妨仔細看看Codex CLI和Gemini CLI在測試中的表現。
Codex CLI和Gemini CLI簡介
Codex CLI:這款開源命令行工具由OpenAI的Codex CLI分叉而來,現支持包括Gemini 2.5 Pro在內的多家AI提供商。它使開發者能夠在終端中與大語言模型進行交互,執行代碼生成、重構和腳本解釋等任務。
Gemini CLI:谷歌推出的這款開源AI智能體將Gemini模型(比如Gemini 2.5 Pro)集成到開發者終端中。
如果你正在尋找詳細的使用指南,請查看我們針對每個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 | 至少4GB,建議8GB | 至少4GB,建議8GB |
互聯網 | 必需 | 必需 |
身份驗證 | OpenAI API密鑰 | 谷歌帳戶或API密鑰 |
NodeJS是這兩個CLI的通用先決條件。你可以按照其官方頁面上的說明安裝Node.js:https://nodejs.org/。
Codex CLI的安裝步驟
1.檢查Node.js版本:
node --version
2. 確保是NodeJS版本22或更高版本。
3. 全局安裝Codex CLI:
npm install -g @openai/codex
4. 或使用 pnpm:
pnpm add -g @openai/codex
5. 設置你的OpenAI API密鑰(如果你項目目錄的.env文件包含OpenAI API密鑰,則無需執行此操作):
export OPENAI_API_KEY="your-openai-api-key"
6. 將下面這行添加到shell 配置文件(比如 ~/.bashrc、~/.zshrc)以實現持久化。
7. 運行 Codex CLI:
codex
8. 或直接傳遞提示:
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
- 身份驗證:
(1)默認:出現提示時使用你的谷歌帳戶登錄(瀏覽器窗口會打開)。
(2)API 密鑰(供高級使用):
a.從Google AI Studio 獲取你的API 密鑰。
b.使用以下條目在你的環境中進行設置:
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上,為了實現全面兼容,Codex CLI最好通過WSL2來運行。
- 記住,當你想將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 CLI有三種不同的登錄方式:使用Gmail 帳戶、從AIStudio復制GEMINI_API_KEY或使用Vertex AI 憑據。
任務 1 – 解釋我們的代碼庫
我觀察到的主要區別是,與要求訪問特定目錄的Codex CLI不同,Gemini 跳過了此步驟,改而掃描了我們的整個數據庫。不過根據我的經驗,它確實提供了不錯的概覽,但在輸出方面絕對不如Codex。
任務 2 – 錯誤調試
在我看來,Gemini的響應比Codex的響應解釋得更清楚,因為它能夠識別和解釋各種安全風險,并提供文件名作為進一步調查和建議變更的參考。此外,如果遵循必要的操作說明,提供針對每個錯誤的全面策略,則可以在不影響其功能的情況下修改代碼。
任務3 – 代碼庫添加
Gemini CLI無法勝任該工作負載,因此沒有輸出任何結果。
Codex CLI vs Gemini CLI :最終結論
任務 | Codex CLI | Gemini CLI |
解釋代碼庫 | 高度詳細的摘要,包含代碼庫結構、模塊分析,甚至模糊的文件名。 | 概述明晰,但深度和結構性不足。無需訪問請求,可以掃描整個數據庫。 |
錯誤調試 | 準確識別細小錯誤,提供上下文相關的修復方案。 | 解釋有力,高亮顯示安全問題、文件名和改進策略。 |
數據庫添加 | 處理依賴項映射,并正確添加新模塊(比如在.py 文件中)。 | 任務執行失敗,不生成輸出。 |
訪問控制 | 在分析特定代碼段之前,提示用戶訪問權限(隱私性更強)。 | 自動掃描,無需提示,安全性可能較低。 |
整體性能 | 更穩定、更精細、更注重隱私;適用于實際的編程任務 | 錯誤分析方面大有潛力,但在更深層次的代碼處理方面表現不一致。 |
結語
在比較這兩個CLI的功能時,我發現Codex比Gemini CLI提供更多的功能。目前,這兩個CLI都是開源的,在未來版本中會提供更強大的功能。
由于GPT模型會分析我們的代碼,Codex還可以通過以盡量降低安全風險的方式請求訪問我們的代碼庫和模塊,從而提供更高的隱私性。然而,Gemini CLI似乎不會定期請求訪問權限;相反,它會在想要運行應用程序代碼時請求。此外,我們應該記住:Gemini CLI 還會跟蹤終端右側的上下文。
與Cursor和Windsurf 等更智能的氛圍編程IDE結合使用時,此類CLI無疑將為氛圍編程工作流程和應用程序操作帶來新的可能性。然而,可能依然存在安全和隱私方面的漏洞,因此我建議謹慎選擇在代碼庫中授予這些CLI訪問權限的對象和位置。
原文標題:Iran seeks at least three cloud providers to power its government,作者:Shaik Hamzah