瀏覽器自動化
Hermes Agent 內置了完整的瀏覽器自動化工具集,支持多種後端選項:
- Browserbase 雲模式 通過 Browserbase 使用託管的雲瀏覽器和反機器人防護工具
- Browser Use 雲模式 通過 Browser Use 作為替代的雲瀏覽器服務提供商
- Firecrawl 雲模式 通過 Firecrawl 使用內置爬取功能的雲瀏覽器
- Camofox 本地模式 通過 Camofox 實現本地反檢測瀏覽(基於 Firefox 的指紋偽裝)
- 本地 Chrome 通過 CDP —— 使用
/browser connect連接您自己的 Chrome 實例 - 本地瀏覽器模式 通過
agent-browserCLI 和本地 Chromium 安裝實現
在所有模式下,該 Agent 均可實現網站導航、頁面元素交互、表單填寫以及信息提取。
概述
頁面以 可訪問性樹(基於文本的快照)形式表示,非常適合 LLM Agent 使用。交互元素會分配引用 ID(如 @e1、@e2),Agent 使用這些 ID 進行點擊和輸入。
主要功能:
- 多提供商雲執行 —— 支持 Browserbase、Browser Use 或 Firecrawl —— 無需本地瀏覽器
- 本地 Chrome 集成 —— 通過 CDP 連接到您正在運行的 Chrome,實現實時瀏覽
- 內置隱身能力 —— 隨機指紋、驗證碼破解、住宅 Agent(Browserbase)
- 會話隔離 —— 每個任務擁有獨立的瀏覽器會話
- 自動清理 —— 會話在超時後自動關閉
- 視覺分析 —— 截圖 + AI 分析,實現視覺理解
設置
Browserbase 雲模式
要使用 Browserbase 管理的雲瀏覽器,請添加:
# 添加到“0”
BROWSERBASE_API_KEY=***
BROWSERBASE_PROJECT_ID=your-project-id-here
在 browserbase.com 獲取您的憑證。
Browser Use 雲模式
要將 Browser Use 作為您的雲瀏覽器服務提供商,請添加:
# 添加到“0”
BROWSER_USE_API_KEY=***
在 browser-use.com 獲取您的 API 密鑰。Browser Use 通過其 REST API 提供雲瀏覽器服務。如果同時設置了 Browserbase 和 Browser Use 的憑證,Browserbase 優先級更高。
Firecrawl 雲模式
要使用 Firecrawl 作為您的雲瀏覽器服務提供商,請添加:
# 添加到“0”
FIRECRAWL_API_KEY=fc-***
在 firecrawl.dev 獲取您的 API 密鑰。然後選擇 Firecrawl 作為您的瀏覽器提供商:
hermes setup tools
# → 瀏覽器自動化 → Firecrawl
可選設置:
# 自託管“1”實例(默認值:“0”)
FIRECRAWL_API_URL=http://localhost:3002
# Session TTL 以秒為單位(默認值:300)
FIRECRAWL_BROWSER_TTL=600
Camofox 本地模式
Camofox 是一個自託管的 Node.js 服務器,封裝了 Camoufox(一個帶有 C++ 指紋偽裝功能的 Firefox 分支)。它提供無需雲依賴的本地反檢測瀏覽。
# 安裝並運行
git clone https://github.com/jo-inc/camofox-browser && cd camofox-browser
npm install && npm start # 首次運行時下載 Camoufox (~300MB)
# 或通過 Docker
docker run -d --network host -e CAMOFOX_PORT=9377 jo-inc/camofox-browser
然後在 ~/.hermes/.env 中設置:
CAMOFOX_URL=http://localhost:9377
或通過 hermes tools → 瀏覽器自動化 → Camofox 進行配置。
當設置了 CAMOFOX_URL 後,所有瀏覽器工具將自動通過 Camofox 路由,而不是 Browserbase 或 agent-browser。
持久化瀏覽器會話
默認情況下,每個 Camofox 會話都會獲得一個隨機身份 —— Cookie 和登錄信息在 Agent 重啟後不會保留。要啟用持久化瀏覽器會話:
# 在“0”中
browser:
camofox:
managed_persistence: true
啟用後,Hermes 會向 Camofox 發送一個穩定的、作用域於配置文件的身份標識。Camofox 服務器將此標識映射到一個持久化的瀏覽器配置文件目錄,因此 Cookie、登錄信息和 localStorage 可在重啟後保留。不同的 Hermes 配置文件將獲得不同的瀏覽器配置文件(配置文件隔離)。
Camofox 服務器端也必須配置 CAMOFOX_PROFILE_DIR 才能實現持久化。
VNC 實時視圖
當 Camofox 以有頭模式運行(顯示瀏覽器窗口)時,其健康檢查響應中會暴露一個 VNC 端口。Hermes 會自動發現該端口,並將 VNC URL 包含在導航響應中,使 Agent 可以分享鏈接供您實時觀看瀏覽器操作。
本地 Chrome 通過 CDP(/browser connect)
您可以不使用雲服務提供商,而是通過 Chrome DevTools Protocol (CDP) 將 Hermes 瀏覽器工具連接到您自己的運行中的 Chrome 實例。這在您希望實時查看 Agent 操作、需要使用自己的 Cookie/會話的頁面,或避免雲瀏覽器成本時非常有用。
在 CLI 中使用:
/browser connect # 通過 ws://localhost:9222 連接到 Chrome
/browser connect ws://host:port # 連接到特定的 CDP 端點
/browser status # 檢查當前連接
/browser disconnect # 分離並返回cloud/local模式
如果 Chrome 未以遠程調試模式運行,Hermes 將嘗試自動啟動它並使用 --remote-debugging-port=9222。
手動啟動 Chrome 並啟用 CDP:
# Linux
google-chrome --remote-debugging-port=9222
# macOS
"/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" --remote-debugging-port=9222
通過 CDP 連接後,所有瀏覽器工具(如 browser_navigate、browser_click 等)將操作您實際的 Chrome 實例,而不是啟動雲會話。
本地瀏覽器模式
如果您 未 設置任何雲憑證,也未使用 /browser connect,Hermes 仍可通過本地 Chromium 安裝驅動的 agent-browser 使用瀏覽器工具。
可選環境變量
# 住宅代理可更好地解決“1”問題(默認值:“0”)
BROWSERBASE_PROXIES=true
# 使用自定義 Chromium 進行高級隱形 - 需要規模計劃(默認值:“0”)
BROWSERBASE_ADVANCED_STEALTH=false
# Session 斷開連接後重新連接 — 需要付費計劃(默認值:"true")
BROWSERBASE_KEEP_ALIVE=true
# 自定義session超時以毫秒為單位(默認:項目默認)
# 示例:600000(10 分鐘)、1800000(30 分鐘)
BROWSERBASE_SESSION_TIMEOUT=600000
# 自動清理之前的不活動超時(以秒為單位)(默認值:120)
BROWSER_INACTIVITY_TIMEOUT=120
安裝 agent-browser CLI
npm install -g agent-browser
# 或者在存儲庫中本地安裝:
npm install
browser 工具集必須包含在您配置的 toolsets 列表中,或通過 hermes config set toolsets '["hermes-cli", "browser"]' 啟用。
可用工具
browser_navigate
導航至指定 URL。必須在調用其他任何瀏覽器工具之前調用。用於初始化 Browserbase 會話。
Navigate to https://github.com/NousResearch
對於簡單的信息檢索,優先使用 web_search 或 web_extract —— 它們速度更快且成本更低。當需要與頁面交互(如點擊按鈕、填寫表單、處理動態內容)時,才使用瀏覽器工具。
browser_snapshot
獲取當前頁面的基於文本的可訪問性樹快照。返回可交互元素及其引用 ID(如 @e1、@e2),可用於 browser_click 和 browser_type。
full=false(默認):緊湊視圖,僅顯示可交互元素full=true:完整頁面內容
超過 8000 個字符的快照將由 LLM 自動摘要。
browser_click
通過快照中提供的引用 ID 點擊指定元素。
Click @e5 to press the "Sign In" button
browser_type
在輸入框中輸入文本。先清空字段,再輸入新文本。
Type "hermes agent" into the search field @e3
browser_scroll
上下滾動頁面以顯示更多內容。
Scroll down to see more results
browser_press
按下鍵盤上的一個鍵。適用於提交表單或導航操作。
Press Enter to submit the form
支持的鍵:Enter、Tab、Escape、ArrowDown、ArrowUp 等。
browser_back
返回瀏覽器歷史記錄中的上一頁。
browser_get_images
列出當前頁面上的所有圖片,包含其 URL 和替代文本。適用於查找需分析的圖片。
browser_vision
截取屏幕快照並使用視覺 AI 進行分析。當文本快照無法捕捉重要視覺信息時使用——尤其適用於驗證碼(CAPTCHA)、複雜佈局或視覺驗證挑戰。
快照將被持久保存,返回文件路徑及 AI 分析結果。在消息平臺(Telegram、Discord、Slack、WhatsApp)中,可要求 Agent 分享快照——它將通過 MEDIA: 機制作為原生圖片附件發送。
What does the chart on this page show?
快照存儲在 ~/.hermes/cache/screenshots/ 目錄下,並在 24 小時後自動清理。
browser_console
獲取當前頁面的瀏覽器控制檯輸出(日誌/警告/錯誤信息)以及未捕獲的 JavaScript 異常。對於檢測未在可訪問性樹中顯示的靜默 JS 錯誤至關重要。
Check the browser console for any JavaScript errors
使用 clear=True 可在讀取後清空控制檯,使後續調用僅顯示新消息。
實用示例
填寫網頁表單
User: Sign up for an account on example.com with my email john@example.com
Agent workflow:
1. browser_navigate("https://example.com/signup")
2. browser_snapshot() → sees form fields with refs
3. browser_type(ref="@e3", text="john@example.com")
4. browser_type(ref="@e5", text="SecurePass123")
5. browser_click(ref="@e8") → clicks "Create Account"
6. browser_snapshot() → confirms success
研究動態內容
User: What are the top trending repos on GitHub right now?
Agent workflow:
1. browser_navigate("https://github.com/trending")
2. browser_snapshot(full=true) → reads trending repo list
3. Returns formatted results
會話錄製
自動將瀏覽器會話錄製為 WebM 視頻文件:
browser:
record_sessions: true # 默認值:假
啟用後,錄製會在首次調用 browser_navigate 時自動開始,並在會話結束時保存至 ~/.hermes/browser_recordings/。支持本地和雲(Browserbase)模式。超過 72 小時的錄製文件將自動清理。
隱蔽功能
Browserbase 提供自動隱蔽能力:
| 功能 | 默認狀態 | 說明 |
|---|---|---|
| 基礎隱蔽 | 始終開啟 | 隨機指紋、視口隨機化、驗證碼自動求解 |
| 住宅 Agent | 開啟 | 通過住宅 IP 路由,提升訪問成功率 |
| 高級隱蔽 | 關閉 | 使用自定義 Chromium 構建,需 Scale 計劃 |
| 保持連接 | 開啟 | 網絡中斷後自動重連 |
如果您的計劃未包含付費功能,Hermes 會自動降級處理——首先禁用 keepAlive,然後禁用 Agent,確保免費計劃下仍可正常瀏覽。
會話管理
- 每個任務通過 Browserbase 獲得一個隔離的瀏覽器會話
- 會話在不活動後自動清理(默認:2 分鐘)
- 後臺線程每 30 秒檢查一次過期會話
- 進程退出時執行緊急清理,防止會話孤兒
- 會話通過 Browserbase API 釋放(
REQUEST_RELEASE狀態)
限制
- 基於文本的交互 —— 依賴可訪問性樹,而非像素座標
- 快照大小 —— 大型頁面可能在 8000 字符處被截斷或由 LLM 摘要
- 會話超時 —— 雲會話根據您的服務提供商計劃設置過期
- 成本 —— 雲會話消耗服務提供商積分;會話在對話結束或不活動後自動清理。如需免費本地瀏覽,請使用
/browser connect - 無法下載文件 —— 無法從瀏覽器下載文件