Codex CLI を自分の GPU で。
LM Warden を Codex CLI のカスタム モデル プロバイダーとして設定し、提供中のモデルを一つ使います。
テキストによる説明: Codex CLI は、base_url に warden を、env_key に warden のキーを設定して LM Warden にリクエストを送ります。LM Warden はキーを確認し、OpenAI Responses 形式でリクエストを受け付け、キーの優先度に従ってリクエストをキューに入れ、レプリカ ルーターに渡します。ルーターは各セッションを、そのキャッシュをすでに保持しているレプリカ (GPU ごとに一つ置かれたモデルのコピー) に留めます。
- プロトコル
- OpenAI Responses
- サポート
- ローカル モデルのみ
ローカル モデルのみです。Codex は Responses API にしか対応していないので、warden が提供中のモデル向けに POST /v1/responses を Chat Completions に変換し、応答、ツール呼び出し、使用量は Responses イベントとして Codex に届きます。ステートレスです。Codex は毎ターン store:false と会話全体を送り、previous_response_id は拒否されます。思考は既定でオンです (Codex は推論の要約を求め、モデルの推論は要約として表示されます。オフにするには config.toml で model_reasoning_effort = "none" を設定します)。ホストされた Web 検索は省かれ (web_search = "disabled" を設定)、ルーターのルールは適用されません。model_context_window にはモデルの実際のウィンドウを設定してください。Codex は知らない名前には 272k を想定します。エンジンではツール呼び出しを有効にする必要があります (vLLM:--enable-auto-tool-choice と --tool-call-parser)。読み込まれていないモデルへのリクエストは 404 になり、Codex は数秒間再試行してから諦めます。
要件
- ツール呼び出しに対応したモデルが必要です (エージェントによる編集のため)。
- 32,768 トークン以上のコンテキストで最もよく動きます。
セットアップ
コンソールでは、Connect が warden のアドレス、キー、選んだモデルを入れてこれらのファイルを書き出します。ここではプレースホルダーを使って示しています。
ローカル モデル
~/.codex/config.toml で LM Warden をモデル プロバイダーとして追加します。
config.toml (~/.codex/config.toml)model = "your-served-model-name" model_provider = "lmwarden" # Codex assumes a 272k window for models it does not know; set the real one. model_context_window = 32768 [model_providers.lmwarden] name = "LM Warden" base_url = "https://your-warden/v1" env_key = "LMWARDEN_KEY" wire_api = "responses" # The model's context window is unknown: 32768 is a guess. Set it to the model's real window.
export LMWARDEN_KEY=vw_YOUR_KEY codex exec "Reply with the single word OK."
公式ドキュメント:https://learn.chatgpt.com/docs/config-file/config-reference (2026-10-04 時点)。