web_fetch 會執行一般的 HTTP GET,並擷取可讀內容(將 HTML 轉換為
Markdown 或文字)。它不會執行 JavaScript。若是大量使用 JS 的網站或
受登入保護的頁面,請改用網頁瀏覽器。
快速開始
預設為啟用,無需設定:工具參數
string
必填
要擷取的 URL。僅限
http(s)。'markdown' | 'text'
預設值:"markdown"
擷取主要內容後的輸出格式。
number
將輸出截斷至此字元數。限制在
tools.web.fetch.maxCharsCap。結果
web_fetch 會傳回封閉式結構化結果,其中包含下列欄位:
- 請求中繼資料:
url、finalUrl、status、extractMode和extractor - 選用的回應中繼資料:
contentType、title和warning(不存在時省略) - 包裝內容中繼資料:
externalContent、truncated、length、rawLength、fetchedAt、tookMs和text - 快取命中時的選用
cached: true - 截斷的內容寫入私人暫存檔案時的選用
spill: { path, chars, truncated? }; 僅當該檔案包含部分來源內容時,才會有truncated
length 是包裝後的 text 長度。rawLength 是外部內容包裝前
所擷取內容的長度。
運作方式
1
擷取
使用類似 Chrome 的 User-Agent 和
Accept-Language
標頭傳送 HTTP GET。封鎖私人/內部主機名稱,並重新檢查重新導向。2
擷取內容
對 HTML 回應執行 Readability(主要內容擷取)。
3
後援(選用)
如果 Readability 失敗且有可用的擷取提供者,則透過
該提供者重試(例如 Firecrawl 的機器人規避模式)。
4
快取
結果會快取 15 分鐘(可設定),以減少對相同 URL 的重複
擷取。
進度更新
只有在五秒後擷取仍處於等待狀態時,web_fetch 才會發出公開進度行:
設定
Firecrawl 後援
如果 Readability 擷取失敗,web_fetch 可以後援至
Firecrawl,以規避機器人偵測並改善擷取效果:
plugins.entries.firecrawl.config.webFetch.apiKey 為選用,並支援 SecretRef 物件。
舊版 tools.web.fetch.firecrawl.* 設定會透過 openclaw doctor --fix
自動移轉至 plugins.entries.firecrawl.config.webFetch。
如果你設定了 Firecrawl API 金鑰 SecretRef,但該參照無法解析,且沒有
FIRECRAWL_API_KEY 環境後援,閘道啟動將立即失敗。Firecrawl
baseUrl 覆寫受到嚴格限制:託管流量使用
https://api.firecrawl.dev;自架覆寫必須以私人或
內部端點為目標,而且僅對這些私人目標接受 http://。tools.web.fetch.provider會明確選取擷取後援提供者。- 如果省略
provider,OpenClaw 會從已設定的認證資訊中,自動偵測第一個就緒的網頁擷取 提供者。非沙箱化的web_fetch可以使用 宣告contracts.webFetchProviders並在執行階段註冊相符提供者的已安裝外掛。 官方 Firecrawl 外掛目前提供此後援。 - 沙箱化的
web_fetch呼叫允許使用隨附提供者,以及 官方 npm 或 ClawHub 來源經過驗證的已安裝提供者。目前這會允許 官方 Firecrawl 外掛;第三方外部擷取外掛仍會遭到排除。 - 如果停用 Readability,
web_fetch會直接跳至選定的 提供者後援。如果沒有可用的提供者,則會以封閉方式失敗。
受信任的環境代理伺服器
如果你的部署需要讓web_fetch 通過受信任的對外
HTTP(S) 代理伺服器,請設定 tools.web.fetch.useTrustedEnvProxy: true。
在此模式下,OpenClaw 仍會在傳送請求前套用以主機名稱為基礎的 SSRF 檢查,
但會讓代理伺服器解析 DNS,而不是在本機進行 DNS
固定。僅當代理伺服器由操作人員控制,且會在 DNS 解析後強制執行
對外連線政策時,才啟用此功能。
如果未設定 HTTP(S) 代理伺服器環境變數,或目標主機遭
NO_PROXY 排除,web_fetch 會後援至使用本機 DNS
固定的一般嚴格路徑。限制與安全性
maxChars會限制在tools.web.fetch.maxCharsCap(預設為20000)- 回應本文在剖析前會限制為
maxResponseBytes(預設為750000,限制在 32000-10000000);過大的回應會被截斷並顯示警告 - 私人/內部主機名稱會遭到封鎖
tools.web.fetch.ssrfPolicy.allowRfc2544BenchmarkRange和tools.web.fetch.ssrfPolicy.allowIpv6UniqueLocalRange是針對受信任假 IP 代理伺服器堆疊的有限選擇啟用項目; 除非你的代理伺服器擁有這些合成範圍,並強制執行其自身的目的地政策, 否則請勿設定- 重新導向會受到檢查,並由
maxRedirects限制(預設為3) useTrustedEnvProxy是明確的選擇啟用項目,且僅應為 在 DNS 解析後仍會強制執行對外連線政策、由操作人員控制的代理伺服器啟用web_fetch僅為盡力處理——某些網站需要使用網頁瀏覽器
工具設定檔
如果你使用工具設定檔或允許清單,請新增web_fetch 或 group:web: