Tools
Obtención web
La herramienta web_fetch realiza un HTTP GET simple y extrae contenido legible
(HTML a markdown o texto). No ejecuta JavaScript.
Para sitios con mucho JS o páginas protegidas por inicio de sesión, usa el Navegador web en su lugar.
Inicio rápido
web_fetch está habilitada de forma predeterminada -- no requiere configuración. El agente puede
llamarla de inmediato:
await web_fetch({ url: "https://example.com/article" });Parámetros de la herramienta
urlstringrequiredURL que se obtendrá. Solo http(s).
extractMode'markdown' | 'text'default: markdownFormato de salida después de la extracción del contenido principal.
maxCharsnumberTrunca la salida a esta cantidad de caracteres.
Cómo funciona
Fetch
Envía un HTTP GET con un User-Agent similar a Chrome y el encabezado
Accept-Language. Bloquea nombres de host privados/internos y vuelve a comprobar las redirecciones.
Extract
Ejecuta Readability (extracción del contenido principal) en la respuesta HTML.
Fallback (optional)
Si Readability falla y Firecrawl está seleccionado, reintenta mediante la API de Firecrawl con modo de elusión de bots.
Cache
Los resultados se almacenan en caché durante 15 minutos (configurable) para reducir obtenciones repetidas de la misma URL.
Actualizaciones de progreso
web_fetch emite una línea de progreso pública solo cuando la obtención sigue pendiente
después de cinco segundos:
Fetching page content...Los aciertos rápidos de caché y las respuestas de red rápidas terminan antes de que se active el temporizador, por lo que no muestran una línea de progreso. Si la llamada se cancela, el temporizador se borra. Cuando la obtención finalmente se completa, el agente recibe el resultado normal de la herramienta; la línea de progreso es solo estado de la interfaz del canal y nunca contiene el contenido de la página obtenida.
Configuración
{ 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 }, }, }, },}Respaldo de Firecrawl
Si la extracción de Readability falla, web_fetch puede recurrir a
Firecrawl para eludir bots y mejorar la extracción:
{ tools: { web: { fetch: { provider: "firecrawl", // optional; omit for auto-detect from available credentials }, }, }, plugins: { entries: { firecrawl: { enabled: true, config: { webFetch: { // apiKey: "fc-...", // optional; omit for keyless starter access baseUrl: "https://api.firecrawl.dev", onlyMainContent: true, maxAgeMs: 86400000, // cache duration (1 day) timeoutSeconds: 60, }, }, }, }, },}plugins.entries.firecrawl.config.webFetch.apiKey es opcional y admite objetos SecretRef.
La configuración heredada tools.web.fetch.firecrawl.* se migra automáticamente mediante openclaw doctor --fix.
Comportamiento actual en tiempo de ejecución:
tools.web.fetch.providerselecciona explícitamente el proveedor de respaldo de obtención.- Si se omite
provider, OpenClaw detecta automáticamente el primer proveedor de web-fetch listo a partir de las credenciales configuradas.web_fetchsin sandbox puede usar plugins instalados que declarancontracts.webFetchProvidersy registran un proveedor coincidente en tiempo de ejecución. El Plugin oficial de Firecrawl proporciona este respaldo. - Las llamadas a
web_fetchen sandbox permiten proveedores integrados más proveedores instalados cuyo origen oficial en npm o ClawHub esté verificado. Hoy eso permite el Plugin oficial de Firecrawl; los plugins externos de obtención de terceros quedan excluidos. - Si Readability está deshabilitado,
web_fetchpasa directamente al respaldo del proveedor seleccionado. Si no hay ningún proveedor disponible, falla de forma cerrada.
Proxy de entorno confiable
Si tu despliegue requiere que web_fetch pase por un proxy saliente
HTTP(S) confiable, define tools.web.fetch.useTrustedEnvProxy: true.
En este modo, OpenClaw sigue aplicando comprobaciones SSRF basadas en nombres de host antes de enviar la solicitud, pero permite que el proxy resuelva DNS en lugar de hacer fijación de DNS local. Habilítalo solo cuando el proxy esté controlado por el operador y aplique políticas salientes después de la resolución DNS.
Límites y seguridad
maxCharsse limita atools.web.fetch.maxCharsCap- El cuerpo de la respuesta se limita a
maxResponseBytesantes del análisis; las respuestas demasiado grandes se truncan con una advertencia - Los nombres de host privados/internos están bloqueados
tools.web.fetch.ssrfPolicy.allowRfc2544BenchmarkRangeytools.web.fetch.ssrfPolicy.allowIpv6UniqueLocalRangeson opciones de activación restringidas para pilas de proxy de IP falsa confiables; déjalas sin definir a menos que tu proxy controle esos rangos sintéticos y aplique su propia política de destino- Las redirecciones se comprueban y se limitan mediante
maxRedirects useTrustedEnvProxyes una activación explícita y solo debe habilitarse para proxies controlados por el operador que sigan aplicando políticas salientes después de la resolución DNSweb_fetches de mejor esfuerzo -- algunos sitios necesitan el Navegador web
Perfiles de herramientas
Si usas perfiles de herramientas o listas de permitidos, agrega web_fetch o group:web:
{ tools: { allow: ["web_fetch"], // or: allow: ["group:web"] (includes web_fetch, web_search, and x_search) },}Relacionado
- Búsqueda web -- busca en la web con varios proveedores
- Navegador web -- automatización completa del navegador para sitios con mucho JS
- Firecrawl -- herramientas de búsqueda y scraping de Firecrawl