web_search выполняет поиск в интернете через настроенного поставщика и
возвращает результаты. Результаты кэшируются по запросу на 15 минут (настраивается).
OpenClaw также включает x_search для публикаций X (ранее Twitter) и
web_fetch для легкого получения URL. На этом этапе web_fetch остается
локальным, а web_search и x_search могут использовать xAI Responses под капотом.
web_search — это легкий HTTP-инструмент, а не браузерная автоматизация. Для
сайтов с большим количеством JS или входа в аккаунт используйте Веб-браузер. Для
получения конкретного URL используйте Web Fetch.Быстрый старт
Choose a provider
Выберите поставщика и выполните необходимую настройку. Некоторые поставщики
не требуют ключей, а другие используют API-ключи. Подробности см. на страницах
поставщиков ниже.
Configure
BRAVE_API_KEY) и пропустить этот шаг для
поставщиков с API.Выбор поставщика
Brave Search
Структурированные результаты со сниппетами. Поддерживает режим
llm-context, фильтры по стране и языку. Доступен бесплатный уровень.Codex Hosted Search
Синтезированные ИИ ответы с привязкой к источникам через вашу учетную запись app-server Codex.
DuckDuckGo
Поставщик без ключа. API-ключ не нужен. Неофициальная интеграция на основе HTML.
Exa
Нейронный и ключевой поиск с извлечением содержимого (выделения, текст, сводки).
Firecrawl
Структурированные результаты. Лучше всего использовать вместе с
firecrawl_search и firecrawl_scrape для глубокого извлечения.Gemini
Синтезированные ИИ ответы с цитированием через привязку к Google Search.
Grok
Синтезированные ИИ ответы с цитированием через веб-привязку xAI.
Kimi
Синтезированные ИИ ответы с цитированием через веб-поиск Moonshot; резервные варианты чата без привязки явно завершаются ошибкой.
MiniMax Search
Структурированные результаты через API поиска MiniMax Token Plan.
Ollama Web Search
Поиск через локальный хост Ollama с выполненным входом или размещенный API Ollama.
Parallel
Платный Parallel Search API (
PARALLEL_API_KEY); более высокие лимиты частоты и настройка объективности.Parallel Search (Free)
Подключаемый вариант без ключа. Бесплатный Search MCP от Parallel, с плотными отрывками, оптимизированными для LLM, и без API-ключа.
Perplexity
Структурированные результаты с настройками извлечения содержимого и фильтрацией по доменам.
SearXNG
Самостоятельно размещаемый метапоиск. API-ключ не нужен. Агрегирует Google, Bing, DuckDuckGo и другие.
Tavily
Структурированные результаты с глубиной поиска, фильтрацией по темам и
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 |
Автообнаружение
Нативный веб-поиск OpenAI
Прямые модели OpenAI Responses автоматически используют размещенный инструмент OpenAIweb_search, когда веб-поиск OpenClaw включен и управляемый поставщик не закреплен. Это поведение принадлежит поставщику в составе встроенного OpenAI Plugin и применяется только к нативному трафику OpenAI API, а не к OpenAI-совместимым базовым URL прокси или маршрутам Azure. Задайте tools.web.search.provider на другого поставщика, например brave, чтобы сохранить управляемый инструмент web_search для моделей OpenAI, или задайте tools.web.search.enabled: false, чтобы отключить и управляемый поиск, и нативный поиск OpenAI.
Нативный веб-поиск Codex
Среда выполнения app-server Codex автоматически использует размещенный инструмент Codexweb_search,
когда веб-поиск включен и управляемый поставщик не выбран. Нативный размещенный
поиск и управляемый динамический инструмент OpenClaw web_search являются взаимоисключающими,
поэтому управляемый поиск не может обходить нативные ограничения доменов. OpenClaw использует
управляемый инструмент, когда размещенный поиск недоступен, явно отключен или
заменен выбранным управляемым поставщиком. OpenClaw держит автономное расширение Codex
web.run отключенным, потому что производственный трафик 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-only с отключенными инструментами отключают и нативный, и управляемый поиск
tools.web.search.enabled: falseотключает и управляемый, и нативный поиск
web_search. Этот отдельный путь остается подключаемым через
tools.web.search.openaiCodex.enabled: true и применяется только к подходящим
моделям openai/*, использующим api: "openai-chatgpt-responses".
web_search через динамическое пространство имен инструментов OpenClaw.
Используйте явного управляемого поставщика, когда вам нужны сетевые настройки OpenClaw,
специфичные для поставщика, вместо размещенного в Codex поиска.
Выбор provider: "codex" включает встроенный plugin codex и использует
те же ограничения tools.web.search.openaiCodex, которые показаны выше. Сначала
аутентифицируйте app-server Codex с помощью openclaw models auth login --provider openai.
Родительский агент может использовать любую модель или runtime; только ограниченный
поиск-worker выполняется через Codex.
Сетевая безопасность
Вызовы управляемого HTTP-поставщикаweb_search используют защищенный путь fetch
OpenClaw. Для доверенных API-хостов поставщиков OpenClaw разрешает DNS-ответы
fake-IP от Surge, Clash и sing-box в 198.18.0.0/15 и fc00::/7 только для
этого имени хоста поставщика. Другие частные, loopback, link-local и metadata
назначения остаются заблокированными. Codex Hosted Search является исключением:
его ограниченный worker делегирует сетевой доступ размещенному инструменту
web_search app-server Codex.
Это автоматическое разрешение не применяется к произвольным URL web_fetch. Для
web_fetch явно включайте tools.web.fetch.ssrfPolicy.allowRfc2544BenchmarkRange и
tools.web.fetch.ssrfPolicy.allowIpv6UniqueLocalRange только если ваш доверенный
proxy владеет этими синтетическими диапазонами.
Настройка веб-поиска
Списки поставщиков в документации и потоках настройки упорядочены по алфавиту. Автообнаружение сохраняет отдельный порядок приоритета. Если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 OAuth,
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переопределяет endpoint Exa (порядок 65) - Tavily —
TAVILY_API_KEYилиplugins.entries.tavily.config.webSearch.apiKey(порядок 70) - Parallel — платный Parallel Search API через
PARALLEL_API_KEYилиplugins.entries.parallel.config.webSearch.apiKey; необязательныйplugins.entries.parallel.config.webSearch.baseUrlпереопределяет endpoint (порядок 75)
- SearXNG —
SEARXNG_BASE_URLилиplugins.entries.searxng.config.webSearch.baseUrl(порядок 200)
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 (или
другого поставщика), чтобы направить их через управляемый путь.
Все поля ключей поставщиков поддерживают объекты SecretRef. Plugin-scoped SecretRef
в
plugins.entries.<plugin>.config.webSearch.apiKey разрешаются для
установленных поставщиков веб-поиска с поддержкой API, включая Brave, Exa,
Firecrawl, Gemini, Grok, Kimi, MiniMax, Parallel, Perplexity и Tavily,
независимо от того, выбран ли поставщик явно через tools.web.search.provider
или выбран автообнаружением. В режиме автообнаружения OpenClaw разрешает только
ключ выбранного поставщика — невыбранные SecretRef остаются неактивными, поэтому
можно держать настроенными несколько поставщиков без затрат на разрешение тех,
которые вы не используете.Конфигурация
plugins.entries.<plugin>.config.webSearch.*. Gemini также может
повторно использовать models.providers.google.apiKey и
models.providers.google.baseUrl как fallback с более низким приоритетом после
своей выделенной конфигурации веб-поиска и GEMINI_API_KEY. См. примеры на
страницах поставщиков.
Grok также может повторно использовать auth profile xAI OAuth из openclaw models auth login --provider xai --method oauth; конфигурация API-ключа остается fallback.
tools.web.search.provider проверяется по id поставщиков веб-поиска,
объявленным в манифестах встроенных и установленных plugin. Опечатка вроде
"brvae" приводит к ошибке валидации конфигурации вместо тихого fallback к
автообнаружению. Если у настроенного поставщика есть только устаревшее
свидетельство plugin, например оставшийся блок plugins.entries.<plugin> после
удаления стороннего plugin, OpenClaw сохраняет устойчивость запуска и сообщает
предупреждение, чтобы вы могли переустановить plugin или выполнить
openclaw doctor --fix для очистки устаревшей конфигурации.
Выбор fallback-поставщика web_fetch выполняется отдельно:
- выберите его с помощью
tools.web.fetch.provider - или опустите это поле и позвольте OpenClaw автообнаружить первого готового поставщика web-fetch по настроенным учетным данным
- несандбоксированный
web_fetchможет использовать установленные поставщики plugin, которые объявляютcontracts.webFetchProviders; сандбоксированные fetch разрешают встроенных поставщиков и проверенные установки официальных plugin, но исключают сторонние внешние plugin - официальный plugin Firecrawl предоставляет fallback web-fetch, настроенный в
plugins.entries.firecrawl.config.webFetch.*
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.*. Он использует
тот же auth profile xAI, что и chat, или учетные данные XAI_API_KEY / plugin
web-search, используемые веб-поиском Grok.
Устаревшая конфигурация tools.web.x_search.* автоматически мигрируется командой
openclaw doctor --fix.
Когда вы выбираете Grok во время openclaw onboard или openclaw configure --section web,
OpenClaw также может предложить необязательную настройку x_search с теми же
учетными данными. Это отдельный последующий шаг внутри пути Grok, а не отдельный
вариант поставщика веб-поиска верхнего уровня. Если вы выберете другого
поставщика, OpenClaw не покажет prompt x_search.
Хранение API-ключей
- Config file
- Environment variable
Выполните
openclaw configure --section web или задайте ключ напрямую:Параметры инструмента
| Параметр | Описание |
|---|---|
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 | Массив allowlist/denylist доменов (только Perplexity) |
max_tokens | Общий бюджет содержимого, по умолчанию 25000 (только Perplexity) |
max_tokens_per_page | Лимит токенов на страницу, по умолчанию 2048 (только Perplexity) |
x_search
x_search запрашивает посты X (ранее Twitter) с помощью xAI и возвращает
AI-синтезированные ответы с citations. Он принимает запросы на естественном
языке и необязательные структурированные фильтры. OpenClaw включает встроенный
инструмент xAI x_search только для запроса, который обслуживает этот вызов
инструмента.
xAI документирует
x_search как поддерживающий поиск по ключевым словам,
семантический поиск, поиск пользователей и получение thread. Для статистики
engagement по отдельному посту, такой как reposts, replies, bookmarks или
views, предпочитайте целевой lookup точного URL поста или status ID. Широкие
поиски по ключевым словам могут найти нужный пост, но вернуть менее полные
metadata по посту. Хороший шаблон: сначала найти пост, затем выполнить второй
запрос x_search, сфокусированный на этом точном посте.Конфигурация x_search
x_search отправляет POST в <baseUrl>/responses, когда задан
plugins.entries.xai.config.xSearch.baseUrl. Если это поле опущено, он
переходит к plugins.entries.xai.config.webSearch.baseUrl, затем к устаревшему
tools.web.search.grok.baseUrl и, наконец, к публичному endpoint xAI.
Параметры x_search
| Параметр | Описание |
|---|---|
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 анализировать видео, прикрепленные к найденным публикациям |
Пример x_search
Примеры
Профили инструментов
Если вы используете профили инструментов или списки разрешений, добавьтеweb_search, x_search или group:web:
Связанные материалы
- Получение веб-страниц — получить URL и извлечь читаемое содержимое
- Веб-браузер — полноценная автоматизация браузера для сайтов с активным использованием JS
- Поиск Grok — Grok как поставщик
web_search - Веб-поиск Ollama — веб-поиск без ключей через ваш хост Ollama