Web ツール

OpenClaw は 2 つの軽量 Web ツールを搭載しています:

  • web_search — Brave Search API(デフォルト)または Perplexity Sonar(direct または OpenRouter 経由)を介して Web を検索します。
  • web_fetch — HTTP フェッチ + 読み取り可能な抽出(HTML → markdown/text)。

これらはブラウザ自動化 ではありません。JavaScript を多用したサイトやログインには、 Browser ツールを使用してください。

仕組み

  • web_search は設定されたプロバイダーを呼び出し、結果を返します。
    • Brave(デフォルト):構造化された結果(タイトル、URL、スニペット)を返します。
    • Perplexity: リアルタイムの Web 検索から引用付きの AI 合成回答を返します。
  • 結果はクエリごとに 15 分間キャッシュされます(設定可能)。
  • web_fetch は通常の HTTP GET を行い、読み取り可能なコンテンツを抽出します (HTML → markdown/text)。JavaScript は実行 しません
  • web_fetch はデフォルトで有効です(明示的に無効化されていない限り)。

検索プロバイダーの選択

プロバイダー利点欠点API キー
Brave(デフォルト)高速、構造化された結果、無料枠従来の検索結果BRAVE_API_KEY
PerplexityAI 合成回答、引用、リアルタイムPerplexity または OpenRouter アクセスが必要OPENROUTER_API_KEY または PERPLEXITY_API_KEY

プロバイダー固有の詳細については、Brave Search setupPerplexity Sonar を参照してください。

設定でプロバイダーを設定します:

{
  tools: {
    web: {
      search: {
        provider: "brave"  // または "perplexity"
      }
    }
  }
}

例:Perplexity Sonar(direct API)に切り替え:

{
  tools: {
    web: {
      search: {
        provider: "perplexity",
        perplexity: {
          apiKey: "pplx-...",
          baseUrl: "https://api.perplexity.ai",
          model: "perplexity/sonar-pro"
        }
      }
    }
  }
}

Brave API キーの取得

  1. https://brave.com/search/api/ で Brave Search API アカウントを作成します
  2. ダッシュボードで、Data for Search プラン("Data for AI" ではない)を選択し、API キーを生成します。
  3. openclaw configure --section web を実行してキーを設定に保存します(推奨)、または環境で BRAVE_API_KEY を設定します。

Brave は無料枠と有料プランを提供しています。現在の制限と価格については、Brave API ポータルを確認してください。

キーを設定する場所(推奨)

推奨: openclaw configure --section web を実行します。キーは ~/.openclaw/openclaw.jsontools.web.search.apiKey に保存されます。

環境の代替: Gateway プロセス環境で BRAVE_API_KEY を設定します。Gateway インストールの場合、~/.openclaw/.env(またはサービス環境)に配置します。Env vars を参照してください。

Perplexity の使用(direct または OpenRouter 経由)

Perplexity Sonar モデルには組み込みの Web 検索機能があり、引用付きの AI 合成 回答を返します。OpenRouter 経由で使用できます(クレジットカード不要 - 暗号通貨/プリペイドをサポート)。

OpenRouter API キーの取得

  1. https://openrouter.ai/ でアカウントを作成します
  2. クレジットを追加します(暗号通貨、プリペイド、またはクレジットカードをサポート)
  3. アカウント設定で API キーを生成します

Perplexity 検索のセットアップ

{
  tools: {
    web: {
      search: {
        enabled: true,
        provider: "perplexity",
        perplexity: {
          // API キー(OPENROUTER_API_KEY または PERPLEXITY_API_KEY が設定されている場合はオプション)
          apiKey: "sk-or-v1-...",
          // ベース URL(省略された場合はキー認識デフォルト)
          baseUrl: "https://openrouter.ai/api/v1",
          // モデル(デフォルトは perplexity/sonar-pro)
          model: "perplexity/sonar-pro"
        }
      }
    }
  }
}

環境の代替: Gateway 環境で OPENROUTER_API_KEY または PERPLEXITY_API_KEY を設定します。Gateway インストールの場合、~/.openclaw/.env に配置します。

ベース URL が設定されていない場合、OpenClaw は API キーのソースに基づいてデフォルトを選択します:

  • PERPLEXITY_API_KEY または pplx-...https://api.perplexity.ai
  • OPENROUTER_API_KEY または sk-or-...https://openrouter.ai/api/v1
  • 不明なキー形式 → OpenRouter(安全なフォールバック)

利用可能な Perplexity モデル

モデル説明最適な用途
perplexity/sonarWeb 検索を使用した高速 Q&Aクイックルックアップ
perplexity/sonar-pro(デフォルト)Web 検索を使用したマルチステップ推論複雑な質問
perplexity/sonar-reasoning-pro思考連鎖分析詳細な研究

設定されたプロバイダーを使用して Web を検索します。

要件

  • tools.web.search.enabledfalse であってはなりません(デフォルト:有効)
  • 選択したプロバイダーの API キー:
    • Brave: BRAVE_API_KEY または tools.web.search.apiKey
    • Perplexity: OPENROUTER_API_KEYPERPLEXITY_API_KEY、または tools.web.search.perplexity.apiKey

設定

{
  tools: {
    web: {
      search: {
        enabled: true,
        apiKey: "BRAVE_API_KEY_HERE", // BRAVE_API_KEY が設定されている場合はオプション
        maxResults: 5,
        timeoutSeconds: 30,
        cacheTtlMinutes: 15
      }
    }
  }
}

ツールパラメータ

  • query(必須)
  • count(1–10;設定からのデフォルト)
  • country(オプション):地域固有の結果のための 2 文字の国コード(例:「DE」、「US」、「ALL」)。省略された場合、Brave はデフォルトの地域を選択します。
  • search_lang(オプション):検索結果の ISO 言語コード(例:「de」、「en」、「fr」)
  • ui_lang(オプション):UI 要素の ISO 言語コード
  • freshness(オプション、Brave のみ):発見時刻でフィルタリング(pdpwpmpy、または YYYY-MM-DDtoYYYY-MM-DD

例:

// ドイツ固有の検索
await web_search({
  query: "TV online schauen",
  count: 10,
  country: "DE",
  search_lang: "de"
});

// フランス語 UI でのフランス語検索
await web_search({
  query: "actualités",
  country: "FR",
  search_lang: "fr",
  ui_lang: "fr"
});

// 最近の結果(過去 1 週間)
await web_search({
  query: "TMBG interview",
  freshness: "pw"
});

web_fetch

URL を取得して読み取り可能なコンテンツを抽出します。

要件

  • tools.web.fetch.enabledfalse であってはなりません(デフォルト:有効)
  • オプションの Firecrawl フォールバック:tools.web.fetch.firecrawl.apiKey または FIRECRAWL_API_KEY を設定します。

設定

{
  tools: {
    web: {
      fetch: {
        enabled: true,
        maxChars: 50000,
        timeoutSeconds: 30,
        cacheTtlMinutes: 15,
        maxRedirects: 3,
        userAgent: "Mozilla/5.0 (Macintosh; Intel Mac OS X 14_7_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36",
        readability: true,
        firecrawl: {
          enabled: true,
          apiKey: "FIRECRAWL_API_KEY_HERE", // FIRECRAWL_API_KEY が設定されている場合はオプション
          baseUrl: "https://api.firecrawl.dev",
          onlyMainContent: true,
          maxAgeMs: 86400000, // ms(1 日)
          timeoutSeconds: 60
        }
      }
    }
  }
}

ツールパラメータ

  • url(必須、http/https のみ)
  • extractModemarkdown | text
  • maxChars(長いページを切り詰め)

注意点:

  • web_fetch は最初に Readability(メインコンテンツ抽出)を使用し、次に Firecrawl(設定されている場合)を使用します。両方が失敗した場合、ツールはエラーを返します。
  • Firecrawl リクエストはボット回避モードを使用し、デフォルトで結果をキャッシュします。
  • web_fetch はデフォルトで Chrome のような User-Agent と Accept-Language を送信します。必要に応じて userAgent をオーバーライドします。
  • web_fetch はプライベート/内部ホスト名をブロックし、リダイレクトを再チェックします(maxRedirects で制限)。
  • web_fetch はベストエフォート抽出です。一部のサイトには browser ツールが必要です。
  • キーのセットアップとサービスの詳細については、Firecrawl を参照してください。
  • レスポンスはキャッシュされます(デフォルト 15 分)で、繰り返しのフェッチを減らします。
  • ツールプロファイル/許可リストを使用する場合は、web_search/web_fetch または group:web を追加してください。
  • Brave キーがない場合、web_search はドキュメントリンク付きの短いセットアップヒントを返します。