Веб-инструменты
OpenClaw поставляется с двумя легковесными веб-инструментами:
- web_search — Поиск в интернете через Brave Search API (по умолчанию) или Perplexity Sonar (напрямую или через OpenRouter).
- web_fetch — HTTP получение + извлечение читаемого контента (HTML → markdown/text).
Это не автоматизация браузера. Для сайтов с большим количеством JS или входов используйте Инструмент браузера.
Как это работает
- web_search вызывает вашего настроенного провайдера и возвращает результаты.
- Brave (по умолчанию): возвращает структурированные результаты (заголовок, URL, сниппет).
- Perplexity: возвращает 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 и Perplexity Sonar для деталей, специфичных для провайдера.
Установите провайдера в конфигурации:
\{
tools: \{
web: \{
search: \{
provider: "brave" // или "perplexity"
\}
\}
\}
\}
Пример: переключение на Perplexity Sonar (прямой API):
\{
tools: \{
web: \{
search: \{
provider: "perplexity",
perplexity: \{
apiKey: "pplx-...",
baseUrl: "https://api.perplexity.ai",
model: "perplexity/sonar-pro"
\}
\}
\}
\}
\}
Получение API-ключа Brave
- Создайте учётную запись Brave Search API на https://brave.com/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.
Альтернатива через окружение: установите BRAVE_API_KEY в окружении процесса Gateway. Для установки шлюза поместите его в ~/.openclaw/.env (или окружение вашего сервиса). См. Переменные окружения.
Использование Perplexity (напрямую или через OpenRouter)
Модели Perplexity Sonar имеют встроенные возможности веб-поиска и возвращают AI-синтезированные ответы с цитатами. Вы можете использовать их через OpenRouter (кредитная карта не требуется - поддерживает криптовалюту/предоплату).
Получение API-ключа OpenRouter
- Создайте учётную запись на https://openrouter.ai/
- Добавьте кредиты (поддерживает криптовалюту, предоплату или кредитную карту)
- Создайте API-ключ в настройках вашей учётной записи
Настройка поиска Perplexity
\{
tools: \{
web: \{
search: \{
enabled: true,
provider: "perplexity",
perplexity: \{
// API-ключ (опционально, если установлен OPENROUTER_API_KEY или PERPLEXITY_API_KEY)
apiKey: "sk-or-v1-...",
// Base URL (по умолчанию с учётом ключа, если опущен)
baseUrl: "https://openrouter.ai/api/v1",
// Модель (по умолчанию perplexity/sonar-pro)
model: "perplexity/sonar-pro"
\}
\}
\}
\}
\}
Альтернатива через окружение: установите OPENROUTER_API_KEY или PERPLEXITY_API_KEY в окружении Gateway. Для установки шлюза поместите его в ~/.openclaw/.env.
Если base 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 | Быстрые Q&A с веб-поиском | Быстрые запросы |
| perplexity/sonar-pro (по умолчанию) | Многошаговое рассуждение с веб-поиском | Сложные вопросы |
| perplexity/sonar-reasoning-pro | Анализ цепочки мыслей | Глубокое исследование |
web_search
Поиск в интернете с использованием вашего настроенного провайдера.
Требования
- 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 (опционально): код языка ISO для элементов UI
- 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"
});
// Недавние результаты (прошлая неделя)
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, // мс (1 день)
timeoutSeconds: 60
\}
\}
\}
\}
\}
Параметры инструмента
- url (обязательно, только http/https)
- extractMode (markdown | text)
- maxChars (обрезать длинные страницы)
Примечания:
- web_fetch использует Readability (извлечение основного контента) сначала, затем Firecrawl (если настроено). Если оба не работают, инструмент возвращает ошибку.
- Запросы Firecrawl используют режим обхода ботов и кэшируют результаты по умолчанию.
- web_fetch отправляет User-Agent похожий на Chrome и Accept-Language по умолчанию; переопределите userAgent при необходимости.
- web_fetch блокирует приватные/внутренние имена хостов и повторно проверяет перенаправления (ограничьте с помощью maxRedirects).
- web_fetch — это извлечение лучших усилий; некоторым сайтам понадобится инструмент браузера.
- См. Firecrawl для настройки ключа и деталей сервиса.
- Ответы кэшируются (по умолчанию 15 минут) для уменьшения повторных получений.
- Если вы используете профили инструментов/белые списки, добавьте web_search/web_fetch или group:web.
- Если ключ Brave отсутствует, web_search возвращает короткую подсказку настройки со ссылкой на документацию.