5 層瀏覽器自動化路由
逐層遞增的資源調度——用最輕的工具完成工作。
比喻:查餐廳資訊的五種方式
Section titled “比喻:查餐廳資訊的五種方式”你想知道一家餐廳今晚有沒有開。一個理性的人會這樣做:
- 查 Google Maps — 最快、最便宜。如果營業時間有列出,你就搞定了。
- 上餐廳官網 — 多一點努力,但還是很快。翻首頁找營業時間。
- 打電話給餐廳 — 需要更多精力(也花他們的時間),但能處理官網過時的情況。
- 派人去現場看 — 昂貴且慢,但保證拿到答案。
- 派人進去坐下點餐 — 最貴的選項,但如果你要評估完整體驗就必須如此。
DuDuClaw 的瀏覽器自動化遵循相同原則:從最便宜的方式開始,只在上一層失敗時才升級。
Layer 1:API Fetch — 直接 HTTP 請求到 REST API 端點。最快最便宜。
適用場景:有公開 API 的結構化資料來源。天氣服務、股票價格、公開資料庫。 失敗時機:目標沒有 API,或所需資料未透過 API 暴露。
Layer 2:Static Scrape — 下載 HTML 頁面並解析,不執行 JavaScript。
適用場景:傳統伺服器渲染的網站,內容在初始 HTML 中。 失敗時機:需要 JavaScript 才能渲染內容的單頁應用(SPA)。
Layer 3:Headless Browser — 啟動瀏覽器引擎(無可見視窗),執行 JavaScript,完整渲染頁面,然後擷取資料。
適用場景:客戶端渲染的現代 Web 應用。大多數 SPA、儀表板、互動地圖。 失敗時機:需要認證、CAPTCHA 解決或其他互動步驟的頁面。
Layer 4:Sandbox Browser — 與 L3 相同,但在隔離容器中執行以確保安全。
適用場景:需要認證的頁面、嘗試偵測自動化的網站、需要複雜互動序列的頁面。 失敗時機:需要視覺模式辨識、拖放或其他類人視覺互動的頁面。
Layer 5:Computer Use — 虛擬顯示器加模擬滑鼠和鍵盤。瀏覽器以可見方式運行,系統「觀看」螢幕來決定點擊什麼。
適用場景:任何人類坐在電腦前可以做的事。最強大的層級。 失敗時機:不會失敗。但它是最慢最貴的選項,應該是最後手段。
替代方案:Browserbase — 對不想在本地維護虛擬顯示器的團隊,DuDuClaw 支援用 Browserbase 作為 L5 的雲端瀏覽器替代方案。瀏覽器跑在 Browserbase 的基礎設施上,DuDuClaw 透過 API 下指令。能力相同,本地零資源成本(但需要 Browserbase 帳號)。
路由器不總是從 L1 開始。根據任務和目標,可能直接跳到適當的層級:
已知 API 端點? --> 從 L1 開始已知靜態網站? --> 從 L2 開始已知 SPA? --> 從 L3 開始需要認證? --> 從 L4 開始需要視覺任務? --> 從 L5 開始未知? --> 從 L1 開始,按需逐層降級安全:預設拒絕
Section titled “安全:預設拒絕”瀏覽器自動化很強大,也很危險。不受限制的瀏覽器存取可能讓 Agent:
- 造訪惡意網站
- 下載惡意軟體
- 透過網頁表單外洩資料
- 執行任意 JavaScript
為防止此問題,DuDuClaw 使用預設拒絕的能力模型:
Agent 設定: [capabilities] computer_use = false # L5 預設關閉 browser_via_bash = false # 透過 shell 呼叫 L3/L4 預設關閉 allowed_tools = [...] # 允許的工具白名單 denied_tools = [...] # 禁止的工具黑名單L2 以上的每個層級都需要在 Agent 設定中明確授權。未被特別授予瀏覽器能力的 Agent 只能使用 API 呼叫和靜態爬取。
| 層級 | 啟動時間 | 記憶體 | 網路 | 安全風險 |
|---|---|---|---|---|
| L1:API Fetch | ~0ms | ~1 MB | 單一 HTTP 請求 | 極低 |
| L2:Static Scrape | ~0ms | ~5 MB | 單一 HTTP 請求 | 低 |
| L3:Headless Browser | ~2s | ~200 MB | 多個請求 | 中等 |
| L4:Sandbox Browser | ~5s | ~300 MB | 受控 | 低(隔離) |
| L5:Computer Use | ~10s | ~500 MB+ | 完整瀏覽器 | 中等(隔離) |
L1 和 L5 之間的差距大約是 500 倍的資源消耗。用 L5 處理 L1 就能搞定的任務,就像開卡車去拿一封信。
這為什麼重要
Section titled “這為什麼重要”成本與複雜度成正比
Section titled “成本與複雜度成正比”每個 Web 任務獲得完成所需的最小資源。簡單的資料檢索(95% 的情況)消耗接近零的資源。只有真正複雜的任務(登入、視覺互動)才觸發重量級層。
透過最小化實現安全
Section titled “透過最小化實現安全”只需要查股票價格的 Agent 不會獲得瀏覽器存取權。最小權限原則透過能力系統自動執行。
如果較高層級失敗(容器服務不可用、瀏覽器引擎當機),系統通常可以降級到較低層級以減少功能運作,而非完全失敗。
與其他系統的互動
Section titled “與其他系統的互動”- 容器沙盒:L4 使用與隔離 Agent 任務執行相同的容器基礎設施。
- 安全 Hook:bash 守門員與更廣泛的安全防禦系統整合。
- Agent 設定:每個 Agent 的瀏覽器能力是其整體能力設定的一部分。
- 審計日誌:所有瀏覽器自動化操作都被記錄以供合規。
5 層瀏覽器路由器體現了一個簡單原則:不要用大槌掛畫框。透過自動匹配工具與任務複雜度,系統最小化資源使用、降低安全暴露,並讓大多數 Web 互動保持快速和便宜。