PowerScan
TC

AI 瀏覽器代理需要屬於自己的瀏覽器

自動化 · 閱讀約 9 分鐘 · 作者:PowerOps

圖片:Unsplash

把日常使用的瀏覽器交給自主代理,等於交出你的 Cookie、你的登入狀態與你的裝置。為什麼代理應該待在隔離的設定檔裡,以及如何為它準備一個。

讓 AI 代理在網路上擁有真正能力的最快方法,就是讓它操作瀏覽器。而最快讓你後悔的方法,就是讓它操作你的瀏覽器。日常使用的瀏覽器帶著你曾經登入過的每一個工作階段,能夠點擊的代理,就能點擊這些工作階段所能觸及的一切。

爆炸半徑問題

被要求研究供應商的代理,並無意開啟你的銀行分頁。但它所在的瀏覽器不會做出區分:一個 Cookie 容器、一組儲存的登入資訊、一個機器身分。代理能前往的任何地方,它都已經通過驗證。人們最先想到的緩解措施,例如另開一個 Chrome 設定檔、使用無痕視窗,只搬動了 Cookie,其他東西都沒有動。

隔離究竟必須涵蓋什麼

這份清單,與隔離的瀏覽器設定檔本來就能滿足的清單相同。從瀏覽器的角度來看,代理只是你機器上的另一個使用者,不應該看到你其餘的工作內容。

為代理配置設定檔

在 PowerOps 中,做法很簡短。為代理建立一個設定檔,給它你希望其流量使用的路徑,並且只登入該任務所需要的帳號。然後從 Local API 啟動它,它會回傳瀏覽器的偵錯端點,再把你的代理框架指向該端點,而不是它自己啟動的瀏覽器。

# Start the agent's profile and take the endpoint it returns.
curl -s -X POST http://127.0.0.1:50326/v1/browsers/start \
  -H "Authorization: Bearer $POWEROPS_KEY" \
  -H "Content-Type: application/json" \
  -d '{"profileId": "agent-research-01"}'

任何支援 Chrome DevTools Protocol 的工具,都能連線到該呼叫所回傳的端點,包括 Puppeteer、Playwright,或是包裝這兩者的代理框架。代理的程式碼完全不需要更動,改變的是它所處的瀏覽器。

一個任務一個設定檔,而不是一個代理一個

直覺是給代理一個設定檔。更好的單位是任務。供應商研究一個設定檔,允許它發文的帳號一個設定檔,它所讀取的儀表板再一個設定檔。如果某次執行出了問題,損害範圍就受限於那個設定檔所能觸及的範圍,而且你可以直接丟掉該目錄,重新開始。

讓每次執行具有可比性

代理很難除錯,因為兩次執行很少是同一次執行。一個每次啟動都回報相同裝置、使用相同路徑、並保持你上次留下狀態的設定檔,能消除各次嘗試之間的一整類差異。當某次執行的行為不同時,環境就不再是嫌疑對象之一。

底線

這一切都不是繞過網站條款、速率限制或 robots 政策的方法,也不是以此為賣點。它給代理的,是一個屬於任務而不屬於你的瀏覽器。

所有文章 · 開始掃描