web_fetch выполняет обычный HTTP GET-запрос и извлекает читаемое содержимое (преобразует HTML в
Markdown или текст). Он не выполняет JavaScript. Для сайтов, активно использующих JS, или
страниц, защищённых входом в систему, используйте вместо этого веб-браузер.
Быстрый старт
Включено по умолчанию, настройка не требуется:Параметры инструмента
string
обязательно
URL для получения. Только
http(s).'markdown' | 'text'
по умолчанию:"markdown"
Формат вывода после извлечения основного содержимого.
number
Обрезать вывод до указанного количества символов. Ограничивается значением
tools.web.fetch.maxCharsCap.Принцип работы
1
Получение
Отправляет HTTP GET-запрос с похожим на Chrome User-Agent и заголовком
Accept-Language.
Блокирует частные и внутренние имена хостов и повторно проверяет перенаправления.2
Извлечение
Запускает Readability (извлечение основного содержимого) для HTML-ответа.
3
Резервный вариант (необязательно)
Если Readability завершается с ошибкой и доступен провайдер получения данных, повторяет попытку через
этого провайдера (например, в режиме обхода защиты от ботов Firecrawl).
4
Кэширование
Результаты кэшируются на 15 минут (значение настраивается), чтобы сократить количество повторных
запросов к одному URL.
Обновления хода выполнения
web_fetch выводит общедоступную строку состояния, только если получение данных всё ещё не завершено
через пять секунд:
Конфигурация
Резервный вариант с Firecrawl
Если извлечение с помощью Readability завершается с ошибкой,web_fetch может использовать
Firecrawl как резервный вариант для обхода защиты от ботов и более качественного извлечения:
plugins.entries.firecrawl.config.webFetch.apiKey является необязательным и поддерживает объекты SecretRef.
Устаревшая конфигурация tools.web.fetch.firecrawl.* автоматически переносится в
plugins.entries.firecrawl.config.webFetch с помощью openclaw doctor --fix.
Если настроить SecretRef для API-ключа Firecrawl, но ссылка не разрешается и отсутствует
резервная переменная окружения
FIRECRAWL_API_KEY, запуск Gateway немедленно завершится с ошибкой.Переопределения Firecrawl
baseUrl строго ограничены: размещённый трафик использует
https://api.firecrawl.dev; переопределения для самостоятельно размещённых экземпляров должны указывать на частные или
внутренние конечные точки, а http:// принимается только для таких частных целей.tools.web.fetch.providerявно выбирает резервного провайдера получения данных.- Если
providerне указан, OpenClaw автоматически определяет первого готового провайдера получения веб-данных по настроенным учётным данным. Вызовыweb_fetchвне песочницы могут использовать установленные плагины, которые объявляютcontracts.webFetchProvidersи регистрируют соответствующего провайдера во время выполнения. Официальный плагин Firecrawl в настоящее время предоставляет этот резервный вариант. - Вызовы
web_fetchв песочнице разрешают встроенных провайдеров, а также установленных провайдеров, официальное происхождение которых из npm или ClawHub подтверждено. В настоящее время это разрешает официальный плагин Firecrawl; сторонние внешние плагины получения данных по-прежнему исключены. - Если Readability отключён,
web_fetchсразу переходит к выбранному резервному провайдеру. Если провайдер недоступен, вызов завершается с ошибкой без небезопасного обходного пути.
Доверенный прокси из переменных окружения
Если в вашей среде развёртывания требуется направлятьweb_fetch через доверенный исходящий
HTTP(S)-прокси, задайте tools.web.fetch.useTrustedEnvProxy: true.
В этом режиме OpenClaw по-прежнему применяет проверки имён хостов для защиты от SSRF перед отправкой
запроса, но позволяет прокси разрешать DNS вместо локальной фиксации
DNS. Включайте этот режим, только если прокси контролируется оператором и применяет
политику исходящих подключений после разрешения DNS.
Если переменная окружения HTTP(S)-прокси не настроена или целевой хост исключён
параметром
NO_PROXY, web_fetch возвращается к обычному строгому режиму с локальной
фиксацией DNS.Ограничения и безопасность
maxCharsограничивается значениемtools.web.fetch.maxCharsCap(по умолчанию20000)- Тело ответа перед разбором ограничивается значением
maxResponseBytes(по умолчанию750000, диапазон 32000-10000000); слишком большие ответы обрезаются с предупреждением - Частные и внутренние имена хостов блокируются
tools.web.fetch.ssrfPolicy.allowRfc2544BenchmarkRangeиtools.web.fetch.ssrfPolicy.allowIpv6UniqueLocalRange— это узкие явные разрешения для доверенных прокси-стеков с фиктивными IP-адресами; не задавайте их, если ваш прокси не управляет этими синтетическими диапазонами и не применяет собственную политику назначения- Перенаправления проверяются и ограничиваются параметром
maxRedirects(по умолчанию3) useTrustedEnvProxyтребует явного включения и должен использоваться только для контролируемых оператором прокси, которые продолжают применять политику исходящих подключений после разрешения DNSweb_fetchработает по принципу максимальных усилий — некоторым сайтам требуется веб-браузер
Профили инструментов
Если вы используете профили инструментов или списки разрешений, добавьтеweb_fetch или group:web:
Связанные материалы
- Веб-поиск — поиск в интернете с помощью нескольких провайдеров
- Веб-браузер — полноценная автоматизация браузера для сайтов, активно использующих JS
- Firecrawl — инструменты Firecrawl для поиска и извлечения данных со страниц