Tools
Отримання з вебу
Інструмент web_fetch виконує звичайний HTTP GET і витягує читабельний вміст
(HTML у markdown або текст). Він не виконує JavaScript.
Для сайтів, що активно використовують JS, або сторінок, захищених входом, натомість використовуйте веббраузер.
Швидкий старт
web_fetch увімкнено за замовчуванням -- налаштування не потрібне. Агент може
викликати його відразу:
await web_fetch({ url: "https://example.com/article" });Параметри інструмента
urlstringrequiredURL для отримання. Лише http(s).
extractMode'markdown' | 'text'default: markdownФормат виводу після витягнення основного вмісту.
maxCharsnumberОбрізати вивід до цієї кількості символів.
Як це працює
Fetch
Надсилає HTTP GET із подібним до Chrome User-Agent і заголовком
Accept-Language. Блокує приватні/внутрішні імена хостів і повторно перевіряє перенаправлення.
Extract
Запускає Readability (витягнення основного вмісту) для HTML-відповіді.
Fallback (optional)
Якщо Readability завершується невдало й вибрано Firecrawl, повторює спробу через API Firecrawl у режимі обходу бот-захисту.
Cache
Результати кешуються на 15 хвилин (налаштовується), щоб зменшити кількість повторних отримань того самого URL.
Оновлення перебігу
web_fetch виводить публічний рядок перебігу лише тоді, коли отримання все ще очікує
після п'яти секунд:
Fetching page content...Швидкі влучання в кеш і швидкі мережеві відповіді завершуються до спрацювання таймера, тому вони не показують рядок перебігу. Якщо виклик скасовано, таймер очищається. Коли отримання зрештою завершується, агент отримує звичайний результат інструмента; рядок перебігу є лише станом UI каналу й ніколи не містить отриманого вмісту сторінки.
Конфігурація
{ tools: { web: { fetch: { enabled: true, // default: true provider: "firecrawl", // optional; omit for auto-detect maxChars: 50000, // max output chars maxCharsCap: 50000, // hard cap for maxChars param maxResponseBytes: 2000000, // max download size before truncation timeoutSeconds: 30, cacheTtlMinutes: 15, maxRedirects: 3, useTrustedEnvProxy: false, // let a trusted HTTP(S) env proxy resolve DNS readability: true, // use Readability extraction userAgent: "Mozilla/5.0 ...", // override User-Agent ssrfPolicy: { allowRfc2544BenchmarkRange: true, // opt-in for trusted fake-IP proxies using 198.18.0.0/15 allowIpv6UniqueLocalRange: true, // opt-in for trusted fake-IP proxies using fc00::/7 }, }, }, },}Резервний варіант Firecrawl
Якщо видобування Readability завершується невдало, web_fetch може відкотитися до
Firecrawl для обходу бот-захисту та кращого видобування:
{ tools: { web: { fetch: { provider: "firecrawl", // optional; omit for auto-detect from available credentials }, }, }, plugins: { entries: { firecrawl: { enabled: true, config: { webFetch: { // apiKey: "fc-...", // optional; omit for keyless starter access baseUrl: "https://api.firecrawl.dev", onlyMainContent: true, maxAgeMs: 86400000, // cache duration (1 day) timeoutSeconds: 60, }, }, }, }, },}plugins.entries.firecrawl.config.webFetch.apiKey є необов’язковим і підтримує об’єкти SecretRef.
Застаріла конфігурація tools.web.fetch.firecrawl.* автоматично мігрується командою openclaw doctor --fix.
Поточна поведінка середовища виконання:
tools.web.fetch.providerявно вибирає резервного провайдера отримання.- Якщо
providerопущено, OpenClaw автоматично визначає першого готового провайдера web-fetch з налаштованих облікових даних.web_fetchбез пісочниці може використовувати встановлені plugins, які оголошуютьcontracts.webFetchProvidersі реєструють відповідного провайдера під час виконання. Офіційний Firecrawl plugin надає цей резервний варіант. - Виклики
web_fetchу пісочниці дозволяють вбудованих провайдерів, а також встановлених провайдерів, чию офіційну npm- або ClawHub-походження перевірено. Наразі це дозволяє офіційний Firecrawl plugin; сторонні зовнішні plugins отримання залишаються виключеними. - Якщо Readability вимкнено,
web_fetchодразу переходить до вибраного резервного провайдера. Якщо жоден провайдер недоступний, він завершується відмовою.
Довірений проксі середовища
Якщо ваше розгортання вимагає, щоб web_fetch проходив через довірений вихідний
HTTP(S)-проксі, установіть tools.web.fetch.useTrustedEnvProxy: true.
У цьому режимі OpenClaw все одно застосовує перевірки SSRF на основі імен хостів перед надсиланням запиту, але дозволяє проксі розв’язувати DNS замість локального DNS pinning. Увімкніть це лише тоді, коли проксі контролюється оператором і застосовує вихідну політику після розв’язання DNS.
Обмеження та безпека
maxCharsобмежується значеннямtools.web.fetch.maxCharsCap- Тіло відповіді обмежується
maxResponseBytesперед розбором; завеликі відповіді обрізаються з попередженням - Приватні/внутрішні імена хостів блокуються
tools.web.fetch.ssrfPolicy.allowRfc2544BenchmarkRangeіtools.web.fetch.ssrfPolicy.allowIpv6UniqueLocalRangeє вузькими явними дозволами для довірених проксі-стеків із фальшивими IP; залишайте їх невстановленими, якщо ваш проксі не володіє цими синтетичними діапазонами та не застосовує власну політику призначення- Перенаправлення перевіряються та обмежуються
maxRedirects useTrustedEnvProxyє явним дозволом і має вмикатися лише для проксі, контрольованих оператором, які все одно застосовують вихідну політику після розв’язання DNSweb_fetchпрацює за принципом найкращого зусилля -- деяким сайтам потрібен Веббраузер
Профілі інструментів
Якщо ви використовуєте профілі інструментів або списки дозволів, додайте web_fetch або group:web:
{ tools: { allow: ["web_fetch"], // or: allow: ["group:web"] (includes web_fetch, web_search, and x_search) },}Пов’язане
- Вебпошук -- пошук в інтернеті з кількома провайдерами
- Веббраузер -- повна автоматизація браузера для сайтів із великим обсягом JS
- Firecrawl -- інструменти пошуку та скрейпінгу Firecrawl