web_search は、設定済みのプロバイダーで Web を検索し、正規化された結果を返します。結果はクエリごとに 15 分間キャッシュされます(設定可能)。OpenClaw
には、X(旧 Twitter)の投稿向けの x_search と、軽量な URL 取得向けの web_fetch もバンドルされています。web_fetch は常にローカルで実行されます。web_search は、Grok がプロバイダーの場合は xAI Responses 経由でルーティングされ、x_search は常に xAI Responses を使用します。
web_search は軽量な HTTP ツールであり、ブラウザー自動化ではありません。
JS が多いサイトやログインには、Web Browser を使用してください。
特定の URL を取得するには、Web Fetch を使用してください。クイックスタート
プロバイダーの選択
Brave Search
スニペット付きの構造化結果。
llm-context モード、国/言語フィルターをサポートします。無料枠があります。Codex Hosted Search
Codex アプリサーバーアカウントを通じた、根拠付きの AI 合成回答。
DuckDuckGo
キー不要のプロバイダー。API キーは不要です。非公式の HTML ベース統合です。
Exa
コンテンツ抽出(ハイライト、テキスト、要約)を備えたニューラル検索 + キーワード検索。
Firecrawl
構造化結果。深い抽出には
firecrawl_search と firecrawl_scrape の併用が最適です。Gemini
Google Search グラウンディングによる、引用付きの AI 合成回答。
Grok
xAI Web グラウンディングによる、引用付きの AI 合成回答。
Kimi
Moonshot Web 検索による、引用付きの AI 合成回答。根拠なしのチャットフォールバックは明示的に失敗します。
MiniMax Search
MiniMax Token Plan 検索 API による構造化結果。
Ollama Web Search
サインイン済みのローカル Ollama ホスト、またはホスト型 Ollama API 経由の検索。
Parallel
有料の Parallel Search API(
PARALLEL_API_KEY)。より高いレート制限と目的調整。Parallel Search (無料)
キー不要のオプトイン。Parallel の無料 Search MCP。LLM 向けに最適化された高密度な抜粋を提供し、API キーは不要です。
Perplexity
コンテンツ抽出制御とドメインフィルタリングを備えた構造化結果。
SearXNG
セルフホスト型メタ検索。API キーは不要です。Google、Bing、DuckDuckGo などを集約します。
Tavily
検索深度、トピックフィルタリング、URL 抽出用の
tavily_extract を備えた構造化結果。プロバイダー比較
| プロバイダー | 結果スタイル | フィルター | API キー |
|---|---|---|---|
| Brave | 構造化スニペット | 国、言語、時間、llm-context モード | BRAVE_API_KEY |
| Codex Hosted Search | AI 合成 + ソース URL | ドメイン、コンテキストサイズ、ユーザー所在地 | なし。Codex/OpenAI サインインを使用 |
| DuckDuckGo | 構造化スニペット | — | なし(キー不要) |
| Exa | 構造化 + 抽出済み | ニューラル/キーワードモード、日付、コンテンツ抽出 | EXA_API_KEY |
| Firecrawl | 構造化スニペット | firecrawl_search ツール経由 | FIRECRAWL_API_KEY |
| Gemini | AI 合成 + 引用 | — | GEMINI_API_KEY |
| Grok | AI 合成 + 引用 | — | xAI OAuth、XAI_API_KEY、または plugins.entries.xai.config.webSearch.apiKey |
| Kimi | AI 合成 + 引用。根拠なしのチャットフォールバックで失敗 | — | KIMI_API_KEY / MOONSHOT_API_KEY |
| MiniMax Search | 構造化スニペット | リージョン(global / cn) | MINIMAX_CODE_PLAN_KEY / MINIMAX_CODING_API_KEY / MINIMAX_OAUTH_TOKEN |
| Ollama Web Search | 構造化スニペット | — | サインイン済みのローカルホストでは不要。直接 https://ollama.com 検索する場合は OLLAMA_API_KEY |
| Parallel | LLM コンテキスト向けにランク付けされた高密度な抜粋 | — | PARALLEL_API_KEY(有料) |
| Parallel Search (無料) | LLM コンテキスト向けにランク付けされた高密度な抜粋 | — | なし(無料 Search MCP) |
| Perplexity | 構造化スニペット | 国、言語、時間、ドメイン、コンテンツ制限 | PERPLEXITY_API_KEY / OPENROUTER_API_KEY |
| SearXNG | 構造化スニペット | カテゴリ、言語 | なし(セルフホスト) |
| Tavily | 構造化スニペット | tavily_search ツール経由 | TAVILY_API_KEY |
自動検出
ドキュメントとセットアップフロー内のプロバイダー一覧はアルファベット順です。自動検出では、 別個の固定された優先順位を使用し、認証情報が必要なプロバイダー (requiresCredential !== false)について、設定済みのものが見つかった場合にのみ選択します。
provider が設定されていない場合、OpenClaw は以下の順序でプロバイダーを確認し、
最初に準備できているものを使用します。
API ベースのプロバイダーが先です:
- Brave —
BRAVE_API_KEYまたはplugins.entries.brave.config.webSearch.apiKey(順序 10) - MiniMax Search —
MINIMAX_CODE_PLAN_KEY/MINIMAX_CODING_API_KEY/MINIMAX_OAUTH_TOKEN/MINIMAX_API_KEYまたはplugins.entries.minimax.config.webSearch.apiKey(順序 15) - Gemini —
plugins.entries.google.config.webSearch.apiKey、GEMINI_API_KEY、またはmodels.providers.google.apiKey(順序 20) - Grok — xAI OAuth、
XAI_API_KEY、またはplugins.entries.xai.config.webSearch.apiKey(順序 30) - Kimi —
KIMI_API_KEY/MOONSHOT_API_KEYまたはplugins.entries.moonshot.config.webSearch.apiKey(順序 40) - Perplexity —
PERPLEXITY_API_KEY/OPENROUTER_API_KEYまたはplugins.entries.perplexity.config.webSearch.apiKey(順序 50) - Firecrawl —
FIRECRAWL_API_KEYまたはplugins.entries.firecrawl.config.webSearch.apiKey(順序 60) - Exa —
EXA_API_KEYまたはplugins.entries.exa.config.webSearch.apiKey。任意のplugins.entries.exa.config.webSearch.baseUrlは Exa エンドポイントを上書きします(順序 65) - Tavily —
TAVILY_API_KEYまたはplugins.entries.tavily.config.webSearch.apiKey(順序 70) - Parallel —
PARALLEL_API_KEYまたはplugins.entries.parallel.config.webSearch.apiKey経由の有料 Parallel Search API。任意のplugins.entries.parallel.config.webSearch.baseUrlはエンドポイントを上書きします(順序 75)
- SearXNG —
SEARXNG_BASE_URLまたはplugins.entries.searxng.config.webSearch.baseUrl(順序 200)
tools.web.search.provider で明示的に選択した場合、または
openclaw configure --section web を通じて選択した場合にのみ使用されます。OpenClaw は、
API ベースのプロバイダーが設定されていないという理由だけで、管理対象の
web_search クエリをキー不要プロバイダーへ送信することはありません。
OpenAI Responses モデルは例外です。tools.web.search.provider
が未設定の間は、上記の管理対象プロバイダーではなく OpenAI のネイティブ Web 検索を使用します(下記参照)。
代わりに管理対象パス経由でルーティングするには、tools.web.search.provider を
parallel-free(または別のプロバイダー)に設定します。
すべてのプロバイダーキー項目は SecretRef オブジェクトをサポートします。
plugins.entries.<plugin>.config.webSearch.apiKey 配下の Plugin スコープの SecretRef は、
インストール済みの API ベース Web 検索プロバイダーに対して解決されます。対象には Brave、Exa、Firecrawl、
Gemini、Grok、Kimi、MiniMax、Parallel、Perplexity、Tavily が含まれます。
これは、プロバイダーが tools.web.search.provider 経由で明示的に選択された場合でも、
自動検出で選択された場合でも同じです。自動検出モードでは、OpenClaw は
選択されたプロバイダーキーだけを解決します。選択されていない SecretRef は非アクティブのままなので、
複数のプロバイダーを設定しておいても、使用していないものの解決コストは発生しません。ネイティブ OpenAI Web 検索
直接 OpenAI Responses モデル(api: "openai-responses"、provider openai、base URL なし、または公式 OpenAI API base URL)は、OpenClaw web search が有効で、managed provider が固定されていない場合、OpenAI のホスト型 web_search ツールを自動的に使用します。これはバンドルされた OpenAI Plugin 内の provider 所有の動作であり、OpenAI 互換プロキシ base URL や Azure ルートには適用されません。OpenAI モデルで managed web_search ツールを使い続けるには、tools.web.search.provider を brave など別の provider に設定します。または、managed search とネイティブ OpenAI search の両方を無効にするには、tools.web.search.enabled: false を設定します。
ネイティブ Codex web search
Codex app-server ランタイムは、web search が有効で managed provider が選択されていない場合、Codex のホスト型web_search ツールを自動的に使用します。ネイティブのホスト型 search と OpenClaw の managed web_search 動的ツールは相互排他的であるため、managed search でネイティブのドメイン制限をバイパスすることはできません。OpenClaw は、ホスト型 search が利用できない、明示的に無効化されている、または選択済みの managed provider に置き換えられている場合に managed ツールを使用します。OpenClaw は、Codex のスタンドアロン web.run 拡張を無効のままにします(features.standalone_web_search: false)。これは本番 app-server トラフィックが、そのユーザー定義 web 名前空間を拒否するためです。
- ネイティブ search は
tools.web.search.openaiCodexで設定します - 任意の親モデル向けに、Codex Hosted Search を managed
web_searchprovider としてプロビジョニングするには、tools.web.search.provider: "codex"を設定します。各呼び出しは有界の一時的な Codex app-server turn を実行し、Codex がホスト型webSearchitem を出力しない場合は失敗します。 mode: "cached"はデフォルトの設定ですが、Codex は無制限の app-server turn ではこれを live external access として解決します。live access を明示的に要求するには"live"を設定します- OpenClaw の managed
web_searchを使用するには、tools.web.search.providerをbraveなどの managed provider に設定します - Codex ホスト型 search をオプトアウトするには、
tools.web.search.openaiCodex.enabled: falseを設定します。他の managed provider は引き続き利用できます - Codex ネイティブツールサーフェスを制限しても、managed
web_searchは利用可能なままです allowedDomainsが設定されている場合、ホスト型 search が利用できないと自動 managed フォールバックはフェイルクローズし、ネイティブ allowlist をバイパスできないようにします- ツール無効の LLM のみの実行では、ネイティブ search と managed search の両方が無効になります
tools.web.search.enabled: falseは managed search とネイティブ search の両方を無効にします
web_search ツールを使用できます。この別経路は引き続き tools.web.search.openaiCodex.enabled: true によるオプトインであり、api: "openai-chatgpt-responses" を使用する対象の openai/* モデルにのみ適用されます。
web_search フォールバックを使用できます。Codex ホスト型 search ではなく、OpenClaw の provider 固有のネットワーク制御が必要な場合は、明示的な managed provider を使用してください。
provider: "codex" を選択すると、バンドルされた codex Plugin が有効になり、上記と同じ tools.web.search.openaiCodex 制限が使用されます。先に openclaw models auth login --provider openai で Codex app-server を認証してください。親エージェントは任意のモデルまたはランタイムを使用できます。有界 search worker だけが Codex 経由で実行されます。
ネットワーク安全性
Managed HTTPweb_search provider 呼び出しは、現在の provider 自身のホスト名にスコープされた OpenClaw の保護付き fetch 経路を使用します。そのホスト名に限り、OpenClaw は 198.18.0.0/15 と fc00::/7 にある Surge、Clash、sing-box の fake-IP DNS 応答を許可します。その他の private、loopback、link-local、metadata 宛先は引き続きブロックされます。Codex Hosted Search は例外です。その有界 worker は、ネットワークアクセスを Codex app-server のホスト型 web_search ツールに委譲します。
この自動許可は、任意の web_fetch URL には適用されません。web_fetch では、信頼済みプロキシがそれらの合成範囲を所有している場合にのみ、tools.web.fetch.ssrfPolicy.allowRfc2544BenchmarkRange と tools.web.fetch.ssrfPolicy.allowIpv6UniqueLocalRange を明示的に有効にしてください。
設定
plugins.entries.<plugin>.config.webSearch.* 配下にあります。Gemini は、専用の web-search 設定と GEMINI_API_KEY の後の低優先度フォールバックとして、models.providers.google.apiKey と models.providers.google.baseUrl も再利用できます。例については provider ページを参照してください。
Grok は、openclaw models auth login --provider xai --method oauth の xAI OAuth auth profile も再利用できます。API-key 設定は引き続きフォールバックです。
tools.web.search.provider は、バンドル済みおよびインストール済みの Plugin manifest で宣言された web-search provider id に対して検証されます。"brvae" のようなタイプミスは、自動検出へ静かにフォールバックするのではなく、設定検証で失敗します。設定済み provider に古い Plugin evidence しかない場合、たとえばサードパーティ Plugin のアンインストール後に残った plugins.entries.<plugin> ブロックがある場合、OpenClaw は起動の回復性を維持しつつ警告を報告します。そのため、Plugin を再インストールするか、openclaw doctor --fix を実行して古い設定をクリーンアップできます。
web_fetch フォールバック provider の選択は別です。
tools.web.fetch.providerで選択します- またはそのフィールドを省略し、OpenClaw に設定済み認証情報から最初に準備完了となった web-fetch provider を自動検出させます
- 非 sandbox の
web_fetchは、contracts.webFetchProvidersを宣言するインストール済み Plugin provider を使用できます。sandbox fetch は、バンドル済み provider と検証済みの公式 Plugin インストールを許可しますが、サードパーティの外部 Plugin は除外します - 公式 Firecrawl Plugin は、現時点でバンドルされた唯一の
webFetchProviderscontributor であり、plugins.entries.firecrawl.config.webFetch.*配下で設定されます
openclaw onboard または openclaw configure --section web で Kimi を選択すると、OpenClaw は次も尋ねる場合があります。
- Moonshot API region(
https://api.moonshot.ai/v1またはhttps://api.moonshot.cn/v1) - デフォルトの Kimi web-search model(デフォルトは
kimi-k2.6)
x_search は plugins.entries.xai.config.xSearch.* で設定します。これは chat と同じ xAI auth profile、または Grok web search で使用される XAI_API_KEY / Plugin web-search credential を使用します。
従来の tools.web.x_search.* 設定は、openclaw doctor --fix によって自動移行されます。
openclaw onboard または openclaw configure --section web で Grok を選択すると、OpenClaw は Grok セットアップ完了直後に、同じ credential を使った任意の x_search セットアップも提示します。これは Grok 経路内の別のフォローアップ手順であり、別のトップレベル web-search provider 選択ではありません。別の provider を選んだ場合、OpenClaw は x_search プロンプトを表示しません。
API keys の保存
- 設定ファイル
- 環境変数
openclaw configure --section web を実行するか、key を直接設定します。ツールパラメーター
| Parameter | Description |
|---|---|
query | 検索クエリ(必須) |
count | 返す結果数(1-10、デフォルト: 5) |
country | 2文字の ISO 国コード(例: “US”, “DE”) |
language | ISO 639-1 言語コード(例: “en”, “de”) |
search_lang | 検索言語コード(Brave のみ) |
freshness | 時間フィルター: day、week、month、または year |
date_after | この日付より後の結果(YYYY-MM-DD) |
date_before | この日付より前の結果(YYYY-MM-DD) |
ui_lang | UI 言語コード(Brave のみ) |
domain_filter | ドメイン allowlist/denylist 配列(Perplexity のみ) |
max_tokens | 合計コンテンツ token budget、ネイティブ Perplexity Search API のみ |
max_tokens_per_page | ページごとの抽出 token 制限、ネイティブ Perplexity Search API のみ |
x_search
x_search は xAI を使用して X(旧 Twitter)の投稿をクエリし、citations 付きの AI 合成回答を返します。自然言語クエリと任意の構造化フィルターを受け付けます。OpenClaw は、組み込みの xAI x_search ツールを永続的に登録しておくのではなく、リクエストごとに構築します。そのため、実際にそれを呼び出す turn でのみ有効です。
xAI は
x_search がキーワード検索、セマンティック検索、ユーザー検索、スレッド取得をサポートすると文書化しています。reposts、replies、bookmarks、views などの投稿ごとの engagement stats については、正確な投稿 URL または status ID に対する targeted lookup を優先してください。広いキーワード検索でも該当する投稿を見つけられる場合がありますが、投稿ごとの metadata が完全ではないことがあります。良いパターンは、先に投稿を見つけてから、その正確な投稿に絞った2回目の x_search クエリを実行することです。x_search 設定
plugins.entries.xai.config.xSearch.baseUrl が設定されている場合、
x_search は <baseUrl>/responses に投稿します。そのフィールドが省略されている場合は、
plugins.entries.xai.config.webSearch.baseUrl、次にレガシーの
tools.web.search.grok.baseUrl、最後に公開 xAI エンドポイント
(https://api.x.ai/v1) にフォールバックします。
x_search パラメーター
| パラメーター | 説明 |
|---|---|
query | 検索クエリ (必須) |
allowed_x_handles | 結果を特定の X ハンドルに制限 |
excluded_x_handles | 特定の X ハンドルを除外 |
from_date | この日付以降の投稿のみを含める (YYYY-MM-DD) |
to_date | この日付以前の投稿のみを含める (YYYY-MM-DD) |
enable_image_understanding | 一致する投稿に添付された画像を xAI に検査させる |
enable_video_understanding | 一致する投稿に添付された動画を xAI に検査させる |
x_search の例
例
ツールプロファイル
ツールプロファイルまたは許可リストを使用する場合は、web_search、x_search、または group:web を追加します。
関連
- Web Fetch — URL を取得し、読み取り可能なコンテンツを抽出する
- Web Browser — JS の多いサイト向けの完全なブラウザー自動化
- Grok Search —
web_searchプロバイダーとしての Grok - Ollama Web Search — Ollama ホスト経由のキー不要の Web 検索