Récupération Web
L’outil web_fetch effectue une requête HTTP GET simple et extrait le contenu lisible
(HTML vers markdown ou texte). Il n’exécute pas JavaScript.
Pour les sites fortement utilisant JS ou les pages protégées par une connexion, utilisez le Navigateur Web à la place.
Quick start
Section intitulée « Quick start »web_fetch est activé par défaut — aucune configuration requise. L’agent peut
l’appeler immédiatement :
await web_fetch({ url: "https://example.com/article" });Paramètres de l’outil
Section intitulée « Paramètres de l’outil »Fonctionnement
Section intitulée « Fonctionnement »Récupérer
Envoie un HTTP GET avec un User-Agent semblable à Chrome et un en-tête
Accept-Language. Bloque les noms d’hôte privés/internes et vérifie les redirections.Extraire
Exécute Readability (extraction du contenu principal) sur la réponse HTML.
Secours (optionnel)
Si Readability échoue et que Firecrawl est configuré, nouvelle tentative via l’Firecrawl API en mode de contournement de bot.
Cache
Les résultats sont mis en cache pendant 15 minutes (configurable) pour réduire les récupérations répétées de la même URL.
Mises à jour de la progression
Section intitulée « Mises à jour de la progression »web_fetch émet une ligne de progression publique uniquement lorsque la récupération est toujours en attente
après cinq secondes :
Fetching page content...Les accès rapides au cache et les réponses réseau rapides se terminent avant le déclenchement de la minuterie, ils n’affichent donc pas de ligne de progression. Si l’appel est annulé, la minuterie est effacée. Lorsque la récupération finit par se terminer, l’agent reçoit le résultat normal de l’outil ; la ligne de progression n’est qu’un état de l’interface utilisateur du channel et ne contient jamais le contenu de la page récupérée.
{ 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 fallback
Section intitulée « Firecrawl fallback »Si l’extraction Readability échoue, web_fetch peut revenir à Firecrawl pour contourner les bots et améliorer l’extraction :
{ 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 prend en charge les objets SecretRef.
La configuration tools.web.fetch.firecrawl.* héritée est automatiquement migrée par openclaw doctor --fix.
Comportement d’exécution actuel :
tools.web.fetch.providersélectionne explicitement le provider de secours de récupération.- Si
providerest omis, OpenClaw détecte automatiquement le premier provider web-fetch prêt parmi les informations d’identification disponibles. Lesweb_fetchnon sandboxed peuvent utiliser des plugins installés qui déclarentcontracts.webFetchProviderset enregistrent un provider correspondant au moment de l’exécution. Aujourd’hui, le provider groupé est Firecrawl. - Les appels
web_fetchsandboxed restent limités aux providers groupés. - Si Readability est désactivé,
web_fetchpasse directement au provider de secours sélectionné. Si aucun provider n’est disponible, il échoue en mode fermé.
Proxy env de confiance
Section intitulée « Proxy env de confiance »Si votre déploiement nécessite que web_fetch passe par un proxy
HTTP(S) sortant de confiance, définissez tools.web.fetch.useTrustedEnvProxy: true.
Dans ce mode, OpenClaw applique toujours les vérifications SSRF basées sur le nom d’hôte avant d’envoyer la requête, mais il laisse le proxy résoudre le DNS au lieu d’effectuer un épinglage DNS local. N’activez cette option que lorsque le proxy est contrôlé par l’opérateur et applique une stratégie sortante après la résolution DNS.
Limites et sécurité
Section intitulée « Limites et sécurité »maxCharsest limité àtools.web.fetch.maxCharsCap- Le corps de la réponse est plafonné à
maxResponseBytesavant l’analyse ; les réponses trop volumineuses sont tronquées avec un avertissement - Les noms d’hôte privés/internes sont bloqués
tools.web.fetch.ssrfPolicy.allowRfc2544BenchmarkRangeettools.web.fetch.ssrfPolicy.allowIpv6UniqueLocalRangesont des options d’adhésion étroites pour les piles de proxy à fausse IP de confiance ; laissez-les non définies, sauf si votre proxy possède ces plages synthétiques et applique sa propre stratégie de destination- Les redirections sont vérifiées et limitées par
maxRedirects useTrustedEnvProxyest une option d’adhésion explicite et ne doit être activée que pour les proxies contrôlés par l’opérateur qui appliquent toujours une stratégie sortante après la résolution DNSweb_fetchest un effort de meilleure volonté — certains sites ont besoin du Web Browser
Profils d’outil
Section intitulée « Profils d’outil »Si vous utilisez des profils d’outil ou des listes d’autorisation, ajoutez web_fetch ou group:web :
{ tools: { allow: ["web_fetch"], // or: allow: ["group:web"] (includes web_fetch, web_search, and x_search) },}Connexes
Section intitulée « Connexes »- Web Search — rechercher sur le Web avec plusieurs fournisseurs
- Web Browser — automatisation complète du navigateur pour les sites riches en JS
- Firecrawl — outils de recherche et de scraping Firecrawl