浏览器自动化
Hermes Agent 提供完整的浏览器自动化工具集,支持多种后端选项,让你能够自动化网页交互、提取信息和执行各种浏览器操作。
Hermes 的浏览器自动化支持多种运行模式:
- Browserbase 云端模式 - 通过 Browserbase 使用托管云浏览器和反爬虫工具
- Browser Use 云端模式 - 通过 Browser Use 作为替代云浏览器提供商
- Firecrawl 云端模式 - 通过 Firecrawl 使用内置爬虫功能的云浏览器
- Camofox 本地模式 - 通过 Camofox 实现本地反检测浏览(基于 Firefox 的指纹伪装)
- 本地 Chromium CDP 模式 - 使用
/browser connect连接到你自己的 Chrome、Brave、Chromium 或 Edge 实例 - 本地浏览器模式 - 通过
agent-browserCLI 和本地 Chromium 安装
在所有模式下,Agent 都可以导航网站、与页面元素交互、填写表单和提取信息。
- 多提供商云端执行 - Browserbase、Browser Use 或 Firecrawl - 无需本地浏览器
- 本地 Chromium 集成 - 通过 CDP 连接到你正在运行的 Chrome、Brave、Chromium 或 Edge 浏览器
- 内置隐身功能 - 随机指纹、验证码解决、住宅代理(Browserbase)
- 会话隔离 - 每个任务获得独立的浏览器会话
- 自动清理 - 不活跃会话在超时后自动关闭
- 视觉分析 - 截图 + AI 分析实现视觉理解
页面以可访问性树(基于文本的快照)形式呈现,非常适合 LLM Agent。交互元素获得引用 ID(如 @e1、@e2),Agent 使用这些 ID 进行点击和输入操作。
Nous Portal 订阅用户
Section titled “Nous Portal 订阅用户”如果你拥有付费的 Nous Portal 订阅,可以通过 Tool Gateway 使用浏览器自动化,无需单独的 API 密钥。新安装用户可以运行 hermes setup --portal 登录并一次性启用所有网关工具;现有安装可以通过 hermes model 或 hermes tools 选择 Nous Subscription 作为浏览器提供商。
Browserbase 云端模式
Section titled “Browserbase 云端模式”要使用 Browserbase 托管的云浏览器,添加以下配置:
# 添加到 ~/.hermes/.envBROWSERBASE_API_KEY=***BROWSERBASE_PROJECT_ID=your-project-id-here在 browserbase.com 获取你的凭证。
Browser Use 云端模式
Section titled “Browser Use 云端模式”要使用 Browser Use 作为云浏览器提供商,添加:
# 添加到 ~/.hermes/.envBROWSER_USE_API_KEY=***在 browser-use.com 获取你的 API 密钥。如果同时设置了 Browserbase 和 Browser Use 的凭证,Browserbase 优先。
Firecrawl 云端模式
Section titled “Firecrawl 云端模式”要使用 Firecrawl 作为云浏览器提供商,添加:
# 添加到 ~/.hermes/.envFIRECRAWL_API_KEY=fc-***在 firecrawl.dev 获取你的 API 密钥。然后选择 Firecrawl 作为浏览器提供商:
hermes setup tools# → Browser Automation → Firecrawl可选设置:
# 自托管 Firecrawl 实例(默认:https://api.firecrawl.dev)FIRECRAWL_API_URL=http://localhost:3002
# 会话 TTL(秒)(默认:300)FIRECRAWL_BROWSER_TTL=600混合路由:云端处理公网 URL,本地处理局域网/本地主机
Section titled “混合路由:云端处理公网 URL,本地处理局域网/本地主机”当配置了云提供商时,Hermes 会自动为解析到私有/回环/局域网地址的 URL 启动本地 Chromium 侧车:
- 私有地址:
localhost、127.0.0.1、192.168.x.x、10.x.x.x、172.16-31.x.x - 本地域名:
*.local、*.lan、*.internal - IPv6 回环:
::1 - 链路本地:
169.254.x.x
公网 URL 继续使用云提供商。这解决了”我在本地开发但使用 Browserbase”的常见工作流程。
此功能默认启用。要禁用它:
browser: cloud_provider: browserbase auto_local_for_private_urls: falseCamofox 本地模式
Section titled “Camofox 本地模式”Camofox 是一个自托管的 Node.js 服务器,包装了 Camoufox(一个带有 C++ 指纹伪装的 Firefox 分支)。
# 首先克隆 Camofox 浏览器服务器git clone https://github.com/jo-inc/camofox-browsercd camofox-browser
# 使用 Docker 构建并启动(自动检测架构)make up
# 停止并移除默认容器make down
# 强制重新构建make reset然后在 ~/.hermes/.env 中设置:
CAMOFOX_URL=http://localhost:9377或通过 hermes tools → Browser Automation → Camofox 进行配置。
持久化浏览器会话
Section titled “持久化浏览器会话”默认情况下,每个 Camofox 会话获得随机身份 - Cookie 和登录状态不会在 Agent 重启后保留。要启用持久化浏览器会话,在 ~/.hermes/config.yaml 中添加:
browser: camofox: managed_persistence: true注意:配置路径必须是 browser.camofox.managed_persistence,而不是顶层。
本地 Chromium CDP 连接 (/browser connect)
Section titled “本地 Chromium CDP 连接 (/browser connect)”你可以通过 Chrome DevTools Protocol (CDP) 将 Hermes 浏览器工具连接到你自己的 Chrome、Brave、Chromium 或 Edge 实例。
注意:/browser connect 是交互式 CLI 斜杠命令 - 不在网关中调度。在 WebUI、Telegram、Discord 或其他网关聊天中运行它时,消息将作为纯文本发送给 Agent,命令不会执行。从终端启动 Hermes(hermes 或 hermes chat)并在那里执行 /browser connect。
在 CLI 中使用:
/browser connect # 自动启动/连接到本地的 Chromium 浏览器 http://127.0.0.1:9222/browser connect ws://host:port # 连接到特定的 CDP 端点/browser status # 检查当前连接/browser disconnect # 断开连接并返回云端/本地模式如果浏览器尚未以远程调试模式运行,Hermes 会尝试自动启动支持的 Chromium 浏览器并启用 --remote-debugging-port=9222。
手动启动 Chromium 浏览器:
# Linux - Bravebrave-browser \ --remote-debugging-port=9222 \ --user-data-dir=$HOME/.hermes/chrome-debug \ --no-first-run \ --no-default-browser-check &
# Linux - Google Chromegoogle-chrome \ --remote-debugging-port=9222 \ --user-data-dir=$HOME/.hermes/chrome-debug \ --no-first-run \ --no-default-browser-check &
# macOS - Brave"/Applications/Brave Browser.app/Contents/MacOS/Brave Browser" \ --remote-debugging-port=9222 \ --user-data-dir="$HOME/.hermes/chrome-debug" \ --no-first-run \ --no-default-browser-check &基本网页导航
Section titled “基本网页导航”导航到 https://github.com/NousResearch/hermes-agent 并总结页面内容。表单填写和交互
Section titled “表单填写和交互”打开 https://example.com/contact,填写联系表单,姓名填"张三",邮箱填"[email protected]",消息填"你好,我对你们的产品感兴趣"。访问 https://news.ycombinator.com,提取前 10 条新闻的标题和链接。截图和视觉分析
Section titled “截图和视觉分析”导航到 https://example.com/dashboard,截图并分析页面布局。多步骤工作流
Section titled “多步骤工作流”1. 访问 https://github.com/login2. 点击登录按钮3. 输入用户名和密码4. 导航到我的仓库页面5. 创建一个新 issue,标题为"功能请求:添加浏览器自动化文档"选择合适的后端
Section titled “选择合适的后端”| 场景 | 推荐后端 | 原因 |
|---|---|---|
| 快速原型开发 | Browserbase | 无需配置,即开即用 |
| 反检测需求 | Camofox | 内置指纹伪装 |
| 本地开发测试 | CDP 连接 | 使用你的真实浏览器会话 |
| 大规模爬取 | Firecrawl | 内置爬虫功能 |
| 敏感操作 | 本地 Chromium | 数据不离开本地机器 |
- 不要在公共仓库中提交 API 密钥 - 始终使用
~/.hermes/.env文件 - 使用专用浏览器配置文件 - 为自动化任务创建独立的浏览器用户数据目录
- 限制云提供商访问 - 为 Browserbase 等项目使用受限的 API 密钥
- 注意混合路由 - 了解哪些 URL 走云端,哪些走本地
- 合理设置超时 - 根据目标网站的响应速度调整
FIRECRAWL_BROWSER_TTL - 使用会话持久化 - 对于需要登录的任务,启用
managed_persistence - 关闭不必要的标签页 - 减少浏览器内存占用
- 批量操作 - 将多个小任务合并为一个浏览器会话
| 问题 | 可能原因 | 解决方案 |
|---|---|---|
| 无法连接到本地浏览器 | 调试端口未开启 | 确保使用 --remote-debugging-port=9222 启动 |
| 云浏览器访问本地 URL 失败 | SSRF 保护 | 启用 auto_local_for_private_urls 或使用本地模式 |
| Camofox 会话不持久 | 配置路径错误 | 确保使用 browser.camofox.managed_persistence |
| 验证码无法通过 | 指纹检测 | 切换到 Camofox 或使用 Browserbase 的反爬虫功能 |
环境特定配置
Section titled “环境特定配置”WSL2 用户:当 Hermes 在 WSL2 中运行而浏览器在 Windows 上时,使用 MCP 桥接:
hermes mcp add chrome-devtools-win --command cmd.exe --args /c npx -y chrome-devtools-mcp@latest --autoConnect --no-usage-statisticsDocker 用户:确保容器可以访问主机的调试端口:
docker run --network host ...远程服务器:使用 SSH 端口转发访问本地浏览器:
ssh -N -L 9222:127.0.0.1:9222 user@remote