Tools
Вебпошук
Інструмент web_search виконує пошук в інтернеті за допомогою налаштованого вами провайдера та
повертає результати. Результати кешуються за запитом на 15 хвилин (налаштовується).
OpenClaw також включає x_search для дописів X (раніше Twitter) і
web_fetch для легкого отримання URL. На цьому етапі web_fetch залишається
локальним, тоді як web_search і x_search можуть використовувати xAI Responses під капотом.
Швидкий старт
Виберіть провайдера
Виберіть провайдера й виконайте всі потрібні кроки налаштування. Деякі провайдери не потребують ключів, тоді як інші використовують API-ключі. Докладніше дивіться на сторінках провайдерів нижче.
Налаштуйте
openclaw configure --section webЦе зберігає провайдера та всі потрібні облікові дані. Ви також можете задати змінну
середовища (наприклад, BRAVE_API_KEY) і пропустити цей крок для провайдерів,
що працюють через API.
Використовуйте
Тепер агент може викликати web_search:
await web_search({ query: "OpenClaw plugin SDK" });Для дописів X використовуйте:
await x_search({ query: "dinner recipes" });Вибір провайдера
Структуровані результати з фрагментами. Підтримує режим llm-context, фільтри країни/мови. Доступний безкоштовний рівень.
Резервний варіант без ключа. API-ключ не потрібен. Неофіційна інтеграція на основі HTML.
Нейронний + ключовий пошук із витягуванням вмісту (виділення, текст, підсумки).
Структуровані результати. Найкраще поєднувати з firecrawl_search і firecrawl_scrape для глибокого витягування.
AI-синтезовані відповіді з цитуваннями через прив’язку до Google Search.
AI-синтезовані відповіді з цитуваннями через вебприв’язку xAI.
AI-синтезовані відповіді з цитуваннями через вебпошук Moonshot; незаземлені резервні чати явно завершуються помилкою.
Структуровані результати через пошуковий API MiniMax Token Plan.
Пошук через локальний хост Ollama з виконаним входом або розміщений API Ollama.
Структуровані результати з елементами керування витягуванням вмісту та фільтрацією доменів.
Самостійно розміщений метапошук. API-ключ не потрібен. Агрегує Google, Bing, DuckDuckGo тощо.
Структуровані результати з глибиною пошуку, фільтрацією тем і tavily_extract для витягування URL.
Порівняння провайдерів
| Провайдер | Стиль результатів | Фільтри | API-ключ |
|---|---|---|---|
| Brave | Структуровані фрагменти | Країна, мова, час, режим llm-context |
BRAVE_API_KEY |
| DuckDuckGo | Структуровані фрагменти | -- | Немає (без ключа) |
| Exa | Структуровані + витягнуті | Нейронний/ключовий режим, дата, витягування вмісту | EXA_API_KEY |
| Firecrawl | Структуровані фрагменти | Через інструмент firecrawl_search |
FIRECRAWL_API_KEY |
| Gemini | AI-синтезовані + цитування | -- | GEMINI_API_KEY |
| Grok | AI-синтезовані + цитування | -- | XAI_API_KEY |
| 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 | Структуровані фрагменти | -- | Немає для локальних хостів із виконаним входом; OLLAMA_API_KEY для прямого пошуку https://ollama.com |
| Perplexity | Структуровані фрагменти | Країна, мова, час, домени, ліміти вмісту | PERPLEXITY_API_KEY / OPENROUTER_API_KEY |
| SearXNG | Структуровані фрагменти | Категорії, мова | Немає (самостійне розміщення) |
| Tavily | Структуровані фрагменти | Через інструмент tavily_search |
TAVILY_API_KEY |
Автовиявлення
Нативний вебпошук OpenAI
Прямі моделі OpenAI Responses автоматично використовують розміщений OpenAI інструмент web_search, коли вебпошук OpenClaw увімкнено й не закріплено жодного керованого провайдера. Це поведінка, що належить провайдеру в комплектному OpenAI plugin, і вона застосовується лише до нативного трафіку OpenAI API, а не до базових URL проксі, сумісних з OpenAI, чи маршрутів Azure. Установіть tools.web.search.provider на іншого провайдера, наприклад brave, щоб залишити керований інструмент web_search для моделей OpenAI, або встановіть tools.web.search.enabled: false, щоб вимкнути як керований пошук, так і нативний пошук OpenAI.
Нативний вебпошук Codex
Моделі з підтримкою Codex можуть додатково використовувати провайдер-нативний інструмент Responses web_search замість керованої функції OpenClaw web_search.
- Налаштуйте його в
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.
Безпека мережі
Виклики провайдерів керованого web_search використовують захищений шлях fetch OpenClaw. Для
довірених API-хостів провайдерів OpenClaw дозволяє fake-IP DNS-відповіді Surge, Clash і sing-box
у 198.18.0.0/15 та fc00::/7 лише для імені хоста цього провайдера.
Інші приватні, loopback, link-local і metadata призначення залишаються заблокованими.
Цей автоматичний дозвіл не застосовується до довільних URL web_fetch. Для
web_fetch вмикайте tools.web.fetch.ssrfPolicy.allowRfc2544BenchmarkRange і
tools.web.fetch.ssrfPolicy.allowIpv6UniqueLocalRange явно лише тоді, коли ваш
довірений проксі володіє цими синтетичними діапазонами.
Налаштування вебпошуку
Списки провайдерів у документації та потоках налаштування впорядковані за алфавітом. Автовиявлення зберігає окремий порядок пріоритету.
Якщо 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_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)
Після цього резервні варіанти без ключа:
- DuckDuckGo -- резервний HTML-варіант без ключа, без облікового запису чи API-ключа (порядок 100)
- Ollama Web Search -- резервний варіант без ключа через ваш налаштований локальний хост Ollama, коли він доступний і в ньому виконано вхід через
ollama signin; може повторно використовувати bearer-автентифікацію провайдера Ollama, коли вона потрібна хосту, і може викликати прямий пошукhttps://ollama.com, коли налаштованоOLLAMA_API_KEY(порядок 110) - SearXNG --
SEARXNG_BASE_URLабоplugins.entries.searxng.config.webSearch.baseUrl(порядок 200)
Якщо жодного провайдера не виявлено, використовується резервний Brave (ви отримаєте помилку про відсутній ключ із підказкою налаштувати його).
Конфігурація
{ tools: { web: { search: { enabled: true, // default: true provider: "brave", // or omit for auto-detection maxResults: 5, timeoutSeconds: 30, cacheTtlMinutes: 15, }, }, },}Конфігурація, специфічна для провайдера (ключі API, базові URL, режими), зберігається в
plugins.entries.<plugin>.config.webSearch.*. Gemini також може повторно використовувати
models.providers.google.apiKey і models.providers.google.baseUrl як резервні варіанти
з нижчим пріоритетом після власної конфігурації веб-пошуку та GEMINI_API_KEY. Приклади див. на
сторінках провайдерів.
tools.web.search.provider перевіряється за ідентифікаторами провайдерів веб-пошуку,
оголошеними в маніфестах вбудованих і встановлених plugin. Помилка на кшталт "brvae"
спричиняє помилку перевірки конфігурації замість непомітного повернення до автовизначення. Якщо
налаштований провайдер має лише застарілі свідчення plugin, наприклад залишковий
блок plugins.entries.<plugin> після видалення стороннього plugin,
OpenClaw зберігає стійкий запуск і повідомляє попередження, щоб ви могли перевстановити
plugin або виконати openclaw doctor --fix, щоб очистити застарілу конфігурацію.
Вибір резервного провайдера web_fetch виконується окремо:
- виберіть його за допомогою
tools.web.fetch.provider - або пропустіть це поле й дозвольте OpenClaw автоматично визначити першого готового провайдера web-fetch з доступних облікових даних
web_fetchбез пісочниці може використовувати встановлені провайдери plugin, які оголошуютьcontracts.webFetchProviders; вибірки в пісочниці залишаються лише вбудованими- наразі вбудованим провайдером web-fetch є Firecrawl, налаштований у
plugins.entries.firecrawl.config.webFetch.*
Коли ви вибираєте Kimi під час openclaw onboard або
openclaw configure --section web, OpenClaw також може запитати:
- регіон Moonshot API (
https://api.moonshot.ai/v1абоhttps://api.moonshot.cn/v1) - стандартну модель веб-пошуку Kimi (за замовчуванням
kimi-k2.6)
Для x_search налаштуйте plugins.entries.xai.config.xSearch.*. Він використовує той самий
профіль автентифікації xAI, що й чат, або XAI_API_KEY / облікові дані веб-пошуку
plugin, які використовує веб-пошук Grok.
Застаріла конфігурація tools.web.x_search.* автоматично мігрується командою openclaw doctor --fix.
Коли ви вибираєте Grok під час openclaw onboard або openclaw configure --section web,
OpenClaw також може запропонувати необов’язкове налаштування x_search з тим самим ключем.
Це окремий наступний крок у межах шляху Grok, а не окремий вибір провайдера
веб-пошуку верхнього рівня. Якщо ви виберете іншого провайдера, OpenClaw не
показуватиме запит x_search.
Зберігання ключів API
Config file
Запустіть openclaw configure --section web або задайте ключ безпосередньо:
{ plugins: { entries: { brave: { config: { webSearch: { apiKey: "YOUR_KEY", // pragma: allowlist secret }, }, }, }, },}Environment variable
Задайте змінну середовища провайдера в середовищі процесу Gateway:
export BRAVE_API_KEY="YOUR_KEY"Для встановлення gateway помістіть її в ~/.openclaw/.env.
Див. змінні середовища.
Параметри інструмента
| Параметр | Опис |
|---|---|
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 |
Масив дозволених/заборонених доменів (лише Perplexity) |
max_tokens |
Загальний бюджет вмісту, за замовчуванням 25000 (лише Perplexity) |
max_tokens_per_page |
Ліміт токенів на сторінку, за замовчуванням 2048 (лише Perplexity) |
x_search
x_search запитує дописи X (раніше Twitter) за допомогою xAI та повертає
синтезовані AI відповіді з цитуваннями. Він приймає запити природною мовою та
необов’язкові структуровані фільтри. OpenClaw вмикає вбудований інструмент xAI x_search
лише для запиту, який обслуговує цей виклик інструмента.
Конфігурація x_search
{ plugins: { entries: { xai: { config: { xSearch: { enabled: true, model: "grok-4-1-fast-non-reasoning", baseUrl: "https://api.x.ai/v1", // optional, overrides webSearch.baseUrl inlineCitations: false, maxTurns: 2, timeoutSeconds: 30, cacheTtlMinutes: 15, }, webSearch: { apiKey: "xai-...", // optional if an xAI auth profile or XAI_API_KEY is set baseUrl: "https://api.x.ai/v1", // optional shared xAI Responses base URL }, }, }, }, },}x_search надсилає POST-запити до <baseUrl>/responses, коли
задано plugins.entries.xai.config.xSearch.baseUrl. Якщо це поле пропущено,
він повертається до plugins.entries.xai.config.webSearch.baseUrl, потім до
застарілого tools.web.search.grok.baseUrl, і нарешті до публічної кінцевої точки xAI.
Параметри x_search
| Параметр | Опис |
|---|---|
query |
Пошуковий запит (обов’язково) |
allowed_x_handles |
Обмежити результати конкретними X handles |
excluded_x_handles |
Виключити конкретні X handles |
from_date |
Включати лише дописи на цю дату або після неї (YYYY-MM-DD) |
to_date |
Включати лише дописи на цю дату або до неї (YYYY-MM-DD) |
enable_image_understanding |
Дозволити xAI перевіряти зображення, прикріплені до відповідних дописів |
enable_video_understanding |
Дозволити xAI перевіряти відео, прикріплені до відповідних дописів |
Приклад x_search
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 possibleawait x_search({ query: "https://x.com/huntharo/status/1905678901234567890",});Приклади
// Basic searchawait web_search({ query: "OpenClaw plugin SDK" }); // German-specific searchawait web_search({ query: "TV online schauen", country: "DE", language: "de" }); // Recent results (past week)await web_search({ query: "AI developments", freshness: "week" }); // Date rangeawait 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