Tools
Вебпошук
web_search виконує пошук у вебі за допомогою налаштованого постачальника та повертає
нормалізовані результати, кешовані за запитом протягом 15 хвилин (можна налаштувати). OpenClaw
також постачається з x_search для дописів у X (раніше Twitter) і web_fetch для
полегшеного отримання даних за URL-адресою. web_fetch завжди виконується локально; web_search спрямовує
запити через xAI Responses, коли постачальником є Grok, а x_search завжди використовує
xAI Responses.
Швидкий початок
Виберіть постачальника
Виберіть постачальника та виконайте всі необхідні налаштування. Деякі постачальники не потребують ключа, іншим потрібен ключ API. Докладніше дивіться на сторінках постачальників нижче.
Налаштуйте
openclaw configure --section webЦя команда зберігає постачальника та всі необхідні облікові дані. Для постачальників
з доступом через API натомість можна встановити змінну середовища постачальника (наприклад,
BRAVE_API_KEY) і пропустити цей крок.
Скористайтеся
await web_search({ query: "OpenClaw plugin SDK" });Для дописів у X:
await x_search({ query: "dinner recipes" });Вибір постачальника
Структуровані результати з фрагментами. Підтримує режим llm-context і фільтри за країною та мовою. Доступний безкоштовний рівень.
Синтезовані ШІ обґрунтовані відповіді через ваш обліковий запис сервера застосунку Codex.
Постачальник без ключа. Ключ API не потрібен. Неофіційна інтеграція на основі HTML.
Нейронний пошук і пошук за ключовими словами з видобуванням вмісту (виділені фрагменти, текст, резюме).
Структуровані результати. Для глибокого видобування найкраще використовувати разом із firecrawl_search і firecrawl_scrape.
Синтезовані ШІ відповіді з цитуваннями, обґрунтовані результатами Google Search.
Синтезовані ШІ відповіді з цитуваннями через вебобґрунтування xAI.
Синтезовані ШІ відповіді з цитуваннями через вебпошук Moonshot; резервні відповіді чату без обґрунтування завершуються явною помилкою.
Структуровані результати через API пошуку MiniMax Token Plan.
Пошук через локальний хост Ollama із виконаним входом або розміщений API Ollama.
Платний API Parallel Search (PARALLEL_API_KEY); вищі обмеження частоти запитів і налаштування цільової функції.
Підключається за бажанням і не потребує ключа. Безкоштовний Search MCP від Parallel зі щільними уривками, оптимізованими для LLM, без ключа API.
Структуровані результати з керуванням видобуванням вмісту та фільтрацією за доменами.
Самостійно розміщений метапошук. Ключ API не потрібен. Агрегує Google, Bing, DuckDuckGo тощо.
Структуровані результати з налаштуванням глибини пошуку, фільтрацією за темою та tavily_extract для видобування даних із URL-адрес.
Порівняння постачальників
| Постачальник | Формат результатів | Фільтри | Ключ API |
|---|---|---|---|
| Brave | Структуровані фрагменти | Країна, мова, час, режим llm-context |
BRAVE_API_KEY |
| Codex Hosted Search | Синтезовані ШІ відповіді + URL-адреси джерел | Домени, розмір контексту, розташування користувача | Немає; використовує вхід у Codex/OpenAI |
| DuckDuckGo | Структуровані фрагменти | -- | Немає (без ключа) |
| Exa | Структуровані результати + видобутий вміст | Нейронний режим/режим ключових слів, дата, видобування вмісту | EXA_API_KEY |
| Firecrawl | Структуровані фрагменти | Через інструмент firecrawl_search |
FIRECRAWL_API_KEY |
| Gemini | Синтезовані ШІ відповіді + цитування | -- | GEMINI_API_KEY |
| Grok | Синтезовані ШІ відповіді + цитування | -- | OAuth xAI, XAI_API_KEY або plugins.entries.xai.config.webSearch.apiKey |
| Kimi | Синтезовані ШІ відповіді + цитування; помилка для резервних відповідей чату без обґрунтування | -- | 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 |
| Parallel | Щільні уривки, ранжовані для контексту LLM | -- | PARALLEL_API_KEY (платний) |
| Parallel Search (Free) | Щільні уривки, ранжовані для контексту 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 -- OAuth xAI,
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 -- платний API Parallel Search через
PARALLEL_API_KEYабоplugins.entries.parallel.config.webSearch.apiKey; необов’язковий параметрplugins.entries.parallel.config.webSearch.baseUrlперевизначає кінцеву точку (порядок 75)
Після них — постачальники з налаштованими кінцевими точками:
- SearXNG --
SEARXNG_BASE_URLабоplugins.entries.searxng.config.webSearch.baseUrl(порядок 200)
Постачальники без ключів, як-от Parallel Search (Free), DuckDuckGo,
Ollama Web Search і Codex Hosted Search, ніколи не вибираються автоматично,
навіть якщо мають внутрішнє значення порядку. Вони використовуються лише тоді, коли ви
явно вибираєте їх за допомогою tools.web.search.provider або через
openclaw configure --section web. OpenClaw не надсилає керовані
запити web_search постачальнику без ключа лише тому, що не налаштовано жодного
постачальника з доступом через API.
Моделі OpenAI Responses є винятком: доки tools.web.search.provider
не задано, вони використовують нативний вебпошук OpenAI замість зазначених вище керованих
постачальників (див. нижче). Установіть для tools.web.search.provider значення
parallel-free (або іншого постачальника), щоб натомість спрямовувати їх через керований шлях.
Нативний вебпошук OpenAI
Моделі прямого доступу до OpenAI Responses (api: "openai-responses", постачальник openai,
без базової URL-адреси або з офіційною базовою URL-адресою OpenAI API) автоматично використовують розміщений в OpenAI
інструмент web_search, коли вебпошук OpenClaw увімкнено й не закріплено
керованого постачальника. Ця поведінка належить постачальнику в комплектному
Plugin OpenAI й не поширюється на базові URL-адреси проксі, сумісних з OpenAI, або маршрути Azure.
Установіть для tools.web.search.provider іншого постачальника, наприклад brave, щоб
зберегти керований інструмент web_search для моделей OpenAI, або встановіть
tools.web.search.enabled: false, щоб вимкнути і керований пошук, і вбудований
пошук OpenAI.
Вбудований вебпошук Codex
Середовище виконання app-server Codex автоматично використовує розміщений у Codex інструмент web_search,
коли вебпошук увімкнено й не вибрано керованого постачальника. Вбудований розміщений
пошук і динамічний керований інструмент web_search OpenClaw взаємовиключні,
тому керований пошук не може обійти вбудовані обмеження доменів. OpenClaw використовує
керований інструмент, коли розміщений пошук недоступний, явно вимкнений або
замінений вибраним керованим постачальником. OpenClaw залишає автономне
розширення web.run Codex вимкненим (features.standalone_web_search: false),
оскільки робочий трафік app-server відхиляє визначений користувачем простір імен web.
- Налаштуйте вбудований пошук у
tools.web.search.openaiCodex - Установіть
tools.web.search.provider: "codex", щоб налаштувати Codex Hosted Search як керованого постачальникаweb_searchдля будь-якої батьківської моделі. Кожен виклик запускає обмежений ефемерний хід app-server Codex і завершується помилкою, якщо Codex не створить розміщений елементwebSearch. mode: "cached"є типовим бажаним режимом, але Codex перетворює його на прямий зовнішній доступ для необмежених ходів app-server; установіть"live", щоб явно запросити прямий доступ- Установіть для
tools.web.search.providerкерованого постачальника, наприкладbrave, щоб натомість використовувати керований інструментweb_searchOpenClaw - Установіть
tools.web.search.openaiCodex.enabled: false, щоб відмовитися від розміщеного в Codex пошуку; інші керовані постачальники залишаться доступними - Обмеження поверхні вбудованих інструментів Codex також зберігає доступність керованого
web_search - Коли встановлено
allowedDomains, автоматичний перехід до керованого пошуку завершується безпечною відмовою, якщо розміщений пошук недоступний, щоб не можна було обійти вбудований список дозволених доменів - Запуски лише з LLM і вимкненими інструментами вимикають як вбудований, так і керований пошук
tools.web.search.enabled: falseвимикає як керований, так і вбудований пошук
Постійні зміни чинної політики пошуку Codex запускають новий прив’язаний потік, щоб уже завантажений потік app-server не міг зберегти застарілий доступ до розміщеного пошуку. Тимчасові обмеження для окремого ходу використовують тимчасовий обмежений потік і зберігають наявну прив’язку для подальшого відновлення.
Прямий трафік OpenAI ChatGPT Responses також може використовувати розміщений в OpenAI
інструмент web_search. Цей окремий шлях залишається доступним за явною згодою через
tools.web.search.openaiCodex.enabled: true і застосовується лише до придатних
моделей openai/*, що використовують api: "openai-chatgpt-responses".
{ tools: { web: { search: { enabled: true, // Необов’язково: використовуйте Codex Hosted Search і з батьківськими моделями, відмінними від Codex. provider: "codex", openaiCodex: { enabled: true, mode: "cached", allowedDomains: ["example.com"], contextSize: "high", userLocation: { country: "US", city: "New York", timezone: "America/New_York", }, }, }, }, },}Для середовищ виконання та постачальників, які не підтримують вбудований пошук Codex, Codex може
використовувати резервний керований web_search через простір імен динамічних інструментів OpenClaw.
Використовуйте явно вказаного керованого постачальника, коли замість розміщеного в Codex пошуку вам потрібні
мережеві засоби керування OpenClaw, специфічні для постачальника.
Вибір provider: "codex" вмикає комплектний Plugin codex і використовує
ті самі обмеження tools.web.search.openaiCodex, що наведені вище. Спочатку автентифікуйте
app-server Codex за допомогою openclaw models auth login --provider openai.
Батьківський агент може використовувати будь-яку модель або середовище виконання; лише обмежений пошуковий виконавець
працює через Codex.
Безпека мережі
Виклики постачальників керованого HTTP-інструмента web_search використовують захищений шлях отримання даних OpenClaw,
обмежений власним ім’ям хоста поточного постачальника. Лише для цього імені хоста
OpenClaw дозволяє DNS-відповіді з фіктивними IP-адресами Surge, Clash і sing-box у
198.18.0.0/15 та fc00::/7. Інші приватні адреси, local loopback, локальні адреси каналу та
адреси метаданих залишаються заблокованими. Codex Hosted Search є винятком:
його обмежений виконавець делегує мережевий доступ розміщеному інструменту web_search
app-server Codex.
Цей автоматичний дозвіл не поширюється на довільні URL-адреси web_fetch. Для
web_fetch явно вмикайте tools.web.fetch.ssrfPolicy.allowRfc2544BenchmarkRange і
tools.web.fetch.ssrfPolicy.allowIpv6UniqueLocalRange лише тоді, коли ваш
довірений проксі володіє цими синтетичними діапазонами.
Конфігурація
{ tools: { web: { search: { enabled: true, // типове значення: true provider: "brave", // або пропустіть для автоматичного визначення 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. Приклади
дивіться на сторінках постачальників.
Grok також може повторно використовувати профіль автентифікації xAI OAuth із openclaw models auth login --provider xai --method oauth; конфігурація ключа API залишається резервним варіантом.
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; отримання даних у пісочниці дозволяє комплектних постачальників і перевірені встановлення офіційних Plugin, але виключає сторонні зовнішні Plugin- офіційний Plugin Firecrawl наразі є єдиним комплектним учасником
webFetchProviders, налаштованим у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. Це окремий наступний крок у шляху Grok,
а не окремий вибір постачальника вебпошуку верхнього рівня. Якщо вибрати іншого
постачальника, OpenClaw не показує запит x_search.
Зберігання ключів API
Файл конфігурації
Запустіть openclaw configure --section web або задайте ключ безпосередньо:
{ plugins: { entries: { brave: { config: { webSearch: { apiKey: "YOUR_KEY", // pragma: allowlist secret }, }, }, }, },}Змінна середовища
Установіть змінну середовища постачальника в середовищі процесу Gateway:
export BRAVE_API_KEY="YOUR_KEY"Для встановлення Gateway помістіть її в ~/.openclaw/.env.
Див. Змінні середовища.
Параметри інструмента
| Параметр | Опис |
|---|---|
query |
Пошуковий запит (обов’язковий) |
count |
Кількість результатів для повернення (1–10, типове значення: 5) |
country |
Дволітерний код країни ISO (наприклад, "US", "DE") |
language |
Код мови ISO 639-1 (наприклад, "en", "de") |
search_lang |
Код мови пошуку (лише Brave) |
freshness |
Фільтр часу: day, week, month або year |
date_after |
Результати після цієї дати (РРРР-ММ-ДД) |
date_before |
Результати до цієї дати (РРРР-ММ-ДД) |
ui_lang |
Код мови інтерфейсу (лише Brave) |
domain_filter |
Масив дозволених/заборонених доменів (лише Perplexity) |
max_tokens |
Загальний бюджет токенів вмісту, лише для вбудованого Perplexity Search API |
max_tokens_per_page |
Обмеження токенів для отримання даних з однієї сторінки, лише для вбудованого Perplexity Search API |
x_search
x_search виконує пошук дописів у X (раніше Twitter) за допомогою xAI та повертає
синтезовані ШІ відповіді з посиланнями на джерела. Він приймає запити природною мовою та
необов’язкові структуровані фільтри. OpenClaw створює вбудований інструмент xAI x_search
для кожного запиту, а не зберігає його постійно зареєстрованим, тому він активний лише
для ходу, який фактично його викликає.
Конфігурація x_search
Якщо enabled не вказано, x_search доступний лише тоді, коли постачальником активної моделі є xai і облікові дані xAI успішно визначено. Для активної моделі з відомим постачальником, відмінним від xAI, установіть plugins.entries.xai.config.xSearch.enabled у true, щоб увімкнути використання між постачальниками. Якщо постачальника активної моделі не вказано або не вдалося визначити, інструмент залишається прихованим. Установіть enabled у false, щоб вимкнути його для всіх постачальників. Облікові дані xAI потрібні завжди.
{ plugins: { entries: { xai: { config: { xSearch: { enabled: true, // обов’язково для відомого постачальника моделі, відмінного від xAI model: "grok-4.3", baseUrl: "https://api.x.ai/v1", // необов’язково, перевизначає webSearch.baseUrl inlineCitations: false, maxTurns: 2, timeoutSeconds: 30, cacheTtlMinutes: 15, }, webSearch: { apiKey: "xai-...", // необов’язково, якщо налаштовано профіль автентифікації xAI або XAI_API_KEY baseUrl: "https://api.x.ai/v1", // необов’язкова спільна базова URL-адреса xAI Responses }, }, }, }, },}x_search надсилає POST-запити до <baseUrl>/responses, якщо встановлено plugins.entries.xai.config.xSearch.baseUrl. Якщо це поле не вказано, використовується plugins.entries.xai.config.webSearch.baseUrl, потім застаріле tools.web.search.grok.baseUrl і, зрештою, загальнодоступна кінцева точка xAI (https://api.x.ai/v1).
Параметри x_search
| Параметр | Опис |
|---|---|
query |
Пошуковий запит (обов’язково) |
allowed_x_handles |
Обмежити результати щонайбільше 20 ідентифікаторами X |
excluded_x_handles |
Виключити щонайбільше 20 ідентифікаторів X |
from_date |
Включати лише дописи, опубліковані в цю дату або пізніше (YYYY-MM-DD) |
to_date |
Включати лише дописи, опубліковані в цю дату або раніше (YYYY-MM-DD) |
enable_image_understanding |
Дозволити xAI аналізувати зображення, прикріплені до відповідних дописів |
enable_video_understanding |
Дозволити xAI аналізувати відео, прикріплені до відповідних дописів |
allowed_x_handles і excluded_x_handles є взаємовиключними.
Приклад x_search
await x_search({ query: "рецепти вечері", allowed_x_handles: ["nytfood"], from_date: "2026-03-01",});// Статистика окремого допису: за можливості використовуйте точну URL-адресу статусу або ідентифікатор статусуawait x_search({ query: "https://x.com/huntharo/status/1905678901234567890",});Приклади
// Базовий пошукawait web_search({ query: "SDK плагінів OpenClaw" }); // Пошук німецькою мовоюawait web_search({ query: "TV online schauen", country: "DE", language: "de" }); // Нещодавні результати (за минулий тиждень)await web_search({ query: "розвиток ШІ", freshness: "week" }); // Діапазон датawait web_search({ query: "дослідження клімату", date_after: "2024-01-01", date_before: "2024-06-30",}); // Фільтрування за доменами (лише Perplexity)await web_search({ query: "огляди продуктів", domain_filter: ["-reddit.com", "-pinterest.com"],});Профілі інструментів
Якщо ви використовуєте профілі інструментів або списки дозволів, додайте web_search, x_search або group:web:
{ tools: { allow: ["web_search", "x_search"], // або: allow: ["group:web"] (включає web_search, x_search і web_fetch) },}Пов’язані матеріали
- Отримання вебвмісту -- отримання даних за URL-адресою та видобування зручного для читання вмісту
- Веббраузер -- повна автоматизація браузера для сайтів, що інтенсивно використовують JS
- Пошук Grok -- Grok як постачальник
web_search - Вебпошук Ollama -- вебпошук без ключа через ваш хост Ollama