Vai al contenuto principale

Ricerca web

Lo strumento web_search effettua ricerche sul web usando il provider configurato e restituisce i risultati. I risultati vengono memorizzati nella cache per query per 15 minuti (configurabile). OpenClaw include anche x_search per i post di X (in precedenza Twitter) e web_fetch per il recupero leggero di URL. In questa fase, web_fetch resta locale mentre web_search e x_search possono usare xAI Responses dietro le quinte.
web_search è uno strumento HTTP leggero, non automazione del browser. Per siti ricchi di JS o accessi, usa il Web Browser. Per recuperare un URL specifico, usa Web Fetch.

Avvio rapido

1

Scegli un provider

Scegli un provider e completa l’eventuale configurazione richiesta. Alcuni provider non richiedono chiavi, mentre altri usano chiavi API. Vedi le pagine dei provider qui sotto per i dettagli.
2

Configura

openclaw configure --section web
Questo salva il provider e qualsiasi credenziale necessaria. Puoi anche impostare una variabile d’ambiente (per esempio BRAVE_API_KEY) e saltare questo passaggio per i provider basati su API.
3

Usalo

L’agente ora può chiamare web_search:
await web_search({ query: "OpenClaw plugin SDK" });
Per i post di X, usa:
await x_search({ query: "dinner recipes" });

Scegliere un provider

Brave Search

Risultati strutturati con snippet. Supporta la modalità llm-context, i filtri per paese/lingua. Disponibile un livello gratuito.

DuckDuckGo

Fallback senza chiave. Nessuna chiave API necessaria. Integrazione non ufficiale basata su HTML.

Exa

Ricerca neurale + per parole chiave con estrazione del contenuto (evidenziazioni, testo, riepiloghi).

Firecrawl

Risultati strutturati. Si abbina al meglio con firecrawl_search e firecrawl_scrape per estrazioni approfondite.

Gemini

Risposte sintetizzate dall’IA con citazioni tramite grounding di Google Search.

Grok

Risposte sintetizzate dall’IA con citazioni tramite grounding web di xAI.

Kimi

Risposte sintetizzate dall’IA con citazioni tramite ricerca web Moonshot.

MiniMax Search

Risultati strutturati tramite l’API di ricerca MiniMax Coding Plan.

Ollama Web Search

Ricerca senza chiave tramite l’host Ollama configurato. Richiede ollama signin.

Perplexity

Risultati strutturati con controlli di estrazione del contenuto e filtraggio per dominio.

SearXNG

Meta-ricerca self-hosted. Nessuna chiave API necessaria. Aggrega Google, Bing, DuckDuckGo e altro.

Tavily

Risultati strutturati con profondità di ricerca, filtro per argomento e tavily_extract per l’estrazione degli URL.

Confronto tra provider

ProviderStile dei risultatiFiltriChiave API
BraveSnippet strutturatiPaese, lingua, tempo, modalità llm-contextBRAVE_API_KEY
DuckDuckGoSnippet strutturatiNessuna (senza chiave)
ExaStrutturati + estrattiModalità neurale/parole chiave, data, estrazione contenutoEXA_API_KEY
FirecrawlSnippet strutturatiTramite lo strumento firecrawl_searchFIRECRAWL_API_KEY
GeminiSintetizzati dall’IA + citazioniGEMINI_API_KEY
GrokSintetizzati dall’IA + citazioniXAI_API_KEY
KimiSintetizzati dall’IA + citazioniKIMI_API_KEY / MOONSHOT_API_KEY
MiniMax SearchSnippet strutturatiRegione (global / cn)MINIMAX_CODE_PLAN_KEY / MINIMAX_CODING_API_KEY
Ollama Web SearchSnippet strutturatiNessuna per impostazione predefinita; ollama signin richiesto, può riutilizzare l’autenticazione bearer del provider Ollama
PerplexitySnippet strutturatiPaese, lingua, tempo, domini, limiti di contenutoPERPLEXITY_API_KEY / OPENROUTER_API_KEY
SearXNGSnippet strutturatiCategorie, linguaNessuna (self-hosted)
TavilySnippet strutturatiTramite lo strumento tavily_searchTAVILY_API_KEY

Rilevamento automatico

Ricerca web nativa di Codex

I modelli compatibili con Codex possono facoltativamente usare lo strumento nativo web_search di Responses del provider invece della funzione gestita web_search di OpenClaw.
  • Configuralo in tools.web.search.openaiCodex
  • Si attiva solo per i modelli compatibili con Codex (openai-codex/* o provider che usano api: "openai-codex-responses")
  • La web_search gestita continua ad applicarsi ai modelli non Codex
  • mode: "cached" è l’impostazione predefinita e consigliata
  • tools.web.search.enabled: false disabilita sia la ricerca gestita sia quella 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",
          },
        },
      },
    },
  },
}
Se la ricerca nativa di Codex è abilitata ma il modello corrente non è compatibile con Codex, OpenClaw mantiene il normale comportamento gestito di web_search.

Configurazione della ricerca web

Gli elenchi dei provider nella documentazione e nei flussi di configurazione sono in ordine alfabetico. Il rilevamento automatico mantiene un ordine di priorità separato. Se non è impostato alcun provider, OpenClaw controlla i provider in questo ordine e usa il primo pronto: Prima i provider basati su API:
  1. BraveBRAVE_API_KEY o plugins.entries.brave.config.webSearch.apiKey (ordine 10)
  2. MiniMax SearchMINIMAX_CODE_PLAN_KEY / MINIMAX_CODING_API_KEY o plugins.entries.minimax.config.webSearch.apiKey (ordine 15)
  3. GeminiGEMINI_API_KEY o plugins.entries.google.config.webSearch.apiKey (ordine 20)
  4. GrokXAI_API_KEY o plugins.entries.xai.config.webSearch.apiKey (ordine 30)
  5. KimiKIMI_API_KEY / MOONSHOT_API_KEY o plugins.entries.moonshot.config.webSearch.apiKey (ordine 40)
  6. PerplexityPERPLEXITY_API_KEY / OPENROUTER_API_KEY o plugins.entries.perplexity.config.webSearch.apiKey (ordine 50)
  7. FirecrawlFIRECRAWL_API_KEY o plugins.entries.firecrawl.config.webSearch.apiKey (ordine 60)
  8. ExaEXA_API_KEY o plugins.entries.exa.config.webSearch.apiKey (ordine 65)
  9. TavilyTAVILY_API_KEY o plugins.entries.tavily.config.webSearch.apiKey (ordine 70)
Poi i fallback senza chiave:
  1. DuckDuckGo — fallback HTML senza chiave, senza account o chiave API (ordine 100)
  2. Ollama Web Search — fallback senza chiave tramite l’host Ollama configurato; richiede che Ollama sia raggiungibile e che sia stato eseguito ollama signin, e può riutilizzare l’autenticazione bearer del provider Ollama se l’host la richiede (ordine 110)
  3. SearXNGSEARXNG_BASE_URL o plugins.entries.searxng.config.webSearch.baseUrl (ordine 200)
Se non viene rilevato alcun provider, viene usato Brave come fallback (riceverai un errore di chiave mancante che ti inviterà a configurarne una).
Tutti i campi chiave dei provider supportano oggetti SecretRef. In modalità di rilevamento automatico, OpenClaw risolve solo la chiave del provider selezionato — le SecretRef non selezionate restano inattive.

Config

{
  tools: {
    web: {
      search: {
        enabled: true, // default: true
        provider: "brave", // oppure ometti per il rilevamento automatico
        maxResults: 5,
        timeoutSeconds: 30,
        cacheTtlMinutes: 15,
      },
    },
  },
}
La configurazione specifica del provider (chiavi API, URL di base, modalità) si trova in plugins.entries.<plugin>.config.webSearch.*. Vedi le pagine dei provider per gli esempi. La selezione del provider di fallback di web_fetch è separata:
  • sceglilo con tools.web.fetch.provider
  • oppure ometti quel campo e lascia che OpenClaw rilevi automaticamente il primo provider web-fetch pronto dalle credenziali disponibili
  • oggi il provider web-fetch incluso è Firecrawl, configurato in plugins.entries.firecrawl.config.webFetch.*
Quando scegli Kimi durante openclaw onboard oppure openclaw configure --section web, OpenClaw può anche chiedere:
  • la regione API Moonshot (https://api.moonshot.ai/v1 oppure https://api.moonshot.cn/v1)
  • il modello predefinito di ricerca web Kimi (predefinito kimi-k2.5)
Per x_search, configura plugins.entries.xai.config.xSearch.*. Usa lo stesso fallback XAI_API_KEY della ricerca web Grok. La configurazione legacy tools.web.x_search.* viene migrata automaticamente da openclaw doctor --fix. Quando scegli Grok durante openclaw onboard oppure openclaw configure --section web, OpenClaw può anche offrire la configurazione facoltativa di x_search con la stessa chiave. Questo è un passaggio di follow-up separato all’interno del percorso Grok, non una scelta di primo livello separata del provider di ricerca web. Se scegli un altro provider, OpenClaw non mostra il prompt x_search.

Archiviazione delle chiavi API

Esegui openclaw configure --section web oppure imposta direttamente la chiave:
{
  plugins: {
    entries: {
      brave: {
        config: {
          webSearch: {
            apiKey: "YOUR_KEY", // pragma: allowlist secret
          },
        },
      },
    },
  },
}

Parametri dello strumento

ParameterDescription
queryQuery di ricerca (obbligatoria)
countRisultati da restituire (1-10, predefinito: 5)
countryCodice paese ISO di 2 lettere (ad es. “US”, “DE”)
languageCodice lingua ISO 639-1 (ad es. “en”, “de”)
search_langCodice lingua di ricerca (solo Brave)
freshnessFiltro temporale: day, week, month o year
date_afterRisultati successivi a questa data (YYYY-MM-DD)
date_beforeRisultati precedenti a questa data (YYYY-MM-DD)
ui_langCodice lingua UI (solo Brave)
domain_filterArray allowlist/denylist di domini (solo Perplexity)
max_tokensBudget totale di contenuto, predefinito 25000 (solo Perplexity)
max_tokens_per_pageLimite di token per pagina, predefinito 2048 (solo Perplexity)
Non tutti i parametri funzionano con tutti i provider. La modalità llm-context di Brave rifiuta ui_lang, freshness, date_after e date_before. Gemini, Grok e Kimi restituiscono una risposta sintetizzata con citazioni. Accettano count per compatibilità con gli strumenti condivisi, ma non cambia la forma della risposta grounded. Perplexity si comporta allo stesso modo quando usi il percorso di compatibilità Sonar/OpenRouter (plugins.entries.perplexity.config.webSearch.baseUrl / model o OPENROUTER_API_KEY). SearXNG accetta http:// solo per host di loopback o di rete privata fidata; gli endpoint SearXNG pubblici devono usare https://. Firecrawl e Tavily supportano solo query e count tramite web_search — usa i loro strumenti dedicati per le opzioni avanzate.
x_search interroga i post di X (in precedenza Twitter) usando xAI e restituisce risposte sintetizzate dall’IA con citazioni. Accetta query in linguaggio naturale e filtri strutturati facoltativi. OpenClaw abilita lo strumento integrato x_search di xAI solo nella richiesta che serve questa chiamata dello strumento.
xAI documenta x_search come supporto per ricerca per parole chiave, ricerca semantica, ricerca utenti e recupero di thread. Per statistiche di engagement per singolo post, come repost, risposte, segnalibri o visualizzazioni, preferisci una ricerca mirata dell’URL esatto del post o dello status ID. Le ricerche ampie per parola chiave possono trovare il post giusto ma restituire metadati meno completi per il singolo post. Un buon schema è: individua prima il post, poi esegui una seconda query x_search focalizzata su quel post esatto.
{
  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-...", // facoltativa se XAI_API_KEY è impostata
          },
        },
      },
    },
  },
}
ParameterDescription
queryQuery di ricerca (obbligatoria)
allowed_x_handlesLimita i risultati a handle X specifici
excluded_x_handlesEscludi handle X specifici
from_dateIncludi solo post in o dopo questa data (YYYY-MM-DD)
to_dateIncludi solo post in o prima di questa data (YYYY-MM-DD)
enable_image_understandingConsenti a xAI di ispezionare le immagini allegate ai post corrispondenti
enable_video_understandingConsenti a xAI di ispezionare i video allegati ai post corrispondenti
await x_search({
  query: "dinner recipes",
  allowed_x_handles: ["nytfood"],
  from_date: "2026-03-01",
});
// Statistiche per singolo post: usa l'URL esatto dello status o lo status ID quando possibile
await x_search({
  query: "https://x.com/huntharo/status/1905678901234567890",
});

Esempi

// Ricerca di base
await web_search({ query: "OpenClaw plugin SDK" });

// Ricerca specifica per la Germania
await web_search({ query: "TV online schauen", country: "DE", language: "de" });

// Risultati recenti (ultima settimana)
await web_search({ query: "AI developments", freshness: "week" });

// Intervallo di date
await web_search({
  query: "climate research",
  date_after: "2024-01-01",
  date_before: "2024-06-30",
});

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

Profili degli strumenti

Se usi profili degli strumenti o allowlist, aggiungi web_search, x_search oppure group:web:
{
  tools: {
    allow: ["web_search", "x_search"],
    // oppure: allow: ["group:web"]  (include web_search, x_search e web_fetch)
  },
}

Correlati

  • Web Fetch — recupera un URL ed estrae contenuto leggibile
  • Web Browser — automazione completa del browser per siti ricchi di JS
  • Grok Search — Grok come provider web_search
  • Ollama Web Search — ricerca web senza chiave tramite il tuo host Ollama