はじめに
多くのネットワーク環境では、OpenAI、Claude などの AI サービスの API に直接アクセスすることが制限される場合があります。プロキシを正しく設定することで、OpenClaw を制限されたネットワークでも正常に動作させることができます。本記事では、HTTP プロキシ、SOCKS5 プロキシ、およびモデルごとのプロキシ設定方法について詳しくご紹介します。
環境変数によるプロキシ設定
最も簡単な方法は、環境変数でグローバルプロキシを設定することです。OpenClaw は以下の標準環境変数を自動的に読み取ります。
| 環境変数 | 説明 | 例 |
|---|---|---|
HTTP_PROXY |
HTTP リクエスト用プロキシ | http://127.0.0.1:7890 |
HTTPS_PROXY |
HTTPS リクエスト用プロキシ | http://127.0.0.1:7890 |
ALL_PROXY |
すべてのリクエスト用プロキシ(優先度最低) | socks5://127.0.0.1:1080 |
NO_PROXY |
プロキシを経由しないアドレスリスト | localhost,127.0.0.1,.local |
Linux / macOS での設定
ターミナルで OpenClaw を起動する前に、環境変数をエクスポートします。
export HTTP_PROXY="http://127.0.0.1:7890"
export HTTPS_PROXY="http://127.0.0.1:7890"
export NO_PROXY="localhost,127.0.0.1"
openclaw up
毎回自動的に適用したい場合は、~/.bashrc または ~/.zshrc に記述します。
echo 'export HTTP_PROXY="http://127.0.0.1:7890"' >> ~/.bashrc
echo 'export HTTPS_PROXY="http://127.0.0.1:7890"' >> ~/.bashrc
source ~/.bashrc
Windows での設定
PowerShell の場合:
$env:HTTP_PROXY = "http://127.0.0.1:7890"
$env:HTTPS_PROXY = "http://127.0.0.1:7890"
openclaw up
永続化が必要な場合は、システム環境変数に追加してください。
設定ファイルによるプロキシ設定
環境変数のほか、OpenClaw の設定ファイルでプロキシを直接設定することもできます。~/.config/openclaw/openclaw.json5 を編集します。
{
// グローバルプロキシ設定
proxy: {
// HTTP/HTTPS プロキシアドレス
url: "http://127.0.0.1:7890",
// プロキシを経由しないホスト名リスト
bypass: ["localhost", "127.0.0.1", "192.168.*"]
}
}
SOCKS5 プロキシ設定
SOCKS5 プロキシ(SSH トンネルや Shadowsocks など)を使用する場合は、以下のように設定します。
{
proxy: {
url: "socks5://127.0.0.1:1080",
// プロキシに認証が必要な場合
username: "your-username",
password: "your-password"
}
}
環境変数で SOCKS5 を使用することもできます。
export ALL_PROXY="socks5://127.0.0.1:1080"
openclaw up
モデルごとの個別プロキシ設定
AI モデルの API によって、異なるプロキシ戦略が必要になる場合があります。たとえば、OpenAI は海外プロキシを経由し、Ollama のローカルモデルはプロキシを使用しないようにしたい場合、設定ファイルで次のように設定できます。
{
// グローバルデフォルトプロキシ
proxy: {
url: "http://127.0.0.1:7890"
},
models: {
openai: {
apiKey: "sk-xxxx",
// OpenAI はグローバルプロキシを使用(上記の設定を継承)
},
claude: {
apiKey: "sk-ant-xxxx",
// Claude は個別のプロキシを使用
proxy: {
url: "http://127.0.0.1:8080"
}
},
ollama: {
baseUrl: "http://localhost:11434",
// Ollama はローカルサービスなのでプロキシ不要
proxy: {
url: null // プロキシを明示的に無効化
}
}
}
}
プロキシの優先順位
複数のプロキシ設定が同時に存在する場合、OpenClaw は以下の優先順位で適用します。
- モデルレベルのプロキシ - 最高優先度、指定モデルにのみ適用
- 設定ファイルのグローバルプロキシ - 次の優先度
- 環境変数のプロキシ - 最低優先度
プロキシ認証
プロキシサーバーがユーザー名とパスワードによる認証を必要とする場合、2つの設定方法があります。
方法1:URL に認証情報を含める
{
proxy: {
url: "http://username:[email protected]:8080"
}
}
方法2:個別のフィールドで指定する
{
proxy: {
url: "http://proxy.example.com:8080",
username: "your-username",
password: "your-password"
}
}
パスワード内の特殊文字による URL 解析の問題を避けるため、方法2の使用をお勧めします。
プロキシ接続のテスト
プロキシを設定した後、openclaw doctor コマンドでネットワーク接続性を検証できます。
openclaw doctor
このコマンドは以下の項目を順番にチェックします。
- プロキシサーバーが到達可能か
- プロキシ経由で各 AI モデルの API エンドポイントに接続できるか
- DNS 解決が正常か
- TLS 証明書が有効か
出力例:
[✓] 代理服务器 http://127.0.0.1:7890 可达
[✓] OpenAI API (api.openai.com) 连接正常 (延迟: 320ms)
[✓] Claude API (api.anthropic.com) 连接正常 (延迟: 280ms)
[✓] Ollama (localhost:11434) 连接正常 (延迟: 2ms)
[✓] 所有检查通过
よくある接続問題のトラブルシューティング
問題1:プロキシタイムアウト
ETIMEDOUT または ECONNREFUSED エラーが発生した場合:
# まずプロキシサービスが稼働しているか確認
curl -x http://127.0.0.1:7890 https://httpbin.org/ip
# ポートがリスンしているか確認
netstat -tlnp | grep 7890
問題2:SSL 証明書エラー
一部のプロキシは TLS 証明書を置き換えるため、証明書検証が失敗することがあります。
{
proxy: {
url: "http://127.0.0.1:7890",
// 開発環境でのみ使用してください。本番環境では無効化を推奨しません
rejectUnauthorized: false
}
}
より安全な方法は、プロキシの CA 証明書をインポートすることです。
export NODE_EXTRA_CA_CERTS="/path/to/proxy-ca.crt"
openclaw up
問題3:社内ネットワークで PAC ファイルが必要な場合
OpenClaw は PAC ファイルを直接サポートしていませんが、PAC ファイルのルールを手動で解析し、対応するプロキシアドレスを設定することができます。または、ローカルプロキシツール(Privoxy など)を使用して PAC を標準 HTTP プロキシに変換する方法もあります。
問題4:WSL 環境でのプロキシ設定
WSL では、プロキシアドレスを Windows ホストの IP に指定する必要があります。
# Windows ホストの IP を取得
WIN_HOST=$(cat /etc/resolv.conf | grep nameserver | awk '{print $2}')
export HTTP_PROXY="http://${WIN_HOST}:7890"
export HTTPS_PROXY="http://${WIN_HOST}:7890"
openclaw up
Docker 環境でのプロキシ設定
Docker で OpenClaw を実行する場合、docker-compose.yml でプロキシ変数を渡すことができます。
services:
openclaw:
image: openclaw/openclaw:latest
environment:
- HTTP_PROXY=http://host.docker.internal:7890
- HTTPS_PROXY=http://host.docker.internal:7890
- NO_PROXY=localhost,127.0.0.1,ollama
ports:
- "18789:18789"
Docker 内ではホストマシンのプロキシサービスにアクセスするために host.docker.internal を使用する必要がある点にご注意ください。
まとめ
プロキシ設定は、制限されたネットワークで OpenClaw を使用するための重要なステップです。推奨される方法は以下の通りです。
- 個人利用:環境変数での設定で十分です
- 複数モデルのシナリオ:設定ファイルでモデルごとにプロキシを個別に設定します
- 企業デプロイ:Docker 環境変数と設定ファイルを組み合わせて統一管理します
- トラブルシューティング:
openclaw doctorを活用して接続問題を素早く特定します
設定完了後、openclaw restart でサービスを再起動して設定を反映させることを忘れないでください。