OpenClawだけAI APIにつながらない理由

OpenClawからAI APIへ接続できないとき、最初に疑いたくなるのはAPIキーやサービス側の障害です。しかし、ブラウザーでは同じAIサービスを開けるのにOpenClawの応答だけが止まるなら、認証情報だけでなくOpenClawが動作するプロセスの通信経路も確認しましょう。ブラウザーはOSのシステムプロキシを利用していても、ターミナルから起動したNode.jsアプリやバックグラウンドサービスが同じ設定を自動的に引き継ぐとは限りません。

さらに、OpenClawの構成によっては、設定画面やチャット画面を表示するローカルプロセスと、実際に外部APIを呼び出すゲートウェイやワーカーが分かれています。ブラウザーの画面が開くことは、API通信まで成功している証拠にはなりません。どのプロセスがリクエストを送信するのか、どの端末やコンテナ上で動いているのかを先に整理すると、確認するプロキシ設定を絞れます。

まず、エラーが出る操作を一度だけ実行し、その時刻、選択中のモデル、表示されたエラー文を記録します。同時にClashの接続一覧やログを開き、該当時刻に新しい接続が現れるかを確認してください。接続がまったく記録されない場合は、OpenClawがプロキシを通っていない可能性があります。接続は記録されるのに失敗する場合は、選択されたルール、ノードの状態、DNS、TLSエラーなどへ調査を進めます。

ℹ 切り分けの基本:一度にルール、ノード、DNS、環境変数を全部変更すると、何が効いたのか分からなくなります。ひとつずつ変更し、同じモデルと同じ操作で結果を比較してください。購読URLやAPIキー、認証トークンをログ共有時に公開しないことも重要です。

実行環境とプロキシ設定を確認する

OpenClawをデスクトップアプリとして起動しているのか、ターミナル、Docker、WSL、リモートサーバーから起動しているのかを確認します。Clashが動いているパソコンとOpenClawの実行環境が別なら、パソコン側でシステムプロキシを有効にしただけでは、別ホスト上のプロセスの通信経路は変わりません。Dockerコンテナからホスト上のClashへ接続する場合も、コンテナ内から到達可能なアドレスとポートを指定する必要があります。

ターミナルから起動している場合は、利用しているシェルやサービス管理ツールがプロキシ用の環境変数を受け取っているかを調べます。一般的には HTTP_PROXY、HTTPS_PROXY、ALL_PROXY などが候補になりますが、対応する変数や形式はアプリの実装、実行環境によって異なります。Clashのmixed-portやSOCKSポートを確認し、OpenClawが実際に利用する値と一致させてください。ポート番号を推測で設定すると、接続拒否や別サービスへの誤接続につながります。

変数を設定したシェルからOpenClawを起動しても、すでに常駐中のサービスやGUIアプリがその値を引き継ぐとは限りません。設定変更後は対象プロセスを正常に終了し、同じ方法で起動し直してから試します。サービスとして登録している場合は、対話型シェルではなくサービス側の環境設定を確認してください。また、NO_PROXY に対象ホストや広すぎるドメインが含まれると、設定したつもりでもAPI接続だけがプロキシを迂回することがあります。

「接続拒否」が出る場合は、Clashのコアが起動しているか、指定したポートで待ち受けているか、ローカルのファイアウォールが通信を遮断していないかを確認します。タイムアウトの場合は、ホスト名の解決、経路、ノード品質も調べます。エラー文を「プロキシへ接続できない」「APIホストへ到達できない」「認証後に拒否された」のように段階ごとに整理すると、無関係なAPIキー変更を繰り返さずに済みます。

Clashのモードを選び、接続を観測する

ClashのRuleモードは、設定されたルールに応じて通信をプロキシ、DIRECT、または指定グループへ振り分けます。OpenClawの画面が開いても、AI APIの接続先がDIRECTへ送られていれば、API呼び出しだけ失敗することがあります。最初は接続ログを見ながら対象ホストにどのルールが適用されたか確認し、想定したプロキシグループに振り分けられているかを確かめましょう。グループ名は利用中のプロファイルに存在するものを選びます。

Globalモードは、原因切り分けのために一時的に全通信を同じ選択先へ寄せる用途には便利ですが、通常運用で常時使う設定とは限りません。ほかのアプリの通信まで経路が変わるため、社内ネットワークやローカルサービスに影響する可能性があります。短いテストの後は元のモードへ戻し、Ruleモードで必要な通信だけを適切に分けるのが扱いやすい方法です。DIRECTに切り替えて接続できるか試す場合も、利用規約とネットワークポリシーに従い、検証後に設定を戻してください。

システムプロキシは、OSの設定を参照するアプリに向いています。一方、プロキシ設定を参照しないプロセスや一部の通信を捕捉したい環境では、対応クライアントとコアのTUNモードが候補になります。ただしTUNは仮想インターフェースや管理者権限、ルート設定に関わるため、初めての切り分けでいきなり有効にすると別の問題を増やす場合があります。まずmixed-portを利用した明示的なプロキシ接続を試し、それで不足する場合にTUNを検討してください。

接続一覧では、API呼び出しを行った時刻と一致するホスト名、通信のプロセス情報、適用ルール、選択されたポリシー、接続結果を見ます。ログにホスト名が出ない、またはOpenClaw以外の通信が混ざる場合は、操作を短い時間に区切って再現し、余分なアプリを閉じると観察しやすくなります。トラフィックがClashに届いているのにTLSエラーになるなら、単純にプロキシモードを切り替えるのではなく、証明書検査やネットワーク機器による干渉も含めて確認してください。

ルールとAPIホストを確認する

AIサービスの接続先を、サービス名だけから決めつけないことが大切です。OpenClawが利用するモデル提供元や認証方式によって、API、ログイン、トークン更新、利用状況確認などのホストは異なります。OpenClawの設定と提供元の公式ドキュメントを確認し、実際のClashログに表示されたホスト名をもとにルールを検討してください。SNSや古い設定例に載っているドメイン一覧をそのままコピーすると、現在のエンドポイントを取りこぼしたり、不要な通信まで同じ出口へ送ったりする可能性があります。

Clashのルールは通常、上から順に評価され、最初に一致した条件が適用されます。そのため、対象ホストをプロキシグループへ送るルールを追加しても、より広いルールが先に一致すれば追加行まで到達しません。プロファイルの末尾に新しいルールを足すだけでなく、既存のドメイン、IP、地域判定などのルールとの順序も確認します。特に MATCH は後続ルールへ進まないため、その上に必要な個別ルールがあるかをチェックしてください。

ルールを編集する前に、利用中のプロファイルをバックアップし、購読から自動生成される設定を直接書き換えていないか確認します。購読更新で上書きされる構成なら、クライアントが提供するオーバーライドやローカル設定の仕組みを使う方が安全です。ルールを追加した後は、YAMLの構文検証またはクライアントの設定チェックを行ってから再読み込みします。設定が読み込まれなかった状態で接続テストを続けても、変更前のルールが使われているだけということがあります。

認証ページだけ通り推論APIが失敗する場合、ログイン用ホストとAPI用ホストが別のルールに一致している可能性があります。また、同じサービスへの通信が異なる出口IPへ分散すると、サービス側のセッション検証に影響するケースもあります。必要に応じて認証とAPIを一貫したポリシーへまとめますが、むやみに大きなドメイン範囲を指定せず、ログで確認できたホストだけを対象にします。提供元が公表する接続要件がある場合は、そちらを優先してください。

DNS・ノード・応答時間を切り分ける

DNSに関する問題は、APIホスト名を解決できない場合だけでなく、Clash側とOpenClawの実行環境側で異なる結果を使っている場合にも起こります。まずエラーが特定ホストの名前解決に関係するかを確認し、ClashのDNS設定、OSやコンテナのDNS設定、プロキシ経由で解決する設定の有無を整理します。DNS設定を変更する際は、現在の設定を控えてから一項目ずつ試し、変更後に対象APIへの接続が改善したかを比較してください。複数のDNS機能を同時に切り替えると、原因の追跡が難しくなります。

ノードを調べるときは、速度テストの数値だけでなく、API接続時のタイムアウト、TLS確立までの時間、ストリーミング応答の途切れ方も見ます。短い速度テストが速くても、長時間の接続が不安定なノードはAI応答に向かないことがあります。同じモデル、同じ操作、同じプロキシグループでノードを一つずつ切り替え、ClashログとOpenClaw側のエラーを照らし合わせると、ノード固有の問題かどうか判断しやすくなります。

「APIへの接続は成功するが、応答の途中で止まる」場合は、単純なDNS失敗とは限りません。ストリーミング接続を中継する経路の品質、長時間接続を切断するネットワーク、ノードの混雑、サービス側の制限などを分けて考えます。別のノードで同じリクエストを行い、短い応答と長い応答の両方を比べてください。特定のモデルだけ失敗するなら、そのモデルの提供元やエンドポイントに関する設定差も確認します。

接続テストには、OpenClawの実際の実行環境から行う方法が有効です。ホストOSのブラウザーから成功しても、コンテナ内のDNSやプロキシ環境が異なれば結論は変わります。テストの目的は、一般的なサイトが開くかではなく、OpenClawが利用するAPIホストに同じ経路で到達できるかを確かめることです。認証情報をコマンド履歴や共有ログへ貼り付けず、秘密情報を含まない範囲で結果を記録してください。

変更を安全に反映し、原因を絞り込む

実務では、まずOpenClawの実行場所と起動方法を記録し、次にClashのコア、プロファイル、選択中のモード、mixed-portまたはSOCKSポートが稼働しているかを確認します。その後、同じエラーを一度再現して接続ログを見ます。対象通信がログに出ていなければ、実行環境のプロキシ設定やTUNの必要性を検討します。ログに現れているなら、適用ルールとポリシー、ノードの状態を確認し、それでも原因が見えないときにDNSやサービス側の状態を調べます。

設定変更は一回につき一種類に絞ります。例として、最初にOpenClawのプロセス環境だけを確認し、次にルールの一致先を調整し、最後にノードを比較します。それぞれの変更前後で、同じAPI操作を行った時刻と結果をメモします。成功した場合も、変更した内容を残しておけば、プロファイル更新後に再発した際に差分を追えます。直ったように見えたからといって、原因が分からないままルールを大量追加するのは避けてください。

接続はClash経由で確立しているのにAPIが認証エラーを返す場合は、通信経路よりもAPIキー、アカウント権限、モデル名、利用上限、提供元の障害情報を確認します。逆に、APIキーを変更してもClashログに失敗が残るなら、認証情報だけを何度も作り直すより、接続先ホストと選択ルールを見直す方が合理的です。エラーの発生段階を区別することで、ネットワーク問題とアプリやサービス側の問題を混同せずに済みます。

Clash for Windowsなど旧世代のクライアントや、OSのシステムプロキシだけに依存する構成では、バックグラウンドプロセスやコンテナの通信が設定から漏れることがあります。一方、Mihomo対応クライアントはルール、接続ログ、ポート、必要に応じたTUN設定をまとめて確認しやすく、OpenClawのように実行環境が複数に分かれる場面でも経路を追いやすくなります。画面構成や機能はクライアントごとに異なるため、利用環境に合うものを選び、まずは最小限の設定で疎通を確かめたい方はダウンロードするからClash V.COREを確認してください。