AX Code を入手 · 無料ドキュメント

このページは英語版ドキュメントの翻訳です。コマンド、識別子、例はそのままです。ランタイム 7.24.4 · SDK 2.6.7。 英語版

カスタムプロバイダーとゲートウェイ

状態: 有効 範囲: 現行状態 最終確認: 2026-09-06 担当: ax-code ランタイム

AX Code は、標準のプロバイダープロトコルを通してモデルと話します。OpenAI 互換(/v1/chat/completions)または Anthropic 互換(/v1/messages)の API を話す任意のエンドポイントは、baseURL をそこへ向けることでカスタムプロバイダーとして追加できます。コード変更も、組み込みプリセットを待つ必要もありません。

これは、LiteLLM、one-api、new-api、Vercel AI Gateway のような自己ホストの集約器とリレーゲートウェイ、ならびにプライベートな企業プロキシや、その他の互換サービスを含みます。AX Code はこれらを一様に扱います。ワイヤプロトコルを話し、URL と鍵は利用者が供給します。

責任についての注意。 ゲートウェイは AX Code と上流モデルの間に座るため、プロンプト、コード、資格情報はそこを通ります。AX Code を第三者またはアカウントプールのリレーへ向けるとき、その運用者にデータを託すことを信頼し、それがルーティングするすべての上流プロバイダーの利用規約の範囲に留まる責任は利用者にあります。OpenRouter のような組み込みゲートウェイプリセットは、同じ標準プロトコル経路を使います。カスタムゲートウェイ設定は、いずれのリレー運用者の推奨も意味しません。

対話的なセットアップ

互換ゲートウェイには /connect → API クラウドプロバイダー → カスタム API プロバイダー を、AX Trust ゲートウェイには /connect → AX Trust → AX Trust に接続 を使います。ベース URL(AX Trust では /v1 を含む)とクライアント API キーを入力します。エディタはモデル ID とメタデータを発見し、資格情報を暗号化された認証ストレージに保存します。発見が使えない場合は、明示的なモデル ID も受け付けます。保存された URL に再接続するとき、トークンを空のままにすると、そのプロバイダー ID と鍵は保持されます。AX Trust 接続は、編集とモデル更新のあともカテゴリを保ちます。AX Code はそれらの接続で、セッション ID とともに X-AX-Prompt-Cache-Key を送るため、ゲートウェイは対象となる 1 つのアカウントにセッションを保てます。無効にするには provider.<id>.options.axTrust を false に設定します。このヘッダーは上流へ転送されず、本体の prompt_cache_key でもありません。

接続された AX Trust プロバイダーは、起動時にバックグラウンドでモデル一覧を更新します。AX Code は、設定されたエンドポイントの GET /models を既存の資格情報で呼び出し、モデル名、コンテキストと出力の上限、推論、ツール呼び出し、temperature 対応、画像対応を更新します。画像に対応するモデルは、/models に視覚マーカーを表示します。AX Trust が画像対応を広報するゲートウェイ別名も含みます。発見が完了すると TUI が更新されます。正確なファーストパーティの DeepSeek モデル ID では、欠けたメタデータが同梱の models.dev カタログから補われます。明示的なゲートウェイ能力フラグと上限が優先されます。未知の別名は、名前の類似で能力を継承しません。

成功した更新はランタイム一覧を置き換え、ゲートウェイがもはや広報しないモデルを除き、設定された許可リストと拒否リストはそれでも適用されます。タイムアウト、エラー、空または無効な応答は、保存された一覧を保持し、発見の失敗を記録します。起動はネットワークを待ちません。この更新はプロバイダー設定や資格情報を書き換えません。保存された設定は起動時のフォールバックのままです。通常のカスタム API プロバイダーは手動更新のままです。

プロバイダーの解決方法

各リクエストについて、AX Code はプロバイダー項目から 3 つのものが必要です。

  • npm — ワイヤプロトコルを話す AI SDK アダプター。OpenAI 形式のエンドポイントには @ai-sdk/openai-compatible を、Anthropic 形式のエンドポイントには @ai-sdk/anthropic を使います。同梱またはインストールできるのは @ai-sdk/* アダプターだけです。
  • options.baseURL — ゲートウェイ URL。プロバイダーの api フィールドへフォールバックし、次にモデル自身の api.url へフォールバックします。${ENV_VAR} の置換に対応します。
  • 資格情報 — options.apiKey から、次に永続化された認証ストアから、次にプロバイダーの env 変数から、この順で解決されます。

手動設定には、明示的な models マップも必要です。対話エディタは、エンドポイントから、または提供されたモデル ID から、このマップを埋めます。

専用のプライベート GPU クラウドは、/connect → プライベート GPU クラウド の下の第一級プロバイダーです。OpenAI 互換の URL とトークン(alibaba-pai、runpod、huggingface-endpoints、sagemaker、volcengine-ark、modelarts、tencent-ti、または custom-private-gpu)を貼り付けます。AX Code は GET …/models を呼び出し、配備されたモデル ID を自動で使います。

ホストされた GPU カタログ(nebius、fireworks-ai、togetherai、baseten、nvidia、deepinfra)は、API キーと同梱のモデルスナップショットを使います。OpenCode と同じパターンです。

OpenAI 互換ゲートウェイ

ほとんどの集約器(LiteLLM、one-api、new-api、無料または自己ホストのゲートウェイ)は、OpenAI 互換の表面を公開します。ax-code.json(グローバルは ~/.config/ax-code/ax-code.json、またはリポジトリルートのプロジェクトごと)に次を追加します。

{
  "$schema": "https://ax-code.app/docs-assets/schema/config.schema.json",
  "provider": {
    "my-gateway": {
      "name": "My Gateway",
      "npm": "@ai-sdk/openai-compatible",
      "options": {
        "baseURL": "https://gateway.example.com/v1",
        "apiKey": "${MY_GATEWAY_API_KEY}",
      },
      "models": {
        "gpt-4o": {
          "name": "GPT-4o (via gateway)",
          "tool_call": true,
          "reasoning": false,
          "attachment": true,
          "limit": { "context": 128000, "output": 16384 },
        },
      },
    },
  },
}
  • キー "my-gateway" は、/connect と ax-code models で選ぶプロバイダー id です。
  • models 配下の各キーは、ローカルの選択 ID です。ゲートウェイが期待する ID がそのキーと異なるときは、項目の id を ゲートウェイが期待する正確なモデル ID に設定します。そうでなければ、既存のカタログ対応がない手動宣言モデルにはキーが使われます。
  • 秘密がコミットされた設定に入らないよう、リテラルなキーより ${ENV_VAR} を優先します。

エンドポイント変更後のゲートウェイモデル別名

options.baseURL を変えても、手動設定されたモデル ID は翻訳されません。たとえば、AX Trust エンドポイントは deepseek-flash を広報し、既存のローカル選択は ax-trust/deepseek-v4-flash かもしれません。ローカルキーは残し、provider.ax-trust.models.deepseek-v4-flash.id を deepseek-flash に設定します。AX Code はそのとき、API リクエストでゲートウェイ ID を送ります。

AX Trust の DeepSeek Flash 設定例 を参照してください。関連するプロバイダーフィールドを既存の設定へマージし、他のモデルとその能力設定は保持します。例は {env:AX_TRUST_API_KEY} を使います。AX Code を起動する前にその環境変数を設定するか、既存の資格情報設定を保ってください。編集後は AX Code を再起動します。

403 model is not allowed を診断するときは、リクエストのモデル ID を、エンドポイントの認証済み GET /models 応答と比較します。モデル一覧リクエストの成功だけでは、モデルを実行する許可は確立されません。正確な ID がそれでも失敗する場合は、ゲートウェイのキーとモデルの権限を確認してください。

Anthropic 互換ゲートウェイ

/v1/messages(Claude API の形)を公開するリレーは、Anthropic アダプターを使います。

{
  "$schema": "https://ax-code.app/docs-assets/schema/config.schema.json",
  "provider": {
    "my-claude-gateway": {
      "name": "My Claude Gateway",
      "npm": "@ai-sdk/anthropic",
      "options": {
        "baseURL": "https://gateway.example.com",
        "apiKey": "${MY_GATEWAY_API_KEY}",
      },
      "models": {
        "claude-sonnet-4-6": {
          "name": "Claude Sonnet (via gateway)",
          "tool_call": true,
          "reasoning": true,
          "attachment": true,
          "limit": { "context": 200000, "output": 64000 },
        },
      },
    },
  },
}

一部の Anthropic 形リレーは、Claude の環境変数も直接尊重します。設定を編集せずに素早いヘッドレス実行をするには、次を設定できます。

export ANTHROPIC_BASE_URL="https://gateway.example.com"
export ANTHROPIC_AUTH_TOKEN="sk-..."

ゲートウェイを、厳選されたモデル一覧を持つ独自の選択可能なプロバイダーとして見せたいときは、設定項目が依然として推奨されます。

モデルフィールド

モデル項目はレジストリスキーマを再利用します。カスタムエンドポイントで有用なフィールドは次です。

フィールド 意味
name モデル選択での表示ラベル
tool_call モデルがツール/関数呼び出しに対応するか(ツールに必要)
reasoning モデルが拡張推論を出すか
attachment モデルが画像/ファイル添付を受け付けるか
limit 予算に使う { context, output } トークン上限
modalities 任意の { input, output } 配列(text、image、pdf、など)

能力フラグは、上流モデルが実際に対応するものに合わせて設定してください。AX Code はそれらを使って、ツール呼び出し、添付、コンテキスト予算をゲートします。

検証

設定を保存したあと:

  • ax-code models は、プロバイダーが公開するすべてのモデルを一覧します。
  • TUI 内の /connect はプロバイダーを示し、env キーを options.apiKey の代わりに使った場合は認証できます。

モデルが欠けている場合は、プロバイダー id、モデルキー、ゲートウェイが baseURL で到達できることを確認してください。

トラブルシューティング

  • 認証エラー — 資格情報の解決順を確認します。options.apiKey が優先され、そうでなければ env または認証ストアの鍵が使われます。
  • 停滞したストリーム — ゲートウェイは SSE をバッファすることがあります。プロバイダーで options.chunkTimeout(チャンクごと)と options.timeout(リクエスト全体)を調整します。
  • 拒否されたツール呼び出し — モデルに "tool_call": true を設定し、ゲートウェイの背後の上流モデルが実際にツールに対応することを確認します。