Web fetch
web_fetch 工具執行標準的 HTTP GET 請求並提取可讀內容
(HTML 轉 markdown 或 text)。它不會執行 JavaScript。
若為重度依賴 JavaScript 的網站或需要登入的頁面,請改用 Web Browser。
web_fetch 預設已啟用 — 無需任何配置。代理程式可以
立即呼叫它:
await web_fetch({ url: "https://example.com/article" });擷取
使用類似 Chrome 的 User-Agent 和
Accept-Language標頭發送 HTTP GET 請求。阻擋私人/內部主機名稱並重新檢查重新導向。提取
在 HTML 回應上執行 Readability(主要內容提取)。
後備機制(選用)
如果 Readability 失敗且已配置 Firecrawl,則透過 Firecrawl API 使用繞過機器人模式重試。
快取
結果會快取 15 分鐘(可配置)以減少重複 獲取同一 URL。
{ 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 }, }, }, },}Firecrawl 後備機制
Section titled “Firecrawl 後備機制”如果 Readability 提取失敗,web_fetch 可以回退到
Firecrawl 以規避機器人偵測並獲得更好的提取效果:
{ 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 支援 SecretRef 物件。
舊版 tools.web.fetch.firecrawl.* 配置會由 openclaw doctor --fix 自動遷移。
目前的執行時期行為:
tools.web.fetch.provider會明確選取 fetch 後備提供者。- 如果省略
provider,OpenClaw 會從可用的憑證中自動偵測第一個就緒的 web-fetch 提供者。非沙盒化的web_fetch可以使用 已安裝的外掛程式,這些外掛程式宣告contracts.webFetchProviders並在執行時註冊 相符的提供者。目前內建的提供者為 Firecrawl。 - 沙盒化的
web_fetch呼叫僅限於使用內建的提供者。 - 如果停用 Readability,
web_fetch會直接跳至選定的 提供者回退機制。如果沒有可用的提供者,它將會失敗並封閉連線。
Trusted env proxy
Section titled “Trusted env proxy”如果您的部署需要 web_fetch 透過受信任的出站
HTTP(S) 代理伺服器,請設定 tools.web.fetch.useTrustedEnvProxy: true。
在此模式下,OpenClaw 在發送請求前仍會套用基於主機名的 SSRF 檢查,但它允許代理伺服器解析 DNS,而不是進行本機 DNS 鎖定。僅在代理伺服器由操作員控制並在 DNS 解析後執行出站原則時才啟用此功能。
Limits and safety
Section titled “Limits and safety”maxChars被限制在tools.web.fetch.maxCharsCap- 回應主體在解析前會限制為
maxResponseBytes;超過大小 的回應會被截斷並顯示警告 - 私人/內部主機名稱會被阻擋
tools.web.fetch.ssrfPolicy.allowRfc2544BenchmarkRange和tools.web.fetch.ssrfPolicy.allowIpv6UniqueLocalRange是針對受信任的偽 IP 代理堆疊的精細選項;除非您的代理擁有這些合成範圍並強制執行自己的目標策略,否則請勿設定它們- 重新導向會受到
maxRedirects的檢查與限制 useTrustedEnvProxy是一個明確的選用功能,僅應針對在 DNS 解析後仍強制執行傳出策略的操作員控制的代理程式啟用web_fetch為盡力而為——某些網站需要 Web Browser
如果您使用工具設定檔或允許清單,請新增 web_fetch 或 group:web:
{ tools: { allow: ["web_fetch"], // or: allow: ["group:web"] (includes web_fetch, web_search, and x_search) },}- Web Search — 使用多個供應商搜尋網路
- Web Browser — 針對重度 JS 網站的完整瀏覽器自動化
- Firecrawl — Firecrawl 搜尋與擷取工具