Перейти до основного вмісту

Вебпошук

Інструмент web_search виконує пошук у вебі за допомогою налаштованого вами постачальника та повертає результати. Результати кешуються за запитом на 15 хвилин (це можна налаштувати). OpenClaw також містить x_search для дописів у X (раніше Twitter) і web_fetch для полегшеного отримання URL. На цьому етапі web_fetch лишається локальним, тоді як web_search і x_search можуть використовувати xAI Responses під капотом.
web_search — це полегшений HTTP-інструмент, а не автоматизація браузера. Для сайтів із активним використанням JS або для входу в акаунт використовуйте Web Browser. Для отримання конкретного URL використовуйте Web Fetch.

Швидкий старт

1

Виберіть постачальника

Виберіть постачальника та виконайте всі потрібні кроки налаштування. Деякі постачальники не потребують ключа, тоді як інші використовують API-ключі. Подробиці дивіться на сторінках постачальників нижче.
2

Налаштуйте

openclaw configure --section web
Це збереже постачальника та всі потрібні облікові дані. Ви також можете встановити змінну середовища (наприклад, BRAVE_API_KEY) і пропустити цей крок для постачальників, що працюють через API.
3

Використовуйте

Тепер агент може викликати web_search:
await web_search({ query: "OpenClaw plugin SDK" });
Для дописів у X використовуйте:
await x_search({ query: "dinner recipes" });

Вибір постачальника

Brave Search

Структуровані результати зі сніпетами. Підтримує режим llm-context, фільтри країни/мови. Доступний безкоштовний тариф.

DuckDuckGo

Резервний варіант без ключа. API-ключ не потрібен. Неофіційна інтеграція на основі HTML.

Exa

Нейронний + ключовий пошук із витягуванням вмісту (підсвічування, текст, підсумки).

Firecrawl

Структуровані результати. Найкраще поєднується з firecrawl_search і firecrawl_scrape для глибокого витягування.

Gemini

Відповіді, синтезовані ШІ, із посиланнями через Google Search grounding.

Grok

Відповіді, синтезовані ШІ, із посиланнями через xAI web grounding.

Kimi

Відповіді, синтезовані ШІ, із посиланнями через вебпошук Moonshot.

MiniMax Search

Структуровані результати через API пошуку MiniMax Coding Plan.

Ollama Web Search

Пошук без ключа через ваш налаштований хост Ollama. Потрібен ollama signin.

Perplexity

Структуровані результати з керуванням витягуванням вмісту та фільтрацією доменів.

SearXNG

Самостійно розгорнутий метапошук. API-ключ не потрібен. Агрегує Google, Bing, DuckDuckGo та інші системи.

Tavily

Структуровані результати з глибиною пошуку, фільтрацією за темою та tavily_extract для витягування URL.

Порівняння постачальників

ПостачальникСтиль результатівФільтриAPI-ключ
BraveСтруктуровані сніпетиКраїна, мова, час, режим llm-contextBRAVE_API_KEY
DuckDuckGoСтруктуровані сніпетиНемає (без ключа)
ExaСтруктуровані + витягнутіНейронний/ключовий режим, дата, витягування вмістуEXA_API_KEY
FirecrawlСтруктуровані сніпетиЧерез інструмент firecrawl_searchFIRECRAWL_API_KEY
GeminiСинтезовані ШІ + посиланняGEMINI_API_KEY
GrokСинтезовані ШІ + посиланняXAI_API_KEY
KimiСинтезовані ШІ + посиланняKIMI_API_KEY / MOONSHOT_API_KEY
MiniMax SearchСтруктуровані сніпетиРегіон (global / cn)MINIMAX_CODE_PLAN_KEY / MINIMAX_CODING_API_KEY
Ollama Web SearchСтруктуровані сніпетиНемає за замовчуванням; потрібен ollama signin, можна повторно використати bearer auth постачальника Ollama
PerplexityСтруктуровані сніпетиКраїна, мова, час, домени, ліміти вмістуPERPLEXITY_API_KEY / OPENROUTER_API_KEY
SearXNGСтруктуровані сніпетиКатегорії, моваНемає (самостійно розгорнутий)
TavilyСтруктуровані сніпетиЧерез інструмент tavily_searchTAVILY_API_KEY

Автовиявлення

Власний вебпошук Codex

Моделі з підтримкою Codex за бажанням можуть використовувати власний інструмент Responses web_search постачальника замість керованої функції web_search OpenClaw.
  • Налаштовується в tools.web.search.openaiCodex
  • Активується лише для моделей із підтримкою Codex (openai-codex/* або постачальників, які використовують api: "openai-codex-responses")
  • Керований web_search і далі застосовується до моделей без підтримки Codex
  • mode: "cached" — це стандартне та рекомендоване значення
  • tools.web.search.enabled: false вимикає і керований, і власний пошук
{
  tools: {
    web: {
      search: {
        enabled: true,
        openaiCodex: {
          enabled: true,
          mode: "cached",
          allowedDomains: ["example.com"],
          contextSize: "high",
          userLocation: {
            country: "US",
            city: "New York",
            timezone: "America/New_York",
          },
        },
      },
    },
  },
}
Якщо власний пошук Codex увімкнено, але поточна модель не підтримує Codex, OpenClaw зберігає звичайну поведінку керованого web_search.

Налаштування вебпошуку

Списки постачальників у документації та сценаріях налаштування впорядковано за абеткою. Автовиявлення використовує окремий порядок пріоритету. Якщо provider не задано, OpenClaw перевіряє постачальників у такому порядку й використовує першого готового: Спочатку постачальники з API:
  1. BraveBRAVE_API_KEY або plugins.entries.brave.config.webSearch.apiKey (порядок 10)
  2. MiniMax SearchMINIMAX_CODE_PLAN_KEY / MINIMAX_CODING_API_KEY або plugins.entries.minimax.config.webSearch.apiKey (порядок 15)
  3. GeminiGEMINI_API_KEY або plugins.entries.google.config.webSearch.apiKey (порядок 20)
  4. GrokXAI_API_KEY або plugins.entries.xai.config.webSearch.apiKey (порядок 30)
  5. KimiKIMI_API_KEY / MOONSHOT_API_KEY або plugins.entries.moonshot.config.webSearch.apiKey (порядок 40)
  6. PerplexityPERPLEXITY_API_KEY / OPENROUTER_API_KEY або plugins.entries.perplexity.config.webSearch.apiKey (порядок 50)
  7. FirecrawlFIRECRAWL_API_KEY або plugins.entries.firecrawl.config.webSearch.apiKey (порядок 60)
  8. ExaEXA_API_KEY або plugins.entries.exa.config.webSearch.apiKey (порядок 65)
  9. TavilyTAVILY_API_KEY або plugins.entries.tavily.config.webSearch.apiKey (порядок 70)
Після цього — резервні варіанти без ключа:
  1. DuckDuckGo — HTML-резервний варіант без ключа, без акаунта чи API-ключа (порядок 100)
  2. Ollama Web Search — резервний варіант без ключа через ваш налаштований хост Ollama; вимагає, щоб Ollama був доступний і щоб ви виконали ollama signin, також може повторно використати bearer auth постачальника Ollama, якщо хост цього потребує (порядок 110)
  3. SearXNGSEARXNG_BASE_URL або plugins.entries.searxng.config.webSearch.baseUrl (порядок 200)
Якщо не виявлено жодного постачальника, використовується Brave (ви отримаєте помилку про відсутній ключ із підказкою налаштувати його).
Усі поля ключів постачальників підтримують об’єкти SecretRef. У режимі автовиявлення OpenClaw розв’язує лише ключ вибраного постачальника — SecretRef для невибраних постачальників лишаються неактивними.

Конфігурація

{
  tools: {
    web: {
      search: {
        enabled: true, // типово: true
        provider: "brave", // або не вказуйте для автовиявлення
        maxResults: 5,
        timeoutSeconds: 30,
        cacheTtlMinutes: 15,
      },
    },
  },
}
Конфігурація, специфічна для постачальника (API-ключі, базові URL, режими), розміщується в plugins.entries.<plugin>.config.webSearch.*. Приклади дивіться на сторінках постачальників. Вибір резервного постачальника для web_fetch налаштовується окремо:
  • виберіть його через tools.web.fetch.provider
  • або не вказуйте це поле, і OpenClaw автоматично виявить першого готового постачальника web_fetch серед доступних облікових даних
  • наразі вбудований постачальник web_fetch — це Firecrawl, налаштований у plugins.entries.firecrawl.config.webFetch.*
Коли ви вибираєте Kimi під час openclaw onboard або openclaw configure --section web, OpenClaw також може запитати:
  • регіон API Moonshot (https://api.moonshot.ai/v1 або https://api.moonshot.cn/v1)
  • типову модель Kimi для вебпошуку (типове значення — kimi-k2.6)
Для x_search налаштуйте plugins.entries.xai.config.xSearch.*. Він використовує той самий резервний варіант XAI_API_KEY, що й вебпошук Grok. Застарілу конфігурацію tools.web.x_search.* автоматично мігрує openclaw doctor --fix. Коли ви вибираєте Grok під час openclaw onboard або openclaw configure --section web, OpenClaw також може запропонувати необов’язкове налаштування x_search з тим самим ключем. Це окремий наступний крок у межах сценарію Grok, а не окремий вибір постачальника вебпошуку верхнього рівня. Якщо ви виберете іншого постачальника, OpenClaw не показуватиме запит для x_search.

Зберігання API-ключів

Виконайте openclaw configure --section web або задайте ключ безпосередньо:
{
  plugins: {
    entries: {
      brave: {
        config: {
          webSearch: {
            apiKey: "YOUR_KEY", // pragma: allowlist secret
          },
        },
      },
    },
  },
}

Параметри інструмента

ПараметрОпис
queryПошуковий запит (обов’язковий)
countКількість результатів для повернення (1-10, типово: 5)
country2-літерний код країни 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Код мови інтерфейсу (лише для Brave)
domain_filterМасив дозволених/заборонених доменів (лише для Perplexity)
max_tokensЗагальний бюджет вмісту, типово 25000 (лише для Perplexity)
max_tokens_per_pageЛіміт токенів на сторінку, типово 2048 (лише для Perplexity)
Не всі параметри працюють з усіма постачальниками. Режим llm-context у Brave не приймає ui_lang, freshness, date_after і date_before. Gemini, Grok і Kimi повертають одну синтезовану ШІ відповідь із посиланнями. Вони приймають count для сумісності спільного інструмента, але це не змінює форму відповіді з grounding. Perplexity поводиться так само, коли ви використовуєте шлях сумісності Sonar/OpenRouter (plugins.entries.perplexity.config.webSearch.baseUrl / model або OPENROUTER_API_KEY). SearXNG приймає http:// лише для довірених хостів приватної мережі або local loopback; публічні кінцеві точки SearXNG мають використовувати https://. Firecrawl і Tavily через web_search підтримують лише query і count — для розширених параметрів використовуйте їхні спеціалізовані інструменти.
x_search виконує запити до дописів у X (раніше Twitter) за допомогою xAI і повертає синтезовані ШІ відповіді з посиланнями. Він приймає запити природною мовою та необов’язкові структуровані фільтри. OpenClaw вмикає вбудований інструмент xAI x_search лише для запиту, який обслуговує цей виклик інструмента.
У документації xAI зазначено, що x_search підтримує пошук за ключовими словами, семантичний пошук, пошук користувачів і отримання тредів. Для статистики взаємодії окремого допису, як-от репости, відповіді, закладки або перегляди, краще використовувати цільовий пошук за точним URL допису або ID статусу. Широкі пошуки за ключовими словами можуть знайти потрібний допис, але повернути менш повні метадані для окремого допису. Хороший підхід такий: спочатку знайдіть допис, потім виконайте другий запит x_search, зосереджений саме на цьому дописі.
{
  plugins: {
    entries: {
      xai: {
        config: {
          xSearch: {
            enabled: true,
            model: "grok-4-1-fast-non-reasoning",
            inlineCitations: false,
            maxTurns: 2,
            timeoutSeconds: 30,
            cacheTtlMinutes: 15,
          },
          webSearch: {
            apiKey: "xai-...", // optional if XAI_API_KEY is set
          },
        },
      },
    },
  },
}
ПараметрОпис
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 аналізувати відео, прикріплені до відповідних дописів
await x_search({
  query: "dinner recipes",
  allowed_x_handles: ["nytfood"],
  from_date: "2026-03-01",
});
// Per-post stats: use the exact status URL or status ID when possible
await x_search({
  query: "https://x.com/huntharo/status/1905678901234567890",
});

Приклади

// Basic search
await web_search({ query: "OpenClaw plugin SDK" });

// German-specific search
await web_search({ query: "TV online schauen", country: "DE", language: "de" });

// Recent results (past week)
await web_search({ query: "AI developments", freshness: "week" });

// Date range
await web_search({
  query: "climate research",
  date_after: "2024-01-01",
  date_before: "2024-06-30",
});

// Domain filtering (Perplexity only)
await web_search({
  query: "product reviews",
  domain_filter: ["-reddit.com", "-pinterest.com"],
});

Профілі інструментів

Якщо ви використовуєте профілі інструментів або списки дозволів, додайте web_search, x_search або group:web:
{
  tools: {
    allow: ["web_search", "x_search"],
    // or: allow: ["group:web"]  (includes web_search, x_search, and web_fetch)
  },
}

Пов’язані матеріали

  • Web Fetch — отримання URL і витягування придатного для читання вмісту
  • Web Browser — повна автоматизація браузера для сайтів із активним використанням JS
  • Grok Search — Grok як постачальник web_search
  • Ollama Web Search — вебпошук без ключа через ваш хост Ollama