與 Codex CLI 的功能定位差異
OpenAI 明確區分了兩款命令列工具的用途:openai-cli 用於呼叫特定的 API 端點或將 API 操作整合進腳本中;而 Codex CLI(指令為 codex)則是一個編程代理,旨在協助開發者讀取、編輯程式碼,執行系統指令並除錯。
社群討論指出,部分使用者對產品命名混淆感到困惑,認為兩者名稱相似容易誤解。官方文件強調,若需讓 AI 代理在本地機器上處理專案任務,應使用 Codex;若僅需存取 API 功能如生成圖片或上傳檔案,則應使用 openai-cli。
安裝方式與系統支援
openai-cli 提供多種安裝途徑以適應不同開發環境。使用者可從 GitHub Releases 下載適用於 macOS、Linux 和 Windows 的預編譯二進位檔,解壓縮後將執行檔加入 PATH 環境變數即可使用。
對於 macOS 用戶,可透過 Homebrew 指令 brew install openai/tools/openai 進行安裝。若開發者已安裝 Go 1.26 或更高版本,也可使用 go install 'github.com/openai/openai-cli/cmd/openai@latest' 直接編譯安裝。
該工具在互動式執行時會檢查更新,但不會自動安裝新版本。使用者可設定環境變數 OPENAI_CLI_NO_UPDATE_CHECK=1 來停用更新檢查與通知。
認證機制與權限管理
使用 openai-cli 需要有效的 API 金鑰。開發者可透過執行 openai help setup 進入設定嚮導安全地輸入金鑰,或在腳本中透過環境變數 OPENAI_API_KEY 提供金鑰。
針對管理端點(Admin endpoints),工具使用獨立的 OPENAI_ADMIN_KEY 進行認證。例如,開發者可利用此權限查詢組織在特定時間範圍內的補全(Completions)使用量統計。
核心功能:圖片生成、檔案處理與批次作業
工具支援直接從終端機呼叫 API 資源。例如,使用 openai images generate --prompt "..." 可生成圖片並預設儲存至 ~/Downloads/gpt-images/,使用者可透過 --output-dir 指定其他目錄或使用 --name 自訂檔名。
檔案操作方面,支援上傳、取得與下載功能。指令如 openai files upload report.txt --purpose user_data 可上傳檔案,隨後可使用返回的檔案 ID 進行後續處理。
批次處理(Batch)功能允許使用者提交 JSONL 格式的请求檔,並透過 openai batches create 建立批次任務。工具提供等待批次完成並下載結果的指令,簡化了非同步 API 呼叫的管理流程。
輸出格式控制與腳本整合
為了便於自動化腳本處理,openai-cli 支援多種輸出格式。預設情況下,成功的 JSON 回應會顯示為易讀的文字格式;若需解析數據,使用者可明確指定 --format json、--format jsonl 或 --format yaml。
工具內建 GJSON 語法支援,允許透過 --transform 參數提取特定欄位。例如,openai files get file-example --transform filename --raw-output 可直接輸出檔案名稱而不包含其他元數據。
錯誤處理方面,錯誤訊息預設以易讀摘要形式輸出至 stderr。開發者可選擇使用 --format-error json 獲取詳細的 API 錯誤資訊,或使用 --transform-error 提取特定錯誤欄位。需注意,API 錯誤詳情與除錯日誌可能包含敏感資料,分享前應進行脫敏處理。
開發貢獻政策與授權條款
openai-cli 採用 Apache License 2.0 授權條款發布。然而,在貢獻流程上,官方僅接受來自儲存庫貢獻者(Collaborators)的 Pull Request,非貢獻者無法直接提交程式碼合併請求。
一般使用者若發現錯誤或有功能需求,應透過 GitHub Issues 進行回報。開發者可透過 ./scripts/run --help 在本地執行工具進行測試,並參考 CONTRIBUTING.md 了解詳細的開發與檢查規範。




