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 |
| Perplexity | AI 合成回答、引用、リアルタイム | Perplexity または OpenRouter アクセスが必要 | OPENROUTER_API_KEY または PERPLEXITY_API_KEY |
プロバイダー固有の詳細については、Brave Search setup と Perplexity 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 キーの取得
- https://brave.com/search/api/ で Brave Search API アカウントを作成します
- ダッシュボードで、Data for Search プラン("Data for AI" ではない)を選択し、API キーを生成します。
- openclaw configure --section web を実行してキーを設定に保存します(推奨)、または環境で BRAVE_API_KEY を設定します。
Brave は無料枠と有料プランを提供しています。現在の制限と価格については、Brave API ポータルを確認してください。
キーを設定する場所(推奨)
推奨: openclaw configure --section web を実行します。キーは ~/.openclaw/openclaw.json の tools.web.search.apiKey に保存されます。
環境の代替: Gateway プロセス環境で BRAVE_API_KEY を設定します。Gateway インストールの場合、~/.openclaw/.env(またはサービス環境)に配置します。Env vars を参照してください。
Perplexity の使用(direct または OpenRouter 経由)
Perplexity Sonar モデルには組み込みの Web 検索機能があり、引用付きの AI 合成 回答を返します。OpenRouter 経由で使用できます(クレジットカード不要 - 暗号通貨/プリペイドをサポート)。
OpenRouter API キーの取得
- https://openrouter.ai/ でアカウントを作成します
- クレジットを追加します(暗号通貨、プリペイド、またはクレジットカードをサポート)
- アカウント設定で 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/sonar | Web 検索を使用した高速 Q&A | クイックルックアップ |
| perplexity/sonar-pro(デフォルト) | Web 検索を使用したマルチステップ推論 | 複雑な質問 |
| perplexity/sonar-reasoning-pro | 思考連鎖分析 | 詳細な研究 |
web_search
設定されたプロバイダーを使用して Web を検索します。
要件
- tools.web.search.enabled が false であってはなりません(デフォルト:有効)
- 選択したプロバイダーの API キー:
- Brave: BRAVE_API_KEY または tools.web.search.apiKey
- Perplexity: OPENROUTER_API_KEY、PERPLEXITY_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 のみ):発見時刻でフィルタリング(pd、pw、pm、py、または 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.enabled が false であってはなりません(デフォルト:有効)
- オプションの 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 のみ)
- extractMode(markdown | 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 はドキュメントリンク付きの短いセットアップヒントを返します。