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 налаштовано, повторює спробу через Firecrawl API в режимі обходу бот-захисту.
Cache
Результати кешуються на 15 хвилин (налаштовується), щоб зменшити повторні отримання того самого URL.
Конфігурація
{ 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 if FIRECRAWL_API_KEY is set 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без sandbox може використовувати встановлені plugins, які оголошуютьcontracts.webFetchProvidersі реєструють відповідного провайдера під час виконання. Наразі вбудований провайдер -- Firecrawl. - Виклики
web_fetchу sandbox лишаються обмеженими вбудованими провайдерами. - Якщо Readability вимкнено,
web_fetchодразу переходить до вибраного резервного провайдера. Якщо жоден провайдер недоступний, він завершується закритою відмовою.
Довірений env-проксі
Якщо ваше розгортання вимагає, щоб web_fetch проходив через довірений вихідний
HTTP(S)-проксі, задайте tools.web.fetch.useTrustedEnvProxy: true.
У цьому режимі OpenClaw все одно застосовує перевірки SSRF на основі імені хоста перед надсиланням запиту, але дозволяє проксі розв’язувати DNS замість локального DNS-пінінгу. Вмикайте це лише тоді, коли проксі контролюється оператором і застосовує вихідну політику після розв’язання DNS.
Обмеження та безпека
maxCharsобмежується доtools.web.fetch.maxCharsCap- Тіло відповіді обмежується
maxResponseBytesперед розбором; завеликі відповіді обрізаються з попередженням - Приватні/внутрішні імена хостів блокуються
tools.web.fetch.ssrfPolicy.allowRfc2544BenchmarkRangeіtools.web.fetch.ssrfPolicy.allowIpv6UniqueLocalRange-- це вузькі opt-in для довірених стеків проксі з підробленими IP; не встановлюйте їх, якщо ваш проксі не володіє цими синтетичними діапазонами й не застосовує власну політику призначення- Перенаправлення перевіряються й обмежуються
maxRedirects useTrustedEnvProxyє явним opt-in і має вмикатися лише для контрольованих оператором проксі, які все ще застосовують вихідну політику після розв’язання DNSweb_fetchпрацює за принципом найкращої спроби -- для деяких сайтів потрібен веббраузер
Профілі інструментів
Якщо ви використовуєте профілі інструментів або allowlist-и, додайте web_fetch або group:web:
{ tools: { allow: ["web_fetch"], // or: allow: ["group:web"] (includes web_fetch, web_search, and x_search) },}Пов’язане
- Вебпошук -- пошук в інтернеті через кількох провайдерів
- Веббраузер -- повна автоматизація браузера для сайтів із великою кількістю JS
- Firecrawl -- інструменти пошуку та scraping Firecrawl