OpenAI Codex CLI 是一款開源命令列工具,可將 OpenAI 最新推理模型的強大功能直接帶到您的終端。可以把它想象成活在你 shell 中的輕量級人工智慧編碼助手:它可以讀取你的程式碼、修改檔案,甚至在你的專案環境中執行命令。這意味著你可以要求它構建功能、修復漏洞或解釋不熟悉的程式碼,而無需離開你的開發工作流程。簡而言之,這就是聊天驅動的開發 – 你用自然語言與 Codex 互動,它就會回應你的程式碼編輯或命令結果,從而有效地為你提供 ChatGPT 級別的推理能力,以及執行程式碼和即時檢視結果的能力。聽起來很吸引人,對嗎?在本文中,我將進一步告訴你如何訪問它並用於查詢。
OpenAI Codex CLI的主要功能
OpenAI Codex CLI擁有多項強大功能,是開發人員的得力助手。Codex CLI 的最大優勢之一是它完全在本地機器上執行。您的原始碼和檔案將保留在您的環境中,而不會批次上傳到雲服務。只有您的提示和高階上下文(如差異彙總或相關片段)才會被髮送至 OpenAI API 以生成響應。由於 CLI 是開源的,並且在本地工作,因此它在設計上為您提供了隱私和控制–您的工作流程和程式碼保持私有。因此,Codex CLI 對那些不能或不想共享的程式碼庫特別有吸引力,同時還能利用強大的人工智慧輔助功能。
透過直接整合到終端,Codex CLI 自然而然地融入了開發人員的日常工作。你可以在 git 命令、文字編輯器和構建工具旁邊與人工智慧助手聊天,這意味著與使用單獨的聊天介面相比,上下文切換更少。該工具專為快速迭代而設計:提出問題或下達指令,讓它提出建議或應用修改,執行程式碼,然後重複–所有這一切都在同一個地方完成。
以下是一些亮點:
1. 零設定安裝
Codex CLI 執行起來非常簡單。您只需要 Node.js 和 OpenAI API 金鑰,只需執行類似 npm install -g @openai/codex 這樣的命令即可全域性安裝 CLI,無需其他設定。無需複雜的配置或環境設定;只需帶上 API 金鑰,它就能“正常工作”。(您甚至可以使用簡單的 codex -upgrade 命令隨時更新到最新版本)。
2. 原生終端設計
Codex 完全在終端中執行,因此感覺就像是 shell 環境的自然擴充套件。你可以從你的專案目錄中呼叫它,並讓它與你的本地檔案和工具進行互動。這種終端原生方法意味著你無需切換到瀏覽器或圖形使用者介面,非常適合在編碼時保持流程和上下文。CLI 提供類似聊天的文字互動介面,因此你可以在控制檯中直接看到人工智慧的響應(如程式碼差異或命令輸出)。
3. 多模態輸入
與純文字工具不同,Codex CLI 接受多模態輸入–你不僅可以傳遞文字提示,還可以傳遞截圖或圖表等圖片來引導助手。例如,你可以將錯誤資訊的截圖或使用者介面草圖拖入終端,Codex 就能對其進行解釋並採取行動。這是一項獨特的功能,它能讓人工智慧利用視覺資訊生成或編輯相應的程式碼。在引擎蓋下,它使用支援視覺的模型來理解影像,從而實現根據堆疊跟蹤截圖進行除錯或根據線框構建佈局等用例。
4. 豐富的審批工作流程
透過豐富的審批系統,Codex CLI 可以讓你對它的自主操作進行精細控制。您可以在三種模式(建議、自動編輯、完全自動)之間進行選擇,以決定人工智慧建議的程式碼更改或命令是自動執行還是需要您的確認。這種靈活的工作流程可讓您決定自己的實際操作程度:您可以從保守的方式(對所有事情進行手動審批)開始,然後再對重複性任務進行完全自動化。我們將在下一節深入探討這些模式,但關鍵的一點是,Codex 不會做出你不喜歡的更改–你總是負責審批。
5. 本地執行與隱私
所有程式碼執行和檔案編輯都是在你的機器上,在你的專案環境中進行的。除了模型查詢外,不會向外傳送任何內容–CLI 不會將您的程式碼庫上傳至 OpenAI。這意味著您可以完全保密。您可以放心地在專有或敏感程式碼上使用 Codex CLI,因為該工具不會保留或共享您的資料。即使在使用最自主的模式時,Codex 也是在沙盒環境中執行,沒有網路訪問許可權,從而確保其採取的任何行動都是在您的系統本地進行的。簡而言之,你可以在不放棄隱私或安全的前提下,獲得人工智慧對程式設計師的好處。
你必須知道的Codex CLI模式
Github 連結:openai/codex
Codex CLI 的一個突出特點是它的審批工作流程–基本上,你可以決定人工智慧有多大的自由度來進行更改或執行命令。有三種審批模式: 建議、自動編輯和完全自動。每種模式都在自動化和使用者監督之間取得了不同的平衡,因此你可以根據手頭的任務選擇適合自己的模式。下面概述了它們的工作原理:
1. 建議模式(預設)
這是最保守的模式,非常適合你想仔細審查所有內容的情況。人工智慧可以讀取你的專案檔案,並提出程式碼編輯或終端命令的建議,但未經你的明確批准,它不會應用更改或執行任何操作。從本質上講,Codex 會像專家顧問一樣與你互動:它可能會為修復錯誤提出補丁差異,或顯示執行測試的 shell 命令,然後請求你的確認。建議模式適用於安全探索,例如學習新程式碼庫或進行程式碼審查,在這種情況下,你可以看到建議,但需要手動應用。
2. 自動編輯模式
在自動編輯模式下,Codex 可以自動應用程式碼更改(它可以自行編輯/寫入檔案),但在執行任何 shell 命令前仍必須詢問。這種模式非常適合重構或在程式碼庫中進行重複編輯等任務。它既能獲得人工智慧直接修改程式碼的效率,又能在執行任何程式前保留一個控制檢查點。例如,Codex 可能會在多個檔案中重寫一個函式,並立即儲存更改,但如果它想執行你的測試套件或啟動開發伺服器,就會暫停並徵求你的同意。自動編輯模式是一個平衡點:編碼迭代速度更快,但你仍能監督命令等副作用。
3. 全自動模式
全自動模式賦予人工智慧最大的自主權。Codex 可以讀寫檔案,也可以自行執行 shell 命令,無需等待批准。在這種模式下,它將成為一個真正的自動代理–你可以要求它執行一項複雜的任務,然後坐下來等它完成所有步驟。為確保安全,全自動執行模式在受限沙箱中執行:所有命令都在禁止網路訪問的情況下執行,並以專案目錄為範圍(不能在外部徘徊或訪問網際網路)。這種模式非常適合較長時間的任務,你可以信任人工智慧的迭代能力,例如,在你短暫休息時修復一個損壞的構建或開發一個新功能的原型。當然,你應該謹慎使用 “全自動 ”模式–它功能強大,但你要確保已經備份或版本控制了你的程式碼(在啟動“自動編輯”或“全自動”模式時,如果你不在 git 倉庫中,CLI 實際上會向你發出警告)。
模式比較
下表總結了三種模式之間的差異,以及每種模式的典型用例:
模式 | What the Agent Can Do | When to Use (Use Cases) |
Suggest (default) | – 讀取軟體倉庫中的任何檔案- 提出編輯和 shell 命令(需要你的批准才能應用/執行) | 安全探索程式碼庫、程式碼審查、學習新專案的結構,在這些情況下,您需要完全控制更改 。 |
Auto Edit | – 讀取和修改檔案(自動應用編輯)- 提出 shell 命令(執行仍需審批 | 重構程式碼或進行批次編輯,同時關注副作用。非常適合重複性修改,手動檔案編輯非常乏味,但你仍希望批准任何命令 。 |
Full Auto | – 自主讀取、寫入和執行命令(所有操作均自動批准)- 在沙箱中執行(無網路,僅限於專案目錄 | 大型或耗時的任務,如修復破損構建中的所有測試或從頭開始構建一個新的應用程式。當您想將執行工作完全委託給人工智慧(如快速原型開發)時 。 |
實際上,您可以根據自己的情況選擇合理的模式。預設情況下,如果只執行 codex,它會以建議模式啟動。要明確選擇一種模式,可以在啟動 CLI 時使用一個標記:例如,使用 -auto-edit 或 -full-auto 以這些模式啟動 。還有一個互動式命令 (/mode) 可以在會話期間切換模式 。這樣,你可以從建議模式開始,看看 Codex 打算做什麼,然後在對它的建議感到滿意後切換到自動編輯模式,在任務的最後階段再切換到全自動模式。重要的是,你可以隨時控制自主程度。
Codex CLI的系統要求
在安裝 Codex CLI 之前,請確保您的開發環境滿足最低要求。該工具可跨平臺使用,但目前在類 Unix 系統上執行效果最佳。以下是最低和推薦規格:
要求 | 最低配置 | 推薦配置 |
Operating System | macOS 12+ or Ubuntu 20.04+/Debian 10+ (Linux); Windows 11 via WSL2 | 最新的作業系統更新(最新的 macOS 或 LTS Linux 版本;Windows 使用最新的 WSL2),以獲得最佳相容性。 |
Node.js | 22 (或者更高版本) | 最新的 Node.js LTS 版本(>= 22),以確保穩定性。 |
Git (optional) | 2.23+ (if using version control features) | 可用的最新 Git(可選,但建議使用 PR 助手等完整功能)。 |
Memory (RAM) | 至少4 GB | 8 GB 或以上(以便在大型任務中更流暢地執行)。 |
Codex CLI 已在 macOS 和 Linux 上進行了測試。Windows 使用者可以透過 WSL2(Windows Subsystem for Linux)執行它,因為原生 Windows 支援仍處於試驗階段 。您還需要一個 OpenAI API 金鑰(來自您的 OpenAI 賬戶)來驗證 CLI,我們將在下文介紹。除此之外,不需要其他特殊硬體;只要能執行現代 Node.js,就可以使用了。
注意:使用 Codex CLI 時,建議將專案置於原始碼控制 (git) 下,尤其是自動模式。雖然執行 CLI 並不嚴格要求 Git,但有了版本控制,您就可以輕鬆檢視更改,並在需要時進行回滾。事實上,如果你試圖在非 git 倉庫的目錄中使用自動編輯或完全自動,Codex 會發出警告提醒你。
如何使用OpenAI Codex CLI?
第 1 步:安裝Node.js
- 從 nodejs.org 下載 Node.js v22+ 。
- 使用預設設定安裝。
- 驗證安裝:
bash node --version # Should show v22+ npm --version # Should show v10
第 2 步:安裝Codex CLI
bash npm install -g @openai/codex
- 故障排除:如果出現許可權被拒絕的錯誤:
- Windows:以管理員身份執行 PowerShell。
- Linux/macOS:使用 sudo npm install -g @openai/codex (不建議使用;請修復 npm 許可權)。
第 3 步:設定OpenAI API金鑰
用於PowerShell(Windows):
Powershell
$env:OPENAI_API_KEY = "your-api-key-here"
要使其永久有效:
Powershell
setx OPENAI_API_KEY "your-api-key-here"
適用於Git Bash/MINGW64:
bash export OPENAI_API_KEY="your-api-key-here"
要使其永久有效,請新增到 ~/.bash_profile:
bash nano ~/.bash_profile # Add "export OPENAI_API_KEY=..." source ~/.bash_profile
第 4 步:修復“sh.exe”錯誤(僅限 Windows)
- 從 git-scm.com 安裝 Windows 版 Git。
- 安裝過程中,選擇 “在命令提示符中使用 Git 和 Unix 工具”:
- 選擇 “在命令提示符下使用 Git 和 Unix 工具”。
- 啟用 “啟用符號連結”。
- 重啟終端
第 5 步:執行 Codex
互動模式
互動式執行:
第 4 步:執行Codex
互動模式
互動式執行:
Codex
動手實踐OpenAI Codex CLI構建遊戲和影像字幕應用程式
任務 1:基本提示執行
我從一項簡單的任務開始,要求 Codex 寫出 2-3 句關於我自己的內容。CLI 迅速而準確地做出了反應,在短短幾秒鐘內就生成了連貫、語法正確的輸出。即使輸入量極少,它也表現出了很強的提示理解能力和流暢性。
任務 2:使用 OpenAI 模型的影像字幕應用程式
接下來,我嘗試構建一個更復雜的應用程式:一個影像字幕工具,使用者上傳影像並接收由 OpenAI 模型生成的描述性字幕。雖然 Codex 提供了一個不錯的起點,但其程式碼已經過時–引用了已廢棄的程式碼,並且缺少檔案處理和模型整合的關鍵元件。我不得不自己動手更新程式碼。(我附上了一張截圖以供參考。)這突出了一個侷限性:對於較新或文件較少的應用程式介面,Codex 可能會依賴於較舊的模式或不完整的實現。
Codex CLI 出錯
任務 3:用Python和Pygame玩俄羅斯方塊遊戲
輸出
在最後一項任務中,我要求 Codex 使用 Python 和 Pygame 製作一個俄羅斯方塊遊戲。這一次,它成功了。程式碼結構合理,功能齊全,無需進行重大修改。遊戲執行流暢,包含了所有核心機制–方塊移動、旋轉、清線和計分。這充分證明了 Codex 在與 Pygame 等成熟的庫協同工作時處理基於圖形的互動式專案的能力。
Codex CLI使用案例
Codex CLI 可在多個常見任務中為您的開發工作流程增添動力:
- 錯誤修復:當你遇到錯誤或測試失敗時,可使用建議模式詢問諸如 “為什麼登入函式會出錯?Codex 會分析程式碼,發現問題(如變數錯誤或檢查缺失),並提出修復建議。您將稽覈並批准補丁。對於更棘手的問題,全自動模式可讓 Codex 透過反覆執行測試和應用更改來修復多個故障。你仍需驗證結果,但它會處理繁重的工作。
- 程式碼重構:跨檔案的程式碼重構–比如從回撥切換到 async/await–可能很繁瑣。在自動編輯模式下,Codex 可在整個程式碼庫中應用一致的更改。例如,說 “將 API 路由重構為 async/await”,它就會處理檔案編輯,只在需要時暫停。你可以透過差異來監督更改,讓 Codex 來做粗活,而你則負責監督質量。
- 學習新的程式碼庫:剛剛克隆了一個版本庫?使用建議模式提問:“排程器類是做什麼的?”或“身份驗證是如何工作的?” Codex 會讀取程式碼並用淺顯易懂的語言進行解釋,幫助你快速瀏覽陌生的專案。您可以請求摘要,瞭解模組職責,並在不做修改的情況下探索功能。
- 原型設計和腳手架:想要啟動一個新專案或功能?全自動模式可以生成程式碼並設定一切。讓它“用 Flask 建立一個簡單的 TODO 網路應用程式”,它就會自動生成檔案、安裝依賴關係並執行應用程式。對於諸如“為該 CLI 工具新增 CSV 匯出 ”之類的新功能,Codex 會編寫並整合程式碼,為你提供一個工作基線。
Codex CLI 就像一個人工智慧配對程式設計師,從日常編輯到複雜的自動化,它都能提供幫助。根據任務的不同,你可以控制它的動手或自主程度。
小結
有了 OpenAI Codex CLI,開發人員就能在終端上獲得一個友好的人工智慧夥伴–它能對程式碼進行推理,並處理編輯和執行程式碼的機制。我已經介紹了什麼是 Codex CLI 以及它是如何工作的,從它的零工作量安裝到讓你掌控一切的巧妙審批模式。你已經看到了如何入門和執行一些基本命令,以及它如何幫助修復 bug、重構、學習程式碼庫和構建新創意原型等實際應用案例。從本質上講,Codex CLI 將 ChatGPT 體驗帶入你的開發環境,將自然語言指令轉化為可執行的程式碼,而這一切仍由你掌控。這是一款令人興奮的工具,它體現了人工智慧輔助軟體開發的未來:快速、靈活,並以增強開發人員能力為宗旨。在你的下一個專案中試試吧!
評論留言