Langsung ke konten utama

Documentation Index

Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt

Use this file to discover all available pages before exploring further.

Alat web_fetch melakukan HTTP GET biasa dan mengekstrak konten yang dapat dibaca (HTML ke markdown atau teks). Alat ini tidak menjalankan JavaScript. Untuk situs yang sangat bergantung pada JS atau halaman yang dilindungi login, gunakan Peramban Web sebagai gantinya.

Mulai cepat

web_fetch diaktifkan secara default — tidak perlu konfigurasi. Agent dapat memanggilnya langsung:
await web_fetch({ url: "https://example.com/article" });

Parameter alat

url
string
wajib
URL yang akan diambil. Hanya http(s).
extractMode
'markdown' | 'text'
default:"markdown"
Format keluaran setelah ekstraksi konten utama.
maxChars
number
Potong keluaran hingga sebanyak karakter ini.

Cara kerjanya

1

Fetch

Mengirim HTTP GET dengan User-Agent mirip Chrome dan header Accept-Language. Memblokir hostname privat/internal dan memeriksa ulang pengalihan.
2

Extract

Menjalankan Readability (ekstraksi konten utama) pada respons HTML.
3

Fallback (optional)

Jika Readability gagal dan Firecrawl dikonfigurasi, mencoba ulang melalui API Firecrawl dengan mode pengelakan bot.
4

Cache

Hasil di-cache selama 15 menit (dapat dikonfigurasi) untuk mengurangi pengambilan berulang URL yang sama.

Konfigurasi

{
  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
        },
      },
    },
  },
}

Fallback Firecrawl

Jika ekstraksi Readability gagal, web_fetch dapat menggunakan fallback ke Firecrawl untuk pengelakan bot dan ekstraksi yang lebih baik:
{
  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 mendukung objek SecretRef. Konfigurasi legacy tools.web.fetch.firecrawl.* dimigrasikan otomatis oleh openclaw doctor --fix.
Jika Firecrawl diaktifkan dan SecretRef-nya tidak terselesaikan tanpa fallback env FIRECRAWL_API_KEY, startup gateway gagal dengan cepat.
Override baseUrl Firecrawl dikunci ketat: lalu lintas hosted menggunakan https://api.firecrawl.dev; override self-hosted harus menargetkan endpoint privat atau internal, dan http:// hanya diterima untuk target privat tersebut.
Perilaku runtime saat ini:
  • tools.web.fetch.provider memilih penyedia fallback pengambilan secara eksplisit.
  • Jika provider dihilangkan, OpenClaw mendeteksi otomatis penyedia web-fetch pertama yang siap dari kredensial yang tersedia. web_fetch non-sandbox dapat menggunakan plugin terpasang yang mendeklarasikan contracts.webFetchProviders dan mendaftarkan penyedia yang cocok pada runtime. Saat ini penyedia bawaan adalah Firecrawl.
  • Panggilan web_fetch yang di-sandbox tetap terbatas pada penyedia bawaan.
  • Jika Readability dinonaktifkan, web_fetch langsung melewati ke fallback penyedia yang dipilih. Jika tidak ada penyedia yang tersedia, alat ini gagal secara tertutup.

Proxy env tepercaya

Jika deployment Anda mengharuskan web_fetch melewati proxy HTTP(S) keluar yang tepercaya, setel tools.web.fetch.useTrustedEnvProxy: true. Dalam mode ini, OpenClaw tetap menerapkan pemeriksaan SSRF berbasis hostname sebelum mengirim permintaan, tetapi membiarkan proxy menyelesaikan DNS alih-alih melakukan pinning DNS lokal. Aktifkan ini hanya ketika proxy dikendalikan operator dan memberlakukan kebijakan keluar setelah resolusi DNS.
Jika tidak ada variabel env proxy HTTP(S) yang dikonfigurasi, atau host target dikecualikan oleh NO_PROXY, web_fetch menggunakan fallback ke jalur ketat normal dengan pinning DNS lokal.

Batasan dan keamanan

  • maxChars dibatasi ke tools.web.fetch.maxCharsCap
  • Body respons dibatasi pada maxResponseBytes sebelum parsing; respons yang terlalu besar dipotong dengan peringatan
  • Hostname privat/internal diblokir
  • tools.web.fetch.ssrfPolicy.allowRfc2544BenchmarkRange dan tools.web.fetch.ssrfPolicy.allowIpv6UniqueLocalRange adalah opt-in sempit untuk stack proxy fake-IP tepercaya; biarkan tidak disetel kecuali proxy Anda memiliki rentang sintetis tersebut dan memberlakukan kebijakan tujuannya sendiri
  • Pengalihan diperiksa dan dibatasi oleh maxRedirects
  • useTrustedEnvProxy adalah opt-in eksplisit dan sebaiknya hanya diaktifkan untuk proxy yang dikendalikan operator yang tetap memberlakukan kebijakan keluar setelah resolusi DNS
  • web_fetch bersifat best-effort — beberapa situs memerlukan Peramban Web

Profil alat

Jika Anda menggunakan profil alat atau allowlist, tambahkan web_fetch atau group:web:
{
  tools: {
    allow: ["web_fetch"],
    // or: allow: ["group:web"]  (includes web_fetch, web_search, and x_search)
  },
}

Terkait

  • Pencarian Web — cari di web dengan beberapa penyedia
  • Peramban Web — automasi browser penuh untuk situs yang sangat bergantung pada JS
  • Firecrawl — alat pencarian dan scrape Firecrawl