本文へ
ハクソク

世界を動かす技術を、日本語で。

OpenAI CLI

元記事: 原文(github.com)

概要

OpenAIのREST API用公式CLIの インストール方法、 基本的な使い方、 アップデート管理、 エラー処理 や 環境変数 設定について解説。 HomebrewやGoを使った導入手順、コマンド構造、APIキーの扱い方法を網羅。 CLIの 出力形式 や ファイル操作、 画像生成 など主要機能も詳述。 mTLS認証 や プロキシ対応、 コマンド補完 の詳細も記載。 セキュリティ考慮点や トラブルシューティング 手順も明記。

OpenAI REST API公式CLIのインストールと基本設定

  • OpenAI REST API用 公式CLI の提供
  • Homebrewでのインストール
    • brew install openai/tools/openaiコマンド利用
  • Goによるインストール
    • Goバージョン 1.26以上 が必要
    • go install 'github.com/openai/openai-cli/cmd/openai@latest'実行
    • バイナリはデフォルトで$HOME/go/binに配置
    • go env GOPATHでパス確認、必要ならPATHに追加

コマンド構造とAPIキー設定

  • CLIは リソースベース のコマンド体系
    • 例: openai <resource> [subresource...] <command> [flags...]
  • 標準APIエンドポイントには APIキー が必要
    • export OPENAI_API_KEY="sk-..."で設定
  • 管理者エンドポイントには 管理者APIキー
    • export OPENAI_ADMIN_KEY="sk-admin-..."
  • コマンドグループごとに--helpで詳細ヘルプ参照可能

アップデート通知とコマンド補完

  • CLIは 7日ごと に新しい安定リリースをチェック
  • Homebrewの場合はbrew upgrade --cask openai/tools/openaiでアップデート
  • Goの場合はインストールガイドを参照
  • OPENAI_CLI_NO_UPDATE_CHECK=1でアップデートチェック無効化
  • Bash、zsh、fish向けに Tab補完 対応
    • 新しいターミナルで補完機能が利用可能

基本的な使い方とファイル操作

  • 例: テキスト生成
    • openai responses create --input "Say this is a test" --model gpt-5.5
  • 例: 管理者コマンド
    • openai admin organization usage completions --start-time 1735689600 --end-time 1735776000 --bucket-width 1d
  • ファイルアップロード・取得・ダウンロード
    • openai files upload "upload space.txt" --purpose user_data
    • openai files get file-example
    • openai files download file-example --output "downloaded copy.txt"
  • 画像生成
    • openai images generate --prompt "A tiny orange robot"
    • 画像は~/Downloads/gpt-images/に保存

出力・エラー形式と環境変数

  • 出力形式は--format jsonや--format jsonlなどで指定可能
  • エラー出力も--format-error json等でカスタマイズ可
  • 主な環境変数一覧
    • OPENAI_API_KEY、OPENAI_ADMIN_KEY、OPENAI_ORG_ID、OPENAI_PROJECT_IDなど
  • グローバルフラグとして--api-key、--admin-api-key、--organization、--project等が利用可能

リクエストヘッダーとセキュリティ

  • --header(または-H)でリクエストヘッダー追加
    • 例: openai --header 'X-Trace-ID: example-123' models list
  • 機密情報はOPENAI_CUSTOM_HEADERS環境変数で安全に管理
  • ヘッダーはデバッグログやヘルプでマスキング処理

Mutual TLS(mTLS)認証

  • mTLSは β版 として提供
  • クライアント証明書と秘密鍵をPEMファイルで指定
    • OPENAI_MTLS_CLIENT_CERT_FILE、OPENAI_MTLS_CLIENT_KEY_FILEを設定
    • OPENAI_BASE_URLでエンドポイント指定
  • プライベートキーは厳重に管理、コマンド引数や環境変数に直接書かない

ファイル引数・パイプ入力

  • JSON値で@myfile.ext形式を使うとファイル内容を読み込む
  • バイナリアップロードはパス指定
  • 信頼できない入力を処理する場合はOPENAI_UNTRUSTED_STDIN=1で安全モード利用

備考

  • 詳細なコマンドやオプションは--helpで随時確認
  • APIキーや管理者キー、証明書などの機密情報は 安全な方法で管理 することが重要
  • トラブル時やアップデート時は 公式ガイド やヘルプを参照

提供: ハクソク · 要約更新:

AIによる日本語要約です。内容は原文とあわせてご確認ください。

Hacker Newsの議論を読む

Hackerたちの意見

このプレイは、自分のツールを使って問題を解決するためのモデルだと思う。最も効率的に使える方法を知っていて、最終的にはマネージドエージェントみたいなサービスを使うようになるんだよね。正直、これがもっと早く出てこなかったのが意外だわ。

これをCodexの代わりに使うべきタイミングっていつ?他のツールやエージェントから呼び出すためのものなのかな?

└

Codex = エージェントハーネス、OpenAI CLI = APIのラッパー

└

それが私の想定だった。もしかしたらClaudeを使ってるけど、OpenAIの画像生成を使わせたいとか?これには物理的に肩をすくめたわ。

これって月額の定額料金のクォータやAPIクレジットを消費するの?Anthropicにも似たようなものがあるのかな。 "claude -p"は定額クォータで使うのが不安定で、しばしば「追加使用」のクレジットが必要だったって聞いたけど。

└

claude -pは実際には追加使用として請求されたことはない。彼らはそうする計画を発表したけど、その後静かに棚上げした。

ちょっと待って、Codexって「OpenAI CLI」じゃなかったっけ?製品名がすごく混乱するよね(チャットとワークの違いとか?!)。まるで全部がバイブコードされてるみたい。

└

ビジネスを管理することが究極の目標だとしたら、これは論理的な結論だね。

└

両者は異なる目的を持っていて、製品間に合理的な区別があると思う。一つはOpenAIのワークスペースやAPIを管理するためのもので、もう一つは消費者向けの製品だ。OpenAI CLIツールをホワイトリストに入れるのは管理者として合理的だけど、Codexはそうじゃない。

└

Codexはインタラクティブだけど、これはバッチ処理みたいだね。

└

明らかにLLMベースの組織や製品について「vibecoded」の批判が理解できないんだよね。

2兆ドルの会社が、何かが何なのか、なぜ役に立つのか、何のためのものなのかを説明する1文すら作れないなんて、代わりに技術用語を並べるだけ。まるで誰かがIKEAの組み立てマニュアルの20〜40ページの難解な部分を渡して、ワクワクすることを期待してるみたい。何について?正確に?

Hacker Newsで議論の続きを見る

同じ出典の記事