Tools
Recupero dal web
Lo strumento web_fetch esegue un semplice HTTP GET ed estrae contenuto leggibile
(da HTML a markdown o testo). Non esegue JavaScript.
Per siti con uso intensivo di JS o pagine protette da login, usa invece il Web Browser.
Avvio rapido
web_fetch è abilitato per impostazione predefinita: non serve alcuna configurazione. L'agente può
chiamarlo subito:
await web_fetch({ url: "https://example.com/article" });
Parametri dello strumento
urlstringrequiredURL da recuperare. Solo http(s).
extractMode'markdown' | 'text'Formato di output dopo l'estrazione del contenuto principale.
maxCharsnumberTronca l'output a questo numero di caratteri.
Come funziona
Fetch
Invia un HTTP GET con uno User-Agent simile a Chrome e un'intestazione
Accept-Language. Blocca hostname privati/interni e ricontrolla i reindirizzamenti.
Extract
Esegue Readability (estrazione del contenuto principale) sulla risposta HTML.
Fallback (optional)
Se Readability non riesce e Firecrawl è configurato, riprova tramite l'API Firecrawl con modalità di aggiramento dei bot.
Cache
I risultati vengono memorizzati nella cache per 15 minuti (configurabile) per ridurre i recuperi ripetuti dello stesso URL.
Configurazione
{
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
},
},
},
},
}
Fallback Firecrawl
Se l'estrazione Readability non riesce, web_fetch può passare in fallback a
Firecrawl per l'aggiramento dei bot e una migliore estrazione:
{
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 supporta oggetti SecretRef.
La configurazione legacy tools.web.fetch.firecrawl.* viene migrata automaticamente da openclaw doctor --fix.
Comportamento runtime attuale:
tools.web.fetch.providerseleziona esplicitamente il provider di fallback del recupero.- Se
providerviene omesso, OpenClaw rileva automaticamente il primo provider web-fetch pronto dalle credenziali disponibili.web_fetchnon in sandbox può usare Plugin installati che dichiaranocontracts.webFetchProviderse registrano un provider corrispondente a runtime. Oggi il provider incluso è Firecrawl. - Le chiamate
web_fetchin sandbox restano limitate ai provider inclusi. - Se Readability è disabilitato,
web_fetchpassa direttamente al fallback del provider selezionato. Se non è disponibile alcun provider, fallisce in modo chiuso.
Proxy env attendibile
Se il tuo deployment richiede che web_fetch passi attraverso un proxy outbound
HTTP(S) attendibile, imposta tools.web.fetch.useTrustedEnvProxy: true.
In questa modalità, OpenClaw applica comunque i controlli SSRF basati su hostname prima di inviare la richiesta, ma lascia che sia il proxy a risolvere il DNS invece di effettuare il pinning DNS locale. Abilitalo solo quando il proxy è controllato dall'operatore e applica la policy outbound dopo la risoluzione DNS.
Limiti e sicurezza
maxCharsviene limitato atools.web.fetch.maxCharsCap- Il corpo della risposta è limitato a
maxResponseBytesprima del parsing; le risposte troppo grandi vengono troncate con un avviso - Gli hostname privati/interni vengono bloccati
tools.web.fetch.ssrfPolicy.allowRfc2544BenchmarkRangeetools.web.fetch.ssrfPolicy.allowIpv6UniqueLocalRangesono opt-in limitati per stack di proxy fake-IP attendibili; lasciali non impostati a meno che il tuo proxy possieda quegli intervalli sintetici e applichi la propria policy di destinazione- I reindirizzamenti vengono controllati e limitati da
maxRedirects useTrustedEnvProxyè un opt-in esplicito e deve essere abilitato solo per proxy controllati dall'operatore che applicano comunque la policy outbound dopo la risoluzione DNSweb_fetchè best-effort: alcuni siti richiedono il Web Browser
Profili degli strumenti
Se usi profili degli strumenti o allowlist, aggiungi web_fetch o group:web:
{
tools: {
allow: ["web_fetch"],
// or: allow: ["group:web"] (includes web_fetch, web_search, and x_search)
},
}
Correlati
- Web Search: cerca nel web con più provider
- Web Browser: automazione completa del browser per siti con uso intensivo di JS
- Firecrawl: strumenti di ricerca e scraping Firecrawl