nicobailon/surf-cli
The CLI for AI agents to control Chrome. Zero config, agent-agnostic, battle-tested.
它解決的問題
Surf 提供了一個簡單、與代理無關的 CLI,讓 AI 代理可以控制 Chrome 瀏覽器。它消除了複雜設定、專有 API 金鑰或特定 AI 提供商的鎖定需求,讓代理能像人類一樣與網路互動——使用現有的瀏覽器登入和會話。
如何運作
Surf 作為一個 CLI 工具運作,透過 Unix socket 與 Chrome 擴充功能通訊。它使用原生訊息主機來橋接 CLI 與瀏覽器。這種架構使其能被任何能執行 shell 命令的工具(如 Claude Code、GPT 或自訂 shell 腳本)使用。
主要技術特色包括:
- 可存取性樹狀結構整合:使用可存取性樹狀結構中的穩定元素參考(
e1、e2等),使互動對 DOM 變更更具韌性,優於傳統的 CSS 選取器。 - 會話管理:實作會話系統,允許多個獨立代理同時操作瀏覽器分頁,彼此不互相干擾。
- 遠端存取:支援透過 Tailscale 進行遠端瀏覽器控制,使用相互的 Ed25519 挑戰-回應機制進行安全驗證。
- 智慧預設值:自動調整截圖大小以節省 token,並在操作後自動截圖,減少代理的往返次數。
適用對象
需要瀏覽網路、執行研究或與網路應用程式互動的 AI 代理開發者,無需管理無頭瀏覽器叢集或複雜的 API 整合開銷。
特色亮點
- 代理無關:可與任何能執行 CLI 命令的 LLM 或代理框架搭配使用。
- 零設定:透過 npm 快速安裝,並搭配 Chrome 擴充功能。
- 語意定位器:根據 ARIA 角色、文字或標籤尋找並與元素互動。
- 利用瀏覽器 Cookie:使用現有的瀏覽器登入,查詢 ChatGPT、Gemini 和 Perplexity 等 AI 服務,無需 API 金鑰。
- 支援 Iframe:可切換框架以與嵌套內容互動。
- 網路請求捕捉:自動記錄網路請求,以便過濾與重播 API 呼叫。
這是一個真正能讓 AI 代理像人類一樣與網頁互動的工具——無需複雜設定,也無需 API 金鑰。— @handle
相關
- 專案
- 專案
- 專案
- 專案
- 專案