Hermes Agent

How-To Guide

How to Set Up Hermes Agent Browser Automation

Configure Hermes browser automation with Nous Tool Gateway, Browserbase, Browser Use, Firecrawl, Camofox, local Chromium, or Chrome/Brave CDP, then verify it safely.

Quick answer

Run hermes setup tools, enable Browser Automation, and choose Nous Subscription, Browserbase, Browser Use, Firecrawl, Camofox, or local browser mode. For your own Chrome or Brave session, start Hermes in the terminal and run /browser connect; it does not work as a gateway slash command. Test one read-only page with a title check, screenshot, and console check before adding login state or side effects.

Hermes Agent browser automation supports cloud, self-hosted, and local backends. Choose the backend by network and trust boundary: cloud execution for public sites, Camofox for self-hosted anti-detection and optional profile persistence, local Chromium for zero-key operation, or /browser connect when you want Hermes to act inside a dedicated Chrome, Brave, Chromium, or Edge session you can watch. The page is represented as an accessibility tree, while screenshots, vision, and console output supply evidence when the DOM is not enough.

Deploy Hermes faster with FlyHermes

Managed cloud · API costs included · Skill library · Cancel anytime

Before you start:

  • Hermes Agent installed and passing hermes doctor
  • The Browser Automation toolset enabled in the active profile; start a new session after changing toolsets
  • Provider credentials only for the cloud backend you choose, or a paid Nous Portal subscription for Tool Gateway access
  • Local agent-browser and Chromium available for local mode or hybrid private-URL routing
  • A dedicated browser profile and explicit approval boundary for authenticated or side-effecting workflows

Steps

  1. 1

    Choose browser only when interaction matters

    Use web_search, web_extract, RSS, an API, or MCP for simple retrieval. Use browser automation when the answer depends on rendered JavaScript, cookies, login state, buttons, forms, dialogs, responsive layout, screenshots, or console errors.

  2. 2

    Enable Browser Automation

    Run hermes setup tools or hermes tools, select Browser Automation, and choose the backend. Paid Nous Portal subscribers can select Nous Subscription and use browser tools through the Tool Gateway without separate browser-provider keys.

  3. 3

    Configure the selected cloud or self-hosted backend

    For Browserbase set BROWSERBASE_API_KEY plus BROWSERBASE_PROJECT_ID; for Browser Use set BROWSER_USE_API_KEY; for Firecrawl set FIRECRAWL_API_KEY; for Camofox set CAMOFOX_URL. Keep secrets in the active profile's protected environment, never in prompts or public files.

  4. 4

    Connect your own Chrome or Brave browser when needed

    Start an interactive Hermes CLI session and run /browser connect. Use /browser status to verify the CDP attachment and /browser disconnect to detach. This command is CLI-only: Web UI, Telegram, Discord, and other gateway chats treat it as ordinary text.

  5. 5

    Run a read-only smoke test

    Ask Hermes to open a harmless public page, report the title and final URL, take a screenshot, and list console errors. Confirm navigation, accessibility-tree element references, vision, and console output before testing authentication or forms.

  6. 6

    Verify hybrid local and cloud routing

    If a cloud provider is configured, test a public URL and http://localhost:<port>. Hermes should keep the public URL in the cloud and route localhost/LAN targets to a local Chromium sidecar. Do not weaken private-address protections just to make a cloud browser reach your LAN.

  7. 7

    Add persistence only when the workflow needs it

    For Camofox, set browser.camofox.managed_persistence: true at the correct nested config path, restart Hermes, log in manually, end the task, and confirm a new task remains signed in. Persistence works only if the Camofox server honors stable user-ID profiles.

  8. 8

    Gate side effects and define success evidence

    Require explicit approval before purchases, submissions, messages, uploads, account changes, or destructive actions. Every production run should report tested URL, viewport, actions, final state, screenshot path, console errors, and blocker.

  9. 9

    Schedule only a stable, idempotent check

    After manual verification, pair the browser workflow with Hermes cron, a pinned profile/provider/model/workdir, and an explicit delivery target. Alert on meaningful failures or state changes instead of every successful page load.

Pro Tips

  • 💡Browserbase credentials take priority if both Browserbase and Browser Use keys are present; explicitly select the intended provider in setup.
  • 💡Use a dedicated --user-data-dir when manually launching Chrome or Brave with remote debugging so an already-running normal browser cannot swallow the debug flags.
  • 💡Hybrid routing is on by default for localhost, loopback, LAN, .local, .lan, and .internal targets; public-to-private redirect tricks remain blocked.
  • 💡The correct Camofox persistence path is browser.camofox.managed_persistence, not a top-level managed_persistence key.
  • 💡Ask for screenshot paths, final URLs, console errors, and explicit no-overflow checks; a click without verified state is not completion.
  • 💡Keep formal deterministic browser tests for CI. Use Hermes for exploratory QA, operational workflows, investigation, and evidence-backed scheduled monitoring.

Troubleshooting

Browser tools are missing after setup

Confirm Browser Automation is enabled for the active profile, then start a new Hermes session. Tool changes do not modify the current session's tool schema.

Cloud browser credentials are rejected

Check only the selected backend's key and project fields without printing them. Run a minimal public navigation before adding proxies, stealth, persistence, or scheduled jobs.

`/browser connect` does nothing in Telegram, Discord, or Web UI

That command is implemented only by the interactive CLI. Open hermes in a terminal, run /browser connect, and verify with /browser status.

Chrome or Brave never opens port 9222

Launch a separate browser process with --remote-debugging-port=9222 and a dedicated --user-data-dir. An existing normal browser process may otherwise open the new window without the debug port.

A cloud browser cannot open localhost

Install the local agent-browser sidecar and keep hybrid routing enabled. Hermes should route private and loopback URLs locally rather than sending them to the cloud provider.

Camofox loses login state after every task

Put managed_persistence: true under browser.camofox, fully restart Hermes, and verify the Camofox server version persists profiles by stable user ID. Hermes cannot force persistence if the server creates a fresh context every time.

A page loads but the workflow still fails

Inspect the final URL, accessibility snapshot, screenshot, native dialog state, and browser_console output. A transport-level page load does not prove the CTA, form, checkout, or app state worked.

A CAPTCHA or protected flow blocks progress

Use only authorized provider capabilities and access. If human interaction is required, capture the state and pause or report the blocker; do not guess success or bypass site rules.

FAQ

Do I need Browserbase for Hermes browser automation?

No. Hermes also supports Browser Use, Firecrawl, self-hosted Camofox, local Chromium through agent-browser, and your own Chrome, Brave, Chromium, or Edge over CDP. Paid Nous Portal subscribers can use Tool Gateway browser access without separate provider keys.

How do I use my logged-in Chrome or Brave session?

Use a dedicated browser profile, start Hermes in the terminal, and run /browser connect. Treat the profile as a credential and approve side effects explicitly.

Why does `/browser connect` not work in Web UI or Telegram?

It is an interactive-CLI slash command, not a gateway command. Gateway chats send that text to the model instead of changing the browser connection.

Can Hermes use a cloud browser and test localhost in one task?

Yes. Hybrid routing sends public URLs to the cloud provider and private or loopback URLs to a local Chromium sidecar by default.

How do I persist Camofox logins?

Set browser.camofox.managed_persistence: true, restart Hermes, and verify the Camofox server honors stable per-user profiles. The setting is profile-scoped and must be nested correctly.

Can Hermes replace Playwright tests?

Hermes can run Playwright-style natural-language QA and investigate failures, but deterministic CI suites should remain formal browser tests. Use Hermes where judgment, visual evidence, and cross-tool follow-up matter.

How do I keep browser automation safe?

Use read-only checks by default, isolate profiles, keep secrets out of prompts, gate side effects, respect access controls, and require URLs, screenshots, console output, or artifacts as proof.

Related setup and cost guides

Related Guides