web_search— Brave Search API、Google 検索グラウンディングを備えた Gemini、Grok、Kimi、または Perplexity Search API を使用して Web を検索します。web_fetch— HTTP フェッチ + 可読抽出 (HTML → マークダウン/テキスト)。
仕組み
web_searchは、構成されたプロバイダーを呼び出し、結果を返します。- 結果はクエリによって 15 分間キャッシュされます (構成可能)。
web_fetchはプレーンな HTTP GET を実行し、読み取り可能なコンテンツを抽出します (HTML → マークダウン/テキスト)。 JavaScript は実行されません。web_fetchは (明示的に無効にしない限り) デフォルトで有効になります。
検索プロバイダーの選択|プロバイダー |結果の形状 |プロバイダー固有のフィルター |メモ | APIキー |
| ------------------------- | ---------------------------------- | -------------------------------------------- | ------------------------------------------------------------------------------ | ------------------------------------------ | | Brave Search API |スニペットを使用した構造化された結果 |country、language、ui_lang、時間 | Brave llm-context モードをサポート | BRAVE_API_KEY |
| ジェミニ | AI が合成した回答 + 引用 | — | Google 検索の基礎を使用する | GEMINI_API_KEY |
| グロク | AI が合成した回答 + 引用 | — | xAI Web ベースの応答を使用 | XAI_API_KEY || 君 | AI が合成した回答 + 引用 | — | Moonshot Web 検索を使用します。 KIMI_API_KEY / MOONSHOT_API_KEY |
| Perplexity Search API |スニペットを使用した構造化された結果 | country、language、時間、domain_filter |コンテンツ抽出制御をサポートします。 OpenRouter は Sonar 互換性パスを使用します。 PERPLEXITY_API_KEY / OPENROUTER_API_KEY |
自動検出
上の表はアルファベット順です。provider が明示的に設定されていない場合、ランタイム自動検出は次の順序でプロバイダーをチェックします。
- Brave —
BRAVE_API_KEY環境変数またはtools.web.search.apiKey構成 - Gemini —
GEMINI_API_KEY環境変数またはtools.web.search.gemini.apiKey構成 - Grok —
XAI_API_KEY環境変数またはtools.web.search.grok.apiKey構成 - 君 —
KIMI_API_KEY/MOONSHOT_API_KEY環境変数またはtools.web.search.kimi.apiKey構成 - 複雑さ —
PERPLEXITY_API_KEY、OPENROUTER_API_KEY、またはtools.web.search.perplexity.apiKey構成
Web 検索の設定
openclaw configure --section web を使用して API キーを設定し、プロバイダーを選択します。
勇敢な探索1. brave.com/search/api で Brave Search API アカウントを作成します
- ダッシュボードで、検索 プランを選択し、API キーを生成します。
openclaw configure --section webを実行してキーを構成に保存するか、環境にBRAVE_API_KEYを設定します。
複雑性検索
- perplexity.ai/settings/api で Perplexity アカウントを作成します。
- ダッシュボードで API キーを生成します
openclaw configure --section webを実行してキーを構成に保存するか、環境にPERPLEXITY_API_KEYを設定します。
OPENROUTER_API_KEY を設定するか、sk-or-... キーを使用して tools.web.search.perplexity.apiKey を構成します。 tools.web.search.perplexity.baseUrl または model を設定すると、Perplexity がチャット完了互換パスに再び組み込まれます。
詳細については、Perplexity Search API ドキュメント を参照してください。
キーを保管する場所
構成経由:openclaw configure --section web を実行します。プロバイダーに応じて、キーは tools.web.search.apiKey または tools.web.search.perplexity.apiKey に保存されます。環境経由: ゲートウェイ プロセス環境で PERPLEXITY_API_KEY、OPENROUTER_API_KEY、または BRAVE_API_KEY を設定します。ゲートウェイのインストールの場合は、~/.openclaw/.env (またはサービス環境) に配置します。 環境変数 を参照してください。
構成例
勇敢な検索:llm-context は、標準の Brave スニペットの代わりに、グラウンディング用に抽出されたページ チャンクを返します。
このモードでは、country および language / search_lang は引き続き機能しますが、ui_lang
freshness、date_after、および date_before は拒否されます。
複雑な検索:
Gemini の使用 (Google 検索のグラウンディング)
Gemini モデルは、組み込みの Google 検索グラウンディング をサポートしています。 これは、引用付きのライブ Google 検索結果に裏付けられた AI 合成回答を返します。Gemini API キーの取得
- Google AI Studio に移動します。
- APIキーを作成する
- ゲートウェイ環境で
GEMINI_API_KEYを設定するか、tools.web.search.gemini.apiKeyを構成します
Gemini 検索のセットアップ
GEMINI_API_KEY を設定します。
ゲートウェイのインストールの場合は、~/.openclaw/.env に配置します。
注記- Gemini グラウンディングからの引用 URL は、Google の URL から自動的に解決されます
URL をダイレクト URL にリダイレクトします。- リダイレクト解決では、最終的な引用 URL を返す前に SSRF ガード パス (HEAD + リダイレクト チェック + http/https 検証) を使用します。
- リダイレクト解決では厳密な SSRF デフォルトが使用されるため、プライベート/内部ターゲットへのリダイレクトはブロックされます。
- デフォルトのモデル (
gemini-2.5-flash) は高速でコスト効率が高くなります。 アースをサポートするすべての Gemini モデルを使用できます。
ウェブ検索
設定したプロバイダーを使用して Web を検索します。要件
tools.web.search.enabledはfalseであってはなりません (デフォルト: 有効)- 選択したプロバイダーの API キー:
- 勇敢:
BRAVE_API_KEYまたはtools.web.search.apiKey - 双子座:
GEMINI_API_KEYまたはtools.web.search.gemini.apiKey - Grok:
XAI_API_KEYまたはtools.web.search.grok.apiKey - キミ:
KIMI_API_KEY、MOONSHOT_API_KEY、またはtools.web.search.kimi.apiKey - 困惑:
PERPLEXITY_API_KEY、OPENROUTER_API_KEY、またはtools.web.search.perplexity.apiKey
- 勇敢:
構成
ツールパラメータ
注記がない限り、すべてのパラメーターは Brave およびネイティブ Perplexity Search API で機能します。 Perplexity の OpenRouter / Sonar 互換パスは、query および freshness のみをサポートします。
tools.web.search.perplexity.baseUrl / model を設定するか、OPENROUTER_API_KEY を使用するか、sk-or-... キーを構成すると、検索 API のみのフィルターは明示的なエラーを返します。|パラメータ |説明 |
| --------------------- | ----------------------------------------------------- |
| query |検索クエリ (必須) |
| count |返される結果 (1-10、デフォルト: 5) |
| country | 2 文字の ISO 国コード (例: “US”、“DE”) |
| language | ISO 639-1 言語コード (例: “en”、“de”) |
| freshness |時間フィルター: day、week、month、または year |
| date_after |この日付 (YYYY-MM-DD) 以降の結果 |
| date_before |この日付より前の結果 (YYYY-MM-DD) |
| ui_lang | UI 言語コード (Brave のみ) |
| domain_filter |ドメイン許可リスト/拒否リスト配列 (Perplexity のみ) |
| max_tokens |総コンテンツ予算、デフォルト 25000 (Perplexity のみ) |
| max_tokens_per_page |ページごとのトークン制限、デフォルトは 2048 (Perplexity のみ) |
例:
llm-context モードが有効な場合、ui_lang、freshness、date_after、および
date_before はサポートされていません。これらのフィルターには Brave web モードを使用してください。
web_fetchURL を取得し、読み取り可能なコンテンツを抽出します
web_fetch の要件
tools.web.fetch.enabledはfalseであってはなりません (デフォルト: 有効)- オプションの Firecrawl フォールバック:
tools.web.fetch.firecrawl.apiKeyまたはFIRECRAWL_API_KEYを設定します。
web_fetch 構成
web_fetch ツールのパラメータ
url(必須、http/https のみ)extractMode(markdown|text)maxChars(長いページを切り詰める)
web_fetch は、最初に可読性 (メインコンテンツの抽出) を使用し、次に Firecrawl (構成されている場合) を使用します。両方とも失敗した場合、ツールはエラーを返します。
- Firecrawl リクエストはボット回避モードを使用し、デフォルトで結果をキャッシュします。
web_fetchは、デフォルトで Chrome のようなユーザー エージェントとAccept-Languageを送信します。必要に応じてuserAgentをオーバーライドします。web_fetchはプライベート/内部ホスト名をブロックし、リダイレクトを再チェックします (maxRedirectsで制限)。maxCharsはtools.web.fetch.maxCharsCapにクランプされます。web_fetchは、解析する前に、ダウンロードされた応答本文のサイズをtools.web.fetch.maxResponseBytesに制限します。サイズが大きすぎる応答は切り詰められ、警告が含まれます。web_fetchはベストエフォート抽出です。一部のサイトではブラウザ ツールが必要です。- キーのセットアップとサービスの詳細については、Firecrawl を参照してください。
- 繰り返しの取得を減らすために、応答はキャッシュされます (デフォルトは 15 分)。
- ツール プロファイル/ホワイトリストを使用する場合は、
web_search/web_fetchまたはgroup:webを追加します。 - API キーが見つからない場合、
web_searchはドキュメント リンクを含む短いセットアップ ヒントを返します。