Aller au contenu

Récupération Web

L’outil web_fetch effectue une requête HTTP GET simple et extrait le contenu lisible (HTML en markdown ou texte). Il n’exécute pas JavaScript.

Pour les sites utilisant beaucoup de JS ou les pages protégées par connexion, utilisez Web Browser à la place.

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ètreTypeDescription
urlstringURL à récupérer (requis, http/https uniquement)
extractModestring"markdown" (par défaut) ou "text"
maxCharsnumberTronquer la sortie à ce nombre de caractères
  1. Récupération

    Envoie un HTTP GET avec un User-Agent semblable à Chrome et l’en-tête Accept-Language. Bloque les noms d’hôte privés/internes et vérifie les redirections.

  2. Extraction

    Exécute Readability (extraction du contenu principal) sur la réponse HTML.

  3. Fallback (optional)

    Si Readability échoue et que Firecrawl est configuré, de nouvelles tentatives sont effectuées via l’Firecrawl API en mode de contournement des bots.

  4. 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.

{
tools: {
web: {
fetch: {
enabled: true, // default: true
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,
readability: true, // use Readability extraction
userAgent: "Mozilla/5.0 ...", // override User-Agent
},
},
},
}

Si l’extraction par Readabilité échoue, web_fetch peut revenir à Firecrawl pour le contournement de bot et une meilleure extraction :

{
tools: {
web: {
fetch: {
firecrawl: {
enabled: true,
apiKey: "fc-...", // optional if FIRECRAWL_API_KEY is set
baseUrl: "https://api.firecrawl.dev",
onlyMainContent: true,
maxAgeMs: 86400000, // cache duration (1 day)
timeoutSeconds: 60,
},
},
},
},
}

tools.web.fetch.firecrawl.apiKey prend en charge les objets SecretRef.

  • maxChars est limité à tools.web.fetch.maxCharsCap
  • Le corps de la réponse est plafonné à maxResponseBytes avant l’analyse ; les réponses trop volumineuses sont tronquées avec un avertissement
  • Les noms d’hôte privés/internes sont bloqués
  • Les redirections sont vérifiées et limitées par maxRedirects
  • web_fetch est au mieux — certains sites ont besoin du Web Browser

Si vous utilisez des profils d’outil ou des listes autorisées (allowlists), ajoutez web_fetch ou group:web :

{
tools: {
allow: ["web_fetch"],
// or: allow: ["group:web"] (includes both web_fetch and web_search)
},
}
  • Web Search — rechercher sur le web avec plusieurs fournisseurs
  • Web Browser — automatisation complète du navigateur pour les sites utilisant beaucoup de JS
  • Firecrawl — outils de recherche et de scraping Firecrawl