Tự động hóa trình duyệt
Hermes Agent bao gồm bộ công cụ tự động hóa trình duyệt đầy đủ với nhiều tùy chọn phụ trợ:
- Chế độ đám mây của cơ sở trình duyệt thông qua Browserbase dành cho các trình duyệt đám mây được quản lý và công cụ chống bot
- Sử dụng chế độ đám mây trên trình duyệt thông qua Sử dụng trình duyệt làm nhà cung cấp trình duyệt đám mây thay thế
- Chế độ thu thập dữ liệu đám mây thông qua Firecrawl dành cho các trình duyệt đám mây có tính năng thu thập dữ liệu tích hợp
- Chế độ cục bộ Camofox qua Camofox để duyệt web chống phát hiện cục bộ (giả mạo dấu vân tay dựa trên Firefox)
- Chrome cục bộ qua CDP — kết nối các công cụ trình duyệt với phiên bản Chrome của riêng bạn bằng cách sử dụng
/browser connect - Chế độ trình duyệt cục bộ thông qua CLI
trình duyệt tác nhânvà cài đặt Chrome cục bộ
Trong tất cả các chế độ, tác nhân có thể điều hướng các trang web, tương tác với các thành phần trang, điền biểu mẫu và trích xuất thông tin.
Tổng quan
Các trang được trình bày dưới dạng cây khả năng truy cập (ảnh chụp nhanh dựa trên văn bản), khiến chúng trở nên lý tưởng cho các đại lý LLM. Các phần tử tương tác nhận ID giới thiệu (như @e1, @e2) mà tác nhân sử dụng để nhấp và nhập.
Các khả năng chính:
- Thực thi trên đám mây từ nhiều nhà cung cấp — Cơ sở trình duyệt, Sử dụng trình duyệt hoặc Firecrawl — không cần trình duyệt cục bộ
- Tích hợp Chrome cục bộ — đính kèm với Chrome đang chạy của bạn thông qua CDP để duyệt thực tế
- Tàng hình tích hợp — dấu vân tay ngẫu nhiên, giải CAPTCHA, proxy dân dụng (Cơ sở trình duyệt)
- Cách ly phiên — mỗi tác vụ có phiên trình duyệt riêng
- Tự động dọn dẹp — các phiên không hoạt động sẽ bị đóng sau khi hết thời gian chờ
- Phân tích tầm nhìn — ảnh chụp màn hình + phân tích AI để hiểu rõ bằng hình ảnh
Cài đặt
Chế độ đám mây của trình duyệt
Để sử dụng trình duyệt đám mây do Browserbase quản lý, hãy thêm:
# Add to ~/.hermes/.env
BROWSERBASE_API_KEY=***
BROWSERBASE_PROJECT_ID=your-project-id-here
Nhận thông tin xác thực của bạn tại browserbase.com.
Trình duyệt Sử dụng chế độ đám mây
Để sử dụng Trình duyệt Sử dụng làm nhà cung cấp trình duyệt đám mây của bạn, hãy thêm:
# Add to ~/.hermes/.env
BROWSER_USE_API_KEY=***
Nhận khóa API của bạn tại browser-use.com. Sử dụng trình duyệt cung cấp trình duyệt đám mây thông qua API REST của nó. Nếu cả thông tin xác thực về Cơ sở trình duyệt và Sử dụng trình duyệt đều được đặt thì Cơ sở trình duyệt sẽ được ưu tiên.
Chế độ đám mây Firecrawl
To use Firecrawl as your cloud browser provider, add:
# Add to ~/.hermes/.env
FIRECRAWL_API_KEY=fc-***
Get your API key at firecrawl.dev. Then select Firecrawl as your browser provider:
hermes setup tools
# → Browser Automation → Firecrawl
Optional settings:
# Self-hosted Firecrawl instance (default: https://api.firecrawl.dev)
FIRECRAWL_API_URL=http://localhost:3002
# Session TTL in seconds (default: 300)
FIRECRAWL_BROWSER_TTL=600
Camofox local mode
Camofox is a self-hosted Node.js server wrapping Camoufox (a Firefox fork with C++ fingerprint spoofing). It provides local anti-detection browsing without cloud dependencies.
# Install and run
git clone https://github.com/jo-inc/camofox-browser && cd camofox-browser
npm install && npm start # downloads Camoufox (~300MB) on first run
# Or via Docker
docker run -d --network host -e CAMOFOX_PORT=9377 jo-inc/camofox-browser
Then set in ~/.hermes/.env:
CAMOFOX_URL=http://localhost:9377
Or configure via hermes tools → Browser Automation → Camofox.
When CAMOFOX_URL is set, all browser tools automatically route through Camofox instead of Browserbase or agent-browser.
Persistent browser sessions
By default, each Camofox session gets a random identity — cookies and logins don't survive across agent restarts. To enable persistent browser sessions:
# In ~/.hermes/config.yaml
browser:
camofox:
managed_persistence: true
When enabled, Hermes sends a stable profile-scoped identity to Camofox. The Camofox server maps this identity to a persistent browser profile directory, so cookies, logins, and localStorage survive across restarts. Different Hermes profiles get different browser profiles (profile isolation).
The Camofox server must also be configured with CAMOFOX_PROFILE_DIR on the server side for persistence to work.
VNC live view
When Camofox runs in headed mode (with a visible browser window), it exposes a VNC port in its health check response. Hermes automatically discovers this and includes the VNC URL in navigation responses, so the agent can share a link for you to watch the browser live.
Local Chrome via CDP (/browser connect)
Instead of a cloud provider, you can attach Hermes browser tools to your own running Chrome instance via the Chrome DevTools Protocol (CDP). This is useful when you want to see what the agent is doing in real-time, interact with pages that require your own cookies/sessions, or avoid cloud browser costs.
In the CLI, use:
/browser connect # Connect to Chrome at ws://localhost:9222
/browser connect ws://host:port # Connect to a specific CDP endpoint
/browser status # Check current connection
/browser disconnect # Detach and return to cloud/local mode
If Chrome isn't already running with remote debugging, Hermes will attempt to auto-launch it with --remote-debugging-port=9222.
To start Chrome manually with CDP enabled:
# Linux
google-chrome --remote-debugging-port=9222
# macOS
"/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" --remote-debugging-port=9222
When connected via CDP, all browser tools (browser_navigate, browser_click, etc.) operate on your live Chrome instance instead of spinning up a cloud session.
Local browser mode
If you do not set any cloud credentials and don't use /browser connect, Hermes can still use the browser tools through a local Chromium install driven by agent-browser.
Optional Environment Variables
# Residential proxies for better CAPTCHA solving (default: "true")
BROWSERBASE_PROXIES=true
# Advanced stealth with custom Chromium — requires Scale Plan (default: "false")
BROWSERBASE_ADVANCED_STEALTH=false
# Session reconnection after disconnects — requires paid plan (default: "true")
BROWSERBASE_KEEP_ALIVE=true
# Custom session timeout in milliseconds (default: project default)
# Examples: 600000 (10min), 1800000 (30min)
BROWSERBASE_SESSION_TIMEOUT=600000
# Inactivity timeout before auto-cleanup in seconds (default: 120)
BROWSER_INACTIVITY_TIMEOUT=120
Install agent-browser CLI
npm install -g agent-browser
# Or install locally in the repo:
npm install
The browser toolset must be included in your config's toolsets list or enabled via hermes config set toolsets '["hermes-cli", "browser"]'.
Available Tools
browser_navigate
Navigate to a URL. Must be called before any other browser tool. Initializes the Browserbase session.
Navigate to https://github.com/NousResearch
For simple information retrieval, prefer web_search or web_extract — they are faster and cheaper. Use browser tools when you need to interact with a page (click buttons, fill forms, handle dynamic content).
browser_snapshot
Get a text-based snapshot of the current page's accessibility tree. Returns interactive elements with ref IDs like @e1, @e2 for use with browser_click and browser_type.
full=false(default): Compact view showing only interactive elementsfull=true: Complete page content
Snapshots over 8000 characters are automatically summarized by an LLM.
browser_click
Click an element identified by its ref ID from the snapshot.
Click @e5 to press the "Sign In" button
browser_type
Type text into an input field. Clears the field first, then types the new text.
Type "hermes agent" into the search field @e3
browser_scroll
Scroll the page up or down to reveal more content.
Scroll down to see more results
browser_press
Press a keyboard key. Useful for submitting forms or navigation.
Press Enter to submit the form
Supported keys: Enter, Tab, Escape, ArrowDown, ArrowUp, and more.
browser_back
Navigate back to the previous page in browser history.
browser_get_images
List all images on the current page with their URLs and alt text. Useful for finding images to analyze.
browser_vision
Take a screenshot and analyze it with vision AI. Use this when text snapshots don't capture important visual information — especially useful for CAPTCHAs, complex layouts, or visual verification challenges.
The screenshot is saved persistently and the file path is returned alongside the AI analysis. On messaging platforms (Telegram, Discord, Slack, WhatsApp), you can ask the agent to share the screenshot — it will be sent as a native photo attachment via the MEDIA: mechanism.
What does the chart on this page show?
Screenshots are stored in ~/.hermes/cache/screenshots/ and automatically cleaned up after 24 hours.
browser_console
Get browser console output (log/warn/error messages) and uncaught JavaScript exceptions from the current page. Essential for detecting silent JS errors that don't appear in the accessibility tree.
Check the browser console for any JavaScript errors
Use clear=True to clear the console after reading, so subsequent calls only show new messages.
Practical Examples
Filling Out a Web Form
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
Researching Dynamic Content
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
Session Recording
Automatically record browser sessions as WebM video files:
browser:
record_sessions: true # default: false
When enabled, recording starts automatically on the first browser_navigate and saves to ~/.hermes/browser_recordings/ when the session closes. Works in both local and cloud (Browserbase) modes. Recordings older than 72 hours are automatically cleaned up.
Stealth Features
Browserbase provides automatic stealth capabilities:
| Feature | Default | Notes |
|---|---|---|
| Basic Stealth | Always on | Random fingerprints, viewport randomization, CAPTCHA solving |
| Residential Proxies | On | Routes through residential IPs for better access |
| Advanced Stealth | Off | Custom Chromium build, requires Scale Plan |
| Keep Alive | On | Session reconnection after network hiccups |
If paid features aren't available on your plan, Hermes automatically falls back — first disabling keepAlive, then proxies — so browsing still works on free plans.
Session Management
- Each task gets an isolated browser session via Browserbase
- Sessions are automatically cleaned up after inactivity (default: 2 minutes)
- A background thread checks every 30 seconds for stale sessions
- Emergency cleanup runs on process exit to prevent orphaned sessions
- Sessions are released via the Browserbase API (
REQUEST_RELEASEstatus)
Limitations
- Text-based interaction — relies on accessibility tree, not pixel coordinates
- Snapshot size — large pages may be truncated or LLM-summarized at 8000 characters
- Session timeout — cloud sessions expire based on your provider's plan settings
- Cost — cloud sessions consume provider credits; sessions are automatically cleaned up when the conversation ends or after inactivity. Use
/browser connectfor free local browsing. - No file downloads — cannot download files from the browser