Przejdź do głównej treści

Web Fetch

Narzędzie web_fetch wykonuje zwykłe żądanie HTTP GET i wyodrębnia czytelną treść (HTML do markdown lub tekstu). Nie wykonuje JavaScript. W przypadku stron mocno opartych na JS lub stron chronionych logowaniem użyj zamiast tego Web Browser.

Szybki start

web_fetch jest domyślnie włączone — nie wymaga konfiguracji. Agent może wywołać je od razu:
await web_fetch({ url: "https://example.com/article" });

Parametry narzędzia

ParametrTypOpis
urlstringURL do pobrania (wymagany, tylko http/https)
extractModestring"markdown" (domyślnie) lub "text"
maxCharsnumberObetnij wyjście do tej liczby znaków

Jak to działa

1

Pobranie

Wysyła HTTP GET z nagłówkiem User-Agent podobnym do Chrome oraz nagłówkiem Accept-Language. Blokuje prywatne/wewnętrzne hostname i ponownie sprawdza przekierowania.
2

Ekstrakcja

Uruchamia Readability (ekstrakcję głównej treści) na odpowiedzi HTML.
3

Fallback (opcjonalnie)

Jeśli Readability się nie powiedzie i Firecrawl jest skonfigurowany, ponawia próbę przez API Firecrawl z trybem obchodzenia zabezpieczeń przed botami.
4

Cache

Wyniki są cache’owane przez 15 minut (konfigurowalne), aby ograniczyć ponowne pobieranie tego samego URL.

Konfiguracja

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

Fallback Firecrawl

Jeśli ekstrakcja przez Readability się nie powiedzie, web_fetch może użyć fallbacku do Firecrawl w celu obejścia zabezpieczeń przed botami i uzyskania lepszej ekstrakcji:
{
  tools: {
    web: {
      fetch: {
        provider: "firecrawl", // optional; omit for auto-detect from available credentials
      },
    },
  },
  plugins: {
    entries: {
      firecrawl: {
        enabled: true,
        config: {
          webFetch: {
            apiKey: "fc-...", // optional if FIRECRAWL_API_KEY is set
            baseUrl: "https://api.firecrawl.dev",
            onlyMainContent: true,
            maxAgeMs: 86400000, // cache duration (1 day)
            timeoutSeconds: 60,
          },
        },
      },
    },
  },
}
plugins.entries.firecrawl.config.webFetch.apiKey obsługuje obiekty SecretRef. Starsza konfiguracja tools.web.fetch.firecrawl.* jest automatycznie migrowana przez openclaw doctor --fix.
Jeśli Firecrawl jest włączony, a jego SecretRef nie jest rozwiązany i nie ma fallbacku env FIRECRAWL_API_KEY, uruchomienie gateway kończy się natychmiast błędem.
Nadpisania baseUrl Firecrawl są ograniczone: muszą używać https:// i oficjalnego hosta Firecrawl (api.firecrawl.dev).
Aktualne zachowanie runtime:
  • tools.web.fetch.provider jawnie wybiera providera fallbacku pobierania.
  • Jeśli provider jest pominięty, OpenClaw automatycznie wykrywa pierwszego gotowego providera web fetch na podstawie dostępnych poświadczeń. Obecnie dołączonym providerem jest Firecrawl.
  • Jeśli Readability jest wyłączone, web_fetch od razu przechodzi do wybranego fallbacku providera. Jeśli żaden provider nie jest dostępny, kończy działanie bezpieczną odmową.

Limity i bezpieczeństwo

  • maxChars jest ograniczane do tools.web.fetch.maxCharsCap
  • Treść odpowiedzi jest ograniczana do maxResponseBytes przed parsowaniem; zbyt duże odpowiedzi są obcinane z ostrzeżeniem
  • Prywatne/wewnętrzne hostname są blokowane
  • Przekierowania są sprawdzane i ograniczane przez maxRedirects
  • web_fetch działa w trybie best-effort — niektóre strony wymagają Web Browser

Profile narzędzi

Jeśli używasz profili narzędzi lub list dozwolonych, dodaj web_fetch lub group:web:
{
  tools: {
    allow: ["web_fetch"],
    // or: allow: ["group:web"]  (includes web_fetch, web_search, and x_search)
  },
}

Powiązane

  • Web Search — przeszukuj sieć z użyciem wielu providerów
  • Web Browser — pełna automatyzacja browser dla stron mocno opartych na JS
  • Firecrawl — narzędzia wyszukiwania i scrape w Firecrawl