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'Формат виводу після витягування основного вмісту.
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