Saltar al contenido principal

Búsqueda web

La herramienta web_search busca en la web usando el proveedor configurado y devuelve resultados. Los resultados se almacenan en caché por consulta durante 15 minutos (configurable). OpenClaw también incluye x_search para publicaciones de X (antes Twitter) y web_fetch para la obtención ligera de URL. En esta fase, web_fetch permanece local, mientras que web_search y x_search pueden usar xAI Responses internamente.
web_search es una herramienta HTTP ligera, no automatización de navegador. Para sitios con mucho JS o inicios de sesión, usa el Navegador web. Para obtener una URL específica, usa Web Fetch.

Inicio rápido

1

Elegir un proveedor

Elige un proveedor y completa cualquier configuración requerida. Algunos proveedores no requieren clave, mientras que otros usan claves de API. Consulta las páginas de proveedores a continuación para obtener detalles.
2

Configurar

openclaw configure --section web
Esto guarda el proveedor y cualquier credencial necesaria. También puedes configurar una variable de entorno (por ejemplo BRAVE_API_KEY) y omitir este paso para proveedores respaldados por API.
3

Usarlo

El agente ahora puede llamar a web_search:
await web_search({ query: "OpenClaw plugin SDK" });
Para publicaciones de X, usa:
await x_search({ query: "dinner recipes" });

Elegir un proveedor

Brave Search

Resultados estructurados con fragmentos. Compatible con el modo llm-context y filtros de país/idioma. Hay un nivel gratuito disponible.

DuckDuckGo

Fallback sin clave. No requiere clave de API. Integración no oficial basada en HTML.

Exa

Búsqueda neuronal + por palabras clave con extracción de contenido (resaltados, texto, resúmenes).

Firecrawl

Resultados estructurados. Se combina mejor con firecrawl_search y firecrawl_scrape para extracción profunda.

Gemini

Respuestas sintetizadas por IA con citas mediante grounding de Google Search.

Grok

Respuestas sintetizadas por IA con citas mediante grounding web de xAI.

Kimi

Respuestas sintetizadas por IA con citas mediante búsqueda web de Moonshot.

MiniMax Search

Resultados estructurados mediante la API de búsqueda de MiniMax Coding Plan.

Ollama Web Search

Búsqueda sin clave a través de tu host de Ollama configurado. Requiere ollama signin.

Perplexity

Resultados estructurados con controles de extracción de contenido y filtrado por dominio.

SearXNG

Metabúsqueda autoalojada. No requiere clave de API. Agrega Google, Bing, DuckDuckGo y más.

Tavily

Resultados estructurados con profundidad de búsqueda, filtrado por tema y tavily_extract para extracción de URL.

Comparación de proveedores

ProveedorEstilo de resultadoFiltrosClave de API
BraveFragmentos estructuradosPaís, idioma, tiempo, modo llm-contextBRAVE_API_KEY
DuckDuckGoFragmentos estructuradosNinguna (sin clave)
ExaEstructurado + extraídoModo neuronal/palabras clave, fecha, extracción de contenidoEXA_API_KEY
FirecrawlFragmentos estructuradosMediante la herramienta firecrawl_searchFIRECRAWL_API_KEY
GeminiSintetizado por IA + citasGEMINI_API_KEY
GrokSintetizado por IA + citasXAI_API_KEY
KimiSintetizado por IA + citasKIMI_API_KEY / MOONSHOT_API_KEY
MiniMax SearchFragmentos estructuradosRegión (global / cn)MINIMAX_CODE_PLAN_KEY / MINIMAX_CODING_API_KEY
Ollama Web SearchFragmentos estructuradosNinguna por defecto; se requiere ollama signin, puede reutilizar la autenticación bearer del proveedor Ollama
PerplexityFragmentos estructuradosPaís, idioma, tiempo, dominios, límites de contenidoPERPLEXITY_API_KEY / OPENROUTER_API_KEY
SearXNGFragmentos estructuradosCategorías, idiomaNinguna (autoalojado)
TavilyFragmentos estructuradosMediante la herramienta tavily_searchTAVILY_API_KEY

Detección automática

Búsqueda web nativa de Codex

Los modelos compatibles con Codex pueden usar opcionalmente la herramienta web_search nativa de Responses del proveedor en lugar de la función web_search administrada por OpenClaw.
  • Configúrala en tools.web.search.openaiCodex
  • Solo se activa para modelos compatibles con Codex (openai-codex/* o proveedores que usan api: "openai-codex-responses")
  • La web_search administrada sigue aplicándose a modelos que no son Codex
  • mode: "cached" es la configuración predeterminada y recomendada
  • tools.web.search.enabled: false deshabilita tanto la búsqueda administrada como la nativa
{
  tools: {
    web: {
      search: {
        enabled: true,
        openaiCodex: {
          enabled: true,
          mode: "cached",
          allowedDomains: ["example.com"],
          contextSize: "high",
          userLocation: {
            country: "US",
            city: "New York",
            timezone: "America/New_York",
          },
        },
      },
    },
  },
}
Si la búsqueda nativa de Codex está habilitada pero el modelo actual no es compatible con Codex, OpenClaw mantiene el comportamiento normal de web_search administrada.

Configurar la búsqueda web

Las listas de proveedores en la documentación y en los flujos de configuración están en orden alfabético. La detección automática mantiene un orden de prioridad independiente. Si no se configura provider, OpenClaw comprueba los proveedores en este orden y usa el primero que esté listo: Primero los proveedores respaldados por API:
  1. BraveBRAVE_API_KEY o plugins.entries.brave.config.webSearch.apiKey (orden 10)
  2. MiniMax SearchMINIMAX_CODE_PLAN_KEY / MINIMAX_CODING_API_KEY o plugins.entries.minimax.config.webSearch.apiKey (orden 15)
  3. GeminiGEMINI_API_KEY o plugins.entries.google.config.webSearch.apiKey (orden 20)
  4. GrokXAI_API_KEY o plugins.entries.xai.config.webSearch.apiKey (orden 30)
  5. KimiKIMI_API_KEY / MOONSHOT_API_KEY o plugins.entries.moonshot.config.webSearch.apiKey (orden 40)
  6. PerplexityPERPLEXITY_API_KEY / OPENROUTER_API_KEY o plugins.entries.perplexity.config.webSearch.apiKey (orden 50)
  7. FirecrawlFIRECRAWL_API_KEY o plugins.entries.firecrawl.config.webSearch.apiKey (orden 60)
  8. ExaEXA_API_KEY o plugins.entries.exa.config.webSearch.apiKey (orden 65)
  9. TavilyTAVILY_API_KEY o plugins.entries.tavily.config.webSearch.apiKey (orden 70)
Después, los fallbacks sin clave:
  1. DuckDuckGo — fallback HTML sin clave, sin cuenta ni clave de API (orden 100)
  2. Ollama Web Search — fallback sin clave mediante tu host de Ollama configurado; requiere que Ollama sea accesible y que hayas iniciado sesión con ollama signin, y puede reutilizar la autenticación bearer del proveedor Ollama si el host la necesita (orden 110)
  3. SearXNGSEARXNG_BASE_URL o plugins.entries.searxng.config.webSearch.baseUrl (orden 200)
Si no se detecta ningún proveedor, se usa Brave como fallback (recibirás un error de clave faltante indicándote que configures una).
Todos los campos de clave de proveedor admiten objetos SecretRef. En modo de detección automática, OpenClaw resuelve solo la clave del proveedor seleccionado: los SecretRefs no seleccionados permanecen inactivos.

Configuración

{
  tools: {
    web: {
      search: {
        enabled: true, // predeterminado: true
        provider: "brave", // o se omite para detección automática
        maxResults: 5,
        timeoutSeconds: 30,
        cacheTtlMinutes: 15,
      },
    },
  },
}
La configuración específica del proveedor (claves de API, URL base, modos) se encuentra en plugins.entries.<plugin>.config.webSearch.*. Consulta las páginas de proveedores para ver ejemplos. La selección del proveedor de fallback de web_fetch es independiente:
  • elígelo con tools.web.fetch.provider
  • o omite ese campo y deja que OpenClaw detecte automáticamente el primer proveedor de web-fetch listo a partir de las credenciales disponibles
  • hoy, el proveedor integrado de web-fetch es Firecrawl, configurado en plugins.entries.firecrawl.config.webFetch.*
Cuando eliges Kimi durante openclaw onboard o openclaw configure --section web, OpenClaw también puede pedirte:
  • la región de la API de Moonshot (https://api.moonshot.ai/v1 o https://api.moonshot.cn/v1)
  • el modelo predeterminado de búsqueda web de Kimi (el valor predeterminado es kimi-k2.5)
Para x_search, configura plugins.entries.xai.config.xSearch.*. Usa el mismo fallback XAI_API_KEY que la búsqueda web de Grok. La configuración heredada tools.web.x_search.* se migra automáticamente mediante openclaw doctor --fix. Cuando eliges Grok durante openclaw onboard o openclaw configure --section web, OpenClaw también puede ofrecer una configuración opcional de x_search con la misma clave. Este es un paso de seguimiento independiente dentro de la ruta de Grok, no una opción de proveedor de búsqueda web independiente de nivel superior. Si eliges otro proveedor, OpenClaw no muestra el prompt de x_search.

Almacenar claves de API

Ejecuta openclaw configure --section web o configura la clave directamente:
{
  plugins: {
    entries: {
      brave: {
        config: {
          webSearch: {
            apiKey: "YOUR_KEY", // pragma: allowlist secret
          },
        },
      },
    },
  },
}

Parámetros de la herramienta

ParámetroDescripción
queryConsulta de búsqueda (obligatorio)
countResultados que se devolverán (1-10, predeterminado: 5)
countryCódigo de país ISO de 2 letras (p. ej. “US”, “DE”)
languageCódigo de idioma ISO 639-1 (p. ej. “en”, “de”)
search_langCódigo de idioma de búsqueda (solo Brave)
freshnessFiltro temporal: day, week, month o year
date_afterResultados posteriores a esta fecha (YYYY-MM-DD)
date_beforeResultados anteriores a esta fecha (YYYY-MM-DD)
ui_langCódigo de idioma de la UI (solo Brave)
domain_filterMatriz de lista de permitidos/denegados de dominios (solo Perplexity)
max_tokensPresupuesto total de contenido, predeterminado 25000 (solo Perplexity)
max_tokens_per_pageLímite de tokens por página, predeterminado 2048 (solo Perplexity)
No todos los parámetros funcionan con todos los proveedores. El modo llm-context de Brave rechaza ui_lang, freshness, date_after y date_before. Gemini, Grok y Kimi devuelven una respuesta sintetizada con citas. Aceptan count por compatibilidad con herramientas compartidas, pero eso no cambia la forma de la respuesta con grounding. Perplexity se comporta de la misma manera cuando usas la ruta de compatibilidad Sonar/OpenRouter (plugins.entries.perplexity.config.webSearch.baseUrl / model o OPENROUTER_API_KEY). SearXNG acepta http:// solo para hosts confiables de red privada o loopback; los endpoints públicos de SearXNG deben usar https://. Firecrawl y Tavily solo admiten query y count mediante web_search — usa sus herramientas dedicadas para las opciones avanzadas.
x_search consulta publicaciones de X (antes Twitter) usando xAI y devuelve respuestas sintetizadas por IA con citas. Acepta consultas en lenguaje natural y filtros estructurados opcionales. OpenClaw solo habilita la herramienta integrada x_search de xAI en la solicitud que atiende esta llamada de herramienta.
xAI documenta x_search como compatible con búsqueda por palabras clave, búsqueda semántica, búsqueda de usuarios y obtención de hilos. Para estadísticas de interacción por publicación como reposts, respuestas, marcadores o vistas, prefiere una búsqueda específica de la URL exacta o el ID de estado exacto. Las búsquedas amplias por palabras clave pueden encontrar la publicación correcta, pero devolver metadatos por publicación menos completos. Un buen patrón es: localizar primero la publicación y luego ejecutar una segunda consulta x_search centrada en esa publicación exacta.
{
  plugins: {
    entries: {
      xai: {
        config: {
          xSearch: {
            enabled: true,
            model: "grok-4-1-fast-non-reasoning",
            inlineCitations: false,
            maxTurns: 2,
            timeoutSeconds: 30,
            cacheTtlMinutes: 15,
          },
          webSearch: {
            apiKey: "xai-...", // opcional si XAI_API_KEY está configurado
          },
        },
      },
    },
  },
}
ParámetroDescripción
queryConsulta de búsqueda (obligatorio)
allowed_x_handlesRestringe los resultados a identificadores de X específicos
excluded_x_handlesExcluye identificadores de X específicos
from_dateIncluye solo publicaciones en esta fecha o posteriores (YYYY-MM-DD)
to_dateIncluye solo publicaciones en esta fecha o anteriores (YYYY-MM-DD)
enable_image_understandingPermite que xAI inspeccione imágenes adjuntas a publicaciones coincidentes
enable_video_understandingPermite que xAI inspeccione videos adjuntos a publicaciones coincidentes
await x_search({
  query: "dinner recipes",
  allowed_x_handles: ["nytfood"],
  from_date: "2026-03-01",
});
// Estadísticas por publicación: usa la URL exacta del estado o el ID del estado cuando sea posible
await x_search({
  query: "https://x.com/huntharo/status/1905678901234567890",
});

Ejemplos

// Búsqueda básica
await web_search({ query: "OpenClaw plugin SDK" });

// Búsqueda específica para Alemania
await web_search({ query: "TV online schauen", country: "DE", language: "de" });

// Resultados recientes (última semana)
await web_search({ query: "AI developments", freshness: "week" });

// Intervalo de fechas
await web_search({
  query: "climate research",
  date_after: "2024-01-01",
  date_before: "2024-06-30",
});

// Filtrado por dominio (solo Perplexity)
await web_search({
  query: "product reviews",
  domain_filter: ["-reddit.com", "-pinterest.com"],
});

Perfiles de herramientas

Si usas perfiles de herramientas o listas de permitidos, añade web_search, x_search o group:web:
{
  tools: {
    allow: ["web_search", "x_search"],
    // o: allow: ["group:web"]  (incluye web_search, x_search y web_fetch)
  },
}

Relacionado