~/.codex/config.toml (wire_api = "responses") でカスタムモデルプロバイダーとしてUberLLMにOpenAIのCodex CLIを向けます。DeepSeek、GLM、Kimi、Qwen Coder、Claude、またはGPTを市場価格で、ツール呼び出しとファイル編集付きで実行します。
UBERLLM_API_KEYをエクスポートし、その後、~/.codex/config.tomlに[model_providers.uberllm]テーブルを、base_url https://api.uberllm.dev/v1,、env_key UBERLLM_API_KEY、wire_api "responses"を設定して追加し、model_provider = "uberllm"とモデルIDを設定します。UberLLMはCodexが呼び出すResponses APIを提供するため、シェルコマンド、ファイル編集、複数ステップのタスクがすべてのチャットモデルで機能します。
手順
- キーのページ]でキーを作成し、クレジットを追加します。
- Codexをお持ちでない場合はインストールします:
npm install -g @openai/codex。 - シェルプロファイル (
~/.zshrcまたは~/.bashrc) にキーを設定し、新しいターミナルを開きます:
export UBERLLM_API_KEY="ull_..."
~/.codex/config.tomlを開き (存在しない場合は作成します)、以下を追加します:
model = "moonshotai/kimi-k3"
model_provider = "uberllm"
web_search = "disabled"
[model_providers.uberllm]
name = "UberLLM"
base_url = "https://api.uberllm.dev/v1"
env_key = "UBERLLM_API_KEY"
wire_api = "responses"
- プロジェクトフォルダで
codexを実行し、タスクを与えます。
base_url は /v1 で終わるようにしてください。Codexがそれに /responses を追加します。env_key は変数の名前であり、キー自体ではありません。
モデルを切り替える
1回のセッションで-mを渡すか、例えば小さな修正にはcodex -m deepseek/deepseek-v4.1-flashを渡すか、またはファイル内でmodelを変更します。uberllm.dev/models]にある任意のチャットモデルIDが利用可能です。
スクリプトやCIの場合、codex execはインタラクティブな画面なしで1つのタスクを実行します。
codex exec --skip-git-repo-check "add a docstring to every function in utils.py"
追加する価値のある設定
model_context_window: CodexはOpenAIのリストにないモデルのコンテキストサイズを知らず、272,000トークンと仮定します。より小さなモデルの場合、uberllm.dev/models](uberllm.dev/models](/models))のそのモデルのページから数値を設定してください(例:model_context_window = 131072)。そうすれば、Codexは容量がなくなる前に会話を圧縮します。model_reasoning_effort:"low"、"medium"、または"high"は、思考するモデル(DeepSeek, Kimi Thinking, GLM, GPT-5)に渡されます。これを省略すると、モデルのデフォルト設定が使用されます。web_search = "disabled": Codexのウェブ検索はOpenAI自身のサーバーで実行されるため、他のプロバイダーを介して実行することはできません。これをオフにすると、モデルは使用できないツールを提供されません。
できること
Codexの各ツールはAPIからの通常の関数呼び出しとして機能します。そのため、Codexに追加するコマンド実行、ファイル編集、プラン、MCPサーバーはすべて、ツール呼び出しに対応するあらゆるモデルで動作します。Codexはすべてのターンで会話全体を送信するため(store = false)、呼び出し間でUberLLMに何も保持されません。各呼び出しは、アプリ名 codex の下の Dashboard → Activity に、そのコストとともに表示されます。
トラブルシューティング
wire_api = "chat"はサポートされなくなりました: Codex 0.95 以降は Responses API のみ対応しています。wire_api = "responses"を設定してください。- 401 または "Missing environment variable: UBERLLM_API_KEY": Codex が実行されているターミナルで、その変数がエクスポートされていません。プロファイルを編集した後、新しいターミナルを開くか、最初に
export UBERLLM_API_KEY=...を実行してください。 - 毎回 404 が発生します:
base_urlに/v1がありません。正確にhttps://api.uberllm.dev/v1である必要があります。 - "Model metadata for … not found. Defaulting to fallback metadata": Codex は、OpenAI 独自のリストにないすべてのモデルに対してこれを表示します。これは無害です。上記のように
model_context_windowを設定してください。 - モデルは応答しますが、コマンドを実行しません: 最初の表からモデルを選択してください。小さなモデルは、Codex のツール形式から逸脱する傾向があります。
- 402 クレジット不足: クレジットページ でクレジットを追加してください。厳密な上限を設定するには、キーに利用制限を設定してください。