なぜ Grok/xAI API 向けに分流を独立させるのか

プロキシは一つの出口にまとめても動きますが、xAI 周辺では次の理由で 専用ポリシー を切りたくなることが多いです。第一に、利用形態が コンシューマ向けWeb(grok.com)開発者向けAPI(api.x.ai) に分かれており、課金主体・認証フロー・レート制限の単位も別系統です。第二に、公式ドキュメントが示すとおり、グローバルエンドポイントと リージョン固定のサブドメイン(例:eu-west-1.api.x.ai) が共存するため、「同じ xAI でもホスト名がリクエストごとに変わる」状況が起きます。第三に、管理系(console.x.ai)や補助ドメイン(docs.x.ai、ステータス系の status.x.ai、管理APIの management-api.x.ai など)が追加で現れ、ブラウザのネットワークタブとターミナルの curl では 別のホスト集合 を叩いていることがあります。

ここで押さえるべきは、Clashのルールが 上から順に最初の一致だけ を採用するという原則です。xAI関連をまとめたブロックを、広い GEOIP や最終 MATCH より に置く。国内直結したい例外はさらにその上、という順序が崩れると、ログ上は期待どおりに見えて実際は別経路、という切り分け地獄に入りがちです。分流の骨格(proxy-groupsRULE-SETGEOIP)は Clash YAML ルール分流ガイド で扱っているので、本稿ではそこを前提に xAI/Grok 周辺に焦点 を当てます。

Web・コンソール・API で意識したいドメインの整理

エンドポイントはサービス側の都合で増減しうるため、以下は 設定時点での一般的な呼び方 として扱い、運用では開発者ツール・curl -v・Clashの接続ログで 実ホスト名 を確認してください。コンシューマ体験の中心は grok.com です。xAI API のRESTは api.x.ai がデフォルトで、低遅延の自動ルーティングが働きます。データを特定リージョンに固定したい場合は <region>.api.x.ai の形でホストが分岐するため、ルールを DOMAIN,api.x.ai だけに絞ると 意図せず別ホストがルール未命中 になることがあります。

キー発行や利用量の確認は console.x.ai、仕様確認は docs.x.ai が中心になりがちです。SDKやサードパーティのラッパーが別ホストを叩く場合は、ルールを足しても効かないのではなく そもそも別名で通信している 可能性を最初に疑うと早いです。静的資産やCDN、計測、サードパーティ埋め込みでサブドメインが増えることもあるため、一度だけ広い DOMAIN-SUFFIX,x.ai でまとめ、ログの matched rule を見ながら必要なら DOMAIN 行で上書きする、という二段構えが運用では扱いやすいです。

DOMAIN-SUFFIX を使うときの線引き DOMAIN-SUFFIX,x.aiapi.x.aiconsole.x.ai をまとめて拾えますが、.x.ai 配下の無関係なホストまで同じ出口に乗ると困る場合は、ログで実際に使う名前を確認してから、上段に DOMAIN を重ねるか、サフィックスを分割してください。

ポリシーグループ:「xAI 用」と汎用を分ける

実装の型としては、一般閲覧向けの 汎用出口(例:PROXY)と、レイテンシや安定性・コンプライアンス要件を優先した XAI-EXIT の二層がわかりやすいです。API だけ特定リージョンのノードに固定したい場合は、ルール右端を XAI-EXIT にし、grok.com の体験は別グループへ、といった切り分けがよく使われます。select で手動固定するか、url-test で応答の良いノードを選ぶかはチーム方針次第ですが、APIの成否はテストURLより 実際の api.x.ai(または選択したリージョンホスト)への到達 で見るのが確実です。

proxy-groups の各 type の挙動自体は汎用ガイドと同じです。ストリーミング応答で途中切断が多いときは、ノード品質と中間機器のタイムアウトを疑い、併せてコアの世代差がないかを確認します。必要に応じて Clash Meta(mihomo)コアのアップグレード も視野に入れてください。

proxy-groups:
  - name: "XAI-EXIT"
    type: select
    proxies:
      - "node-us"
      - "node-eu"
      - "REJECT"
  - name: "PROXY"
    type: url-test
    # ...

DOMAIN-SUFFIX とルール優先順位(OpenAI/Claude 記事との役割分担)

以下は たたき台 です。購読プロファイルでは、これらの行を GEOIPMATCH より上に置き、ポリシー名を自環境に合わせて置き換えてください。ChatGPT/OpenAI 向け・Claude/Anthropic 向けの具体例はそれぞれ 別稿別稿 で扱っており、本稿は xAI/Grok に単語とドメインを寄せています。製品が違うだけで「ルールの書き方」は同型なので、三本を対にして読むとメンテが楽になります。

rules:
  - DOMAIN-SUFFIX,grok.com,XAI-EXIT
  - DOMAIN-SUFFIX,x.ai,XAI-EXIT
  - DOMAIN,api.x.ai,XAI-EXIT
  # If you pin a region in the SDK, also allow that host explicitly, e.g.:
  # - DOMAIN,eu-west-1.api.x.ai,XAI-EXIT
  # Then generic rules, e.g. RULE-SET / GEOIP / MATCH

ルール優先順位 でハマりやすいのは、購読の RULE-SET が先にマッチしてしまい、追記した xAI 行が死んでいるパターンです。対策は、該当行を より上へ移動 するか、購読側の並びと方針を見直すことです。逆に、DOMAIN-KEYWORD を広く書きすぎると別サービスまで巻き込み、思わぬ 遮断 や逆フローを招くので、ログの「matched rule」を見ながら狭めるのが安全です。Rule Providers の扱いは YAML分流ガイド の該当節も参照してください。

CLI・SDK・CI からの API 呼び出し

ターミナルやGitHub ActionsからOpenAI互換SDKを使う場合、base_urlhttps://api.x.ai/v1 に差し替える例が多いですが、そのプロセスがシステムのプロキシ設定とClashの TUN/システムプロキシ の組み合わせで、ブラウザと別経路になることがあります。「YAMLは合っているはずなのに API だけ直結」というときは、HTTPS_PROXY などの環境変数、コンテナの /etc/resolv.conf、ホスト側のDNSモードを確認してください。リージョン固定ホストを使うと、グローバル api.x.ai 用のルールだけでは拾えないので、実際にSDKが解決したFQDN をルールに足すのが定石です。

よくある遮断と切り分けのヒント

設定を入れても期待どおり動かないとき、次の観点で順に見ると迷子になりにくいです。

  • HTTP 403・利用不可メッセージ:プロキシ以前に、アカウント状態・チームポリシー・リージョン制約・サービス側の利用制限が原因のことがあります。出口を変えても解決しないタイプと、表示文言が地域やデータ取り扱いに触れているタイプを区別してください。
  • 429 やレート制限:APIキー単位・組織単位の枠に達している場合、分流ルール をいじっても改善しません。レスポンス本文とコンソールの利用状況を先に確認します。
  • リージョン固定ホストだけ失敗:SDKで eu-west-1.api.x.ai 等を指定しているのに、ルールが api.x.ai だけを許可しているパターンです。ログの接続先FQDNに合わせて DOMAIN 行を追加します。
  • TLS ハンドシェイク失敗・証明書エラー:企業プロキシのMITMや、古いルート証明書を持つノードで起きがちです。同じノードで一般HTTPSが通るかも併せて見ます。
  • タイムアウト・ストリーム途中切断:長い生成では中間機器のタイムアウトが効くことがあります。マッチしたルールと実際の出口をログで確認し、より安定したノードへ切り替えます。
  • DNS の見え方:fake-ip や nameserver-policy を使っていると、ドメインルールと解決結果の組み合わせで挙動が変わります。想定外のIPに解決されていないか、ログで追います。
  • 誤マッチ・順序逆転:広すぎる条件や、購読ルールとの順序競合。ログの matched rule を見て行を足すか入れ替えます。
利用規約と法令の遵守 本稿は技術的な分流の説明にとどまります。利用者の地域・所属組織の方針・各サービスの規約に従ってください。

動作確認:ログで「どのルールに当たったか」を見る

設定変更後は、クライアントのログで 対象ホストがどのポリシーに割り当てられたか を確認するのが最短です。「xAI行を足したのに変わらない」場合、多くは より上の行で既に一致している か、実ホスト名が想定と違う かのどちらかです。ブラウザのネットワークタブでホスト名を拾い、それに合わせて DOMAIN 行を追加すると改善することがあります。

モバイルでは Clash for Android など、端末固有の省電力やVPN権限でPCと症状が変わる点にも注意してください。分流ルールが正しくても、端末側でトラフィックがプロキシに乗っていないケースがあります。

まとめ

2026年のマルチモデル運用では、GrokxAI API を安定して使うコツは、ログでホスト名を確認し、grok.comx.ai 系を DOMAIN-SUFFIX などで 分流ルール に載せ、必要なら リージョン付きAPIホスト を明示し、ポリシーグループ で出口方針を分け、ルール優先順位 を崩さないことに集約されます。OpenAI向け・Anthropic向けの分流と型は同じでも、ドメインと典型トラブルは異なるため、ChatGPT/OpenAI APIClaude/Anthropic と本稿を対で持っておくと、チーム内の設定レビューも速くなります。一方で、403や組織ポリシー由来の制限はプロキシの外側にあるため、技術調整とあわせて公式の表示も冷静に確認する姿勢が大切です。

クライアントの組み合わせは人それぞれですが、GUIの見え方やコアの世代で迷いがちな点は共通しています。入手と比較は ダウンロードページ からまとめて確認でき、長く使うほど「自分用の分流ノート」をYAMLに少しずつ足していくのが、最も確実な運用になります。同系のツールのなかでも、設定の見通しと更新のしやすさでいえば Clash 系は一歩抜けた体験になりやすいです。

Clashを無料ダウンロード — Metaコア対応の各クライアントを比較し、自分の環境に合うものから試せます。

関連:YAML ルール分流の全般技術コラム一覧