クラウドネイティブ Codex CLI クイックスタートガイド
クラウドネイティブ Codex CLI へようこそ!これは、公式 Codex 構成サブスクリプションサービスをベースとした強力なAIプログラミングアシスタントです。
システム要件
要件 | 詳細 |
---|---|
オペレーティングシステム | macOS 12+、Ubuntu 20.04+/Debian 10+ または WSL2 経由の Windows 11 |
Git(オプション、推奨) | 2.23+ 内蔵 PR アシスタント |
メモリ | 最小 4 GB(8 GB 推奨) |
1. Codex CLI をインストール
いずれかの方法を選択:
npm(汎用)
npm i -g @openai/codex
# ネイティブパッケージ名が必要な場合:
# npm i -g @openai/codex@native
codex --version
Homebrew(macOS)
brew update
brew install codex
codex --version
codex
が実行できない、または Node のバージョンが古い場合は、Node をアップグレード(一般に Node 22+ が必要)するか、Homebrew を使用してください。
2. GPTMeta Pro API キーを準備して Codex を設定
GPTMeta Pro API アカウント登録
ステップ1:登録ページへアクセス
- https://coultra.blueshirtmap.comにアクセス
- 登録ボタンをクリックして新しいアカウントを作成
- 必要な登録情報を入力
ステップ2:APIキーの作成
- ログイン成功後、APIキー管理ページに移動
- 新しいAPIキーグループを作成
3. グループ名として「高速安定チャンネル」を選択 4. APIキーを生成し、コピー
Codex 設定
Codex は起動時に ~/.codex/
から config.toml
を読み込みます。存在しない場合は作成:
mkdir -p ~/.codex
nano ~/.codex/config.toml
config.toml
に以下を追加(必要に応じて調整):
# トップレベルのデフォルト
model = "gpt-4o" # GPTMeta Pro API で利用可能なモデルに合わせて設定
model_provider = "coultra" # デフォルトのプロバイダ
[model_providers.coultra]
name = "GPTMeta Pro API (OpenAI互換)"
base_url = "https://coultra.blueshirtmap.com/v1"
env_key = "GPTMeta_Pro_APIキー" # APIキーを直接入力
wire_api = "chat" # OpenAI Chat Completions プロトコル
# 任意: プロファイルを定義してCLIで素早く切替
[profiles.coultra]
model_provider = "coultra"
model = "gpt-4o"
approval_policy = "on-request" # 必要時に確認
sandbox_mode = "workspace-write" # 現在のワークスペースへの書き込みを許可、依然としてオフライン
主要フィールドの説明:
model
/model_provider
: デフォルトのモデルとプロバイダ。[model_providers.<id>].base_url
: サービスの/v1
ルート。Codex は Chat Completions プロトコルで通信(通常POST {base_url}/chat/completions
)。env_key
: 資格情報を取得する環境変数。wire_api
: プロトコル種別。Chat Completions 互換は"chat"
。profiles.*
と--profile
: 設定をひとまとめにして実行時に素早く切替。
3. 実行と検証
現在のターミナルに COULTRA_API_KEY
があることを確認(手順2)。その後:
# プロファイルで実行
codex --profile coultra "このリポジトリ構成を日本語で説明して"
# またはデフォルトで実行(プロバイダはすでに coultra)
codex "APIからデータを取得しCSVとして保存するPythonスクリプトを生成して"
実行時、Codex はローカルサンドボックス内で「コードを読み、ファイルを編集し、コマンドを実行」します。権限が必要な場合は approval_policy
に従って確認します。workspace-write
はプロジェクトディレクトリ内のみ書き込みを許可し、引き続きオフラインです。
4. サンドボックス / 承認ポリシー早見表
承認ポリシー:
--ask-for-approval
またはapproval_policy
で対話度を制御。--full-auto
は利便フラグ(通知が少なく、サンドボックス内)。
サンドボックスレベル:
read-only
: 読み取り専用(書き込み不可、オフライン)workspace-write
: プロジェクト内で書き込み可、依然オフラインdanger-full-access
: 非推奨。サンドボックス無効化に相当- CLI は
--sandbox MODE
、設定はsandbox_mode="MODE"
を使用。
一時的にネットワークが必要ですか?現行バージョンは「デフォルトでオフライン」の安全性を重視します。「危険」モードや今後のネットワーク解放オプションは慎重に使用してください。
5. よくある質問 (FAQ)
① 401/403: APIキーが無効、または残高不足
- GPTMeta Pro API ダッシュボードでキーを再生成。
COULTRA_API_KEY
が現在のセッションで有効か確認(echo $COULTRA_API_KEY
)。 - CI の Secrets で環境変数を注入し、ハードコードを避ける。
② 404 / "Resource not found": base_url
が誤り
- 多くの互換実装では
base_url
は…/v1
を指す必要があります。プラットフォームによっては(例: Azure)追加のパスが必要。不完全なパスは 404。
③ --profile
が効かない、またはいくつかのキーが読み込まれない
- 新しいバージョンへアップグレード。古い版ではプロファイルの一部キー読み込みに既知の問題がありました。
④ npm インストール後に codex
が使えない、またはバージョンが合わない
- Node をアップグレード(推奨 22+)または Homebrew を使用。最近の版では npm パッケージと挙動に変更があります。
⑤ ローカル/サードパーティのプロバイダに接続できない、またはポートが違う
base_url
を確認。初期の版ではbase_url
/ポート周りのバグがあり、アップグレードで解決。
6. すぐに使える最小構成(MVP)
# ~/.codex/config.toml
model = "gpt-4o"
model_provider = "coultra"
[model_providers.coultra]
name = "GPTMeta Pro API (OpenAI互換)"
base_url = "https://coultra.blueshirtmap.com/v1"
env_key = "GPTMeta_Pro_APIキー" # APIキーを直接入力
wire_api = "chat"
[profiles.coultra]
model_provider = "coultra"
model = "gpt-4o"
approval_policy = "on-request"
sandbox_mode = "workspace-write"
起動コマンド:
export COULTRA_API_KEY="あなたのキー"
codex --profile coultra "このリポジトリにCLIサブコマンドを追加して"
7. 上級活用ヒント
CLI リファレンス
コマンド | 目的 | 例 |
---|---|---|
codex | インタラクティブTUI | codex |
codex "..." | 初期プロンプト付きインタラクティブTUI | codex "fix lint errors" |
codex exec "..." | 非インタラクティブ「自動化モード」 | codex exec "explain utils.ts" |
非インタラクティブ/CIモード
パイプラインでCodexをヘッドレス実行。GitHub Actionステップの例:
- name: Update changelog via Codex
run: |
npm install -g @openai/codex
export OPENAI_API_KEY="${{ secrets.OPENAI_KEY }}"
codex exec --full-auto "update CHANGELOG for next release"
モデルコンテキストプロトコル(MCP)
~/.codex/config.toml
でmcp_servers
セクションを定義することで、Codex CLIをMCPサーバーを使用するように構成できます。これは、ClaudeやCursorなどのツールがそれぞれのJSON構成ファイルでmcpServers
を定義する方法を反映するように設計されていますが、CodexはJSONではなくTOMLを使用するため形式が若干異なります。例:
# IMPORTANT: the top-level key is `mcp_servers` rather than `mcpServers`.
[mcp_servers.server-name]
command = "npx"
args = ["-y", "mcp-server"]
env = { "API_KEY" = "value" }