Ir al contenido

Obtención web

La herramienta web_fetch realiza un HTTP GET simple y extrae contenido legible (de HTML a markdown o texto). No ejecuta JavaScript.

Para sitios con mucho JS o páginas protegidas por inicio de sesión, utilice Navegador web en su lugar.

web_fetch está habilitado de forma predeterminada; no se requiere configuración. El agente puede invocarlo inmediatamente:

await web_fetch({ url: "https://example.com/article" });
ParámetroTipoDescripción
urlstringURL para obtener (requerido, solo http/https)
extractModestring"markdown" (predeterminado) o "text"
maxCharsnumberTruncar la salida a esta cantidad de caracteres
  1. Fetch

    Envía un HTTP GET con un User-Agent similar al de Chrome y la cabecera Accept-Language. Bloquea nombres de host privados/internos y vuelve a verificar los redireccionamientos.

  2. Extract

    Ejecuta Readability (extracción de contenido principal) en la respuesta HTML.

  3. Fallback (optional)

    Si Readability falla y Firecrawl está configurado, se reintenta a través de la API de Firecrawl con el modo de evasión de bots.

  4. Cache

    Los resultados se almacenan en caché durante 15 minutos (configurable) para reducir las búsquedas repetidas de la misma 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 la extracción con Readability falla, web_fetch puede usar como alternativa Firecrawl para evasión de bots y una mejor extracción:

{
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 admite objetos SecretRef.

  • maxChars está limitado a tools.web.fetch.maxCharsCap
  • El cuerpo de la respuesta está limitado a maxResponseBytes antes del análisis; las respuestas excesivamente grandes se truncan con una advertencia
  • Los nombres de host privados/internos están bloqueados
  • Las redirecciones se verifican y limitan mediante maxRedirects
  • web_fetch es de mejor esfuerzo posible; algunos sitios necesitan el Web Browser

Si utiliza perfiles de herramientas o listas de permitidos, agregue web_fetch o group:web:

{
tools: {
allow: ["web_fetch"],
// or: allow: ["group:web"] (includes both web_fetch and web_search)
},
}
  • Web Search — busca en la web con múltiples proveedores
  • Web Browser — automatización completa del navegador para sitios con mucho JS
  • Firecrawl — herramientas de búsqueda y extracción de Firecrawl