Hermes Agent 浏览器自动化:让 AI 帮你操作网页

Hermes Agent 浏览器自动化:让 AI 帮你操作网页

一个开源的 AI Agent,能直接打开浏览器、点按钮、填表单、过验证码。支持云端和本地多种浏览器后端。

一、Hermes Agent 是什么

Hermes AgentNous Research 开源的 AI Agent 框架(MIT 许可证)。它不只是一个聊天机器人——它能调用工具、执行终端命令、操作浏览器、定时任务,还能接入 Telegram、Discord、Slack 等消息平台。

本文重点介绍它的浏览器自动化能力。

项目地址:https://github.com/NousResearch/hermes-agent
文档:https://hermes-agent.nousresearch.com/docs/user-guide/features/browser

二、浏览器自动化能做什么

Hermes Agent 的浏览器工具让 AI 像人一样操作网页:

关键设计:页面被表示为无障碍树(Accessibility Tree)的文本快照,每个可交互元素会被分配一个引用 ID(如 @e1@e2),Agent 通过这些 ID 来定位和操作元素。这种方式比像素坐标更稳定,也更适合 LLM 理解。

三、六种浏览器后端

这是 Hermes 浏览器自动化最灵活的地方——你可以根据场景选择不同的后端:

后端 类型 特点 适用场景
Browserbase 云端 随机指纹、验证码解决、住宅代理 需要反检测的自动化
Browser Use 云端 REST API 驱动 替代 Browserbase 的云端方案
Firecrawl 云端 内置爬虫能力 网页抓取为主
Camofox 本地 Firefox 内核,C++ 级指纹伪造 本地反检测,无云端依赖
本地 Chrome (CDP) 本地 连接你自己的 Chrome 需要用自己的 Cookie/登录态
agent-browser 本地 本地 Chromium 无需任何配置的兜底方案

四、安装 Hermes Agent

一键安装

# Linux / macOS / WSL2
curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash
source ~/.bashrc  # 或 source ~/.zshrc

初始配置

# 交互式设置向导
hermes setup

# 或者单独配置模型
hermes model

Hermes 需要一个 LLM 后端(至少 64K 上下文窗口)。支持 Anthropic Claude、OpenAI、Nous Portal、OpenRouter、Ollama 等。

启用浏览器工具

确保浏览器工具集已启用:

hermes config set toolsets '["hermes-cli", "browser"]'

或者通过交互式配置:

hermes tools
# → 选择 Browser Automation

五、配置浏览器后端

方案一:Browserbase 云端(最省心)

注册 browserbase.com 获取 API Key,然后:

# 写入 ~/.hermes/.env
echo 'BROWSERBASE_API_KEY=your-api-key' >> ~/.hermes/.env
echo 'BROWSERBASE_PROJECT_ID=your-project-id' >> ~/.hermes/.env

Browserbase 自带反检测能力:随机指纹、住宅代理、验证码自动解决。

方案二:Camofox 本地反检测(无云端依赖)

Camofox 是基于 Camoufox(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 使用 Camofox:

echo 'CAMOFOX_URL=http://localhost:9377' >> ~/.hermes/.env

设置后,所有浏览器工具会自动通过 Camofox 路由。

持久化会话(保持登录状态)

默认每次会话都是全新身份。如果你需要保持登录状态:

# ~/.hermes/config.yaml
browser:
  camofox:
    managed_persistence: true

重启 Hermes 后生效。Hermes 会为每个 Profile 生成一个固定的 userId 发送给 Camofox,让服务端复用同一个 Firefox 配置文件。

方案三:连接本地 Chrome(用自己的登录态)

不需要任何云服务,直接连接你正在运行的 Chrome:

# 先启动带调试端口的 Chrome(需要独立的 user-data-dir)
# macOS
"/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" \
  --remote-debugging-port=9222 \
  --user-data-dir="$HOME/.hermes/chrome-debug" \
  --no-first-run \
  --no-default-browser-check &

# Linux
google-chrome \
  --remote-debugging-port=9222 \
  --user-data-dir=$HOME/.hermes/chrome-debug \
  --no-first-run \
  --no-default-browser-check &

然后在 Hermes CLI 中连接:

hermes
# 进入聊天后
/browser connect
# 或指定地址
/browser connect ws://localhost:9222

连接后,所有浏览器工具都会操作你的这个 Chrome 实例。你可以实时看到 Agent 在做什么。

注意:/browser connect 只能在终端 CLI 中使用,不能在 Telegram/Discord 等消息平台中使用。

方案四:Firecrawl(侧重爬虫)

echo 'FIRECRAWL_API_KEY=fc-your-key' >> ~/.hermes/.env

然后选择 Firecrawl 作为浏览器后端:

hermes setup tools
# → Browser Automation → Firecrawl

六、可用的浏览器工具

工具 功能
browser_navigate 导航到 URL,必须最先调用
browser_snapshot 获取页面无障碍树快照,返回可交互元素的引用 ID
browser_click 点击指定引用 ID 的元素
browser_type 在输入框中输入文字(先清空再输入)
browser_scroll 上下滚动页面
browser_press 按键盘按键(Enter、Tab、Escape 等)
browser_back 浏览器后退
browser_get_images 列出页面上所有图片的 URL 和 alt 文字
browser_vision 截图并用视觉 AI 分析(适合验证码、复杂布局)
browser_console 读取浏览器控制台日志
browser_cdp 直接发送 CDP 命令(需要 CDP 连接)

工作流程

Agent 操作网页的典型流程:

1. browser_navigate("https://example.com")     → 打开页面
2. browser_snapshot()                           → 获取页面结构,得到元素引用 ID
3. browser_click(ref="@e5")                     → 点击某个按钮
4. browser_type(ref="@e3", text="hello")        → 在输入框输入文字
5. browser_press(key="Enter")                   → 按回车提交
6. browser_snapshot()                           → 确认结果

七、实际使用示例

示例一:填写网页表单

直接用自然语言告诉 Agent:

你:帮我在 example.com 注册一个账号,邮箱用 test@example.com

Agent 的执行流程:
1. browser_navigate("https://example.com/signup")
2. browser_snapshot()  → 看到表单字段和引用 ID
3. browser_type(ref="@e3", text="test@example.com")
4. browser_type(ref="@e5", text="MyPassword123")
5. browser_click(ref="@e8")  → 点击"注册"按钮
6. browser_snapshot()  → 确认注册成功
你:现在 GitHub 上最热门的项目有哪些?

Agent 的执行流程:
1. browser_navigate("https://github.com/trending")
2. browser_snapshot(full=true)  → 读取完整页面内容
3. 整理并返回结果

示例三:处理需要视觉理解的页面

你:这个页面上的图表显示了什么趋势?

Agent 的执行流程:
1. browser_navigate("https://example.com/dashboard")
2. browser_vision()  → 截图 + AI 视觉分析
3. 返回图表内容的文字描述

示例四:用 CDP 做高级操作

连接本地 Chrome 后,可以用 CDP 做更底层的操作:

# 获取所有标签页
browser_cdp(method="Target.getTargets")

# 在指定标签页执行 JavaScript
browser_cdp(
    method="Runtime.evaluate",
    params={"expression": "document.title", "returnByValue": True},
    target_id="<tabId>"
)

# 获取所有 Cookie
browser_cdp(method="Network.getAllCookies")

# 处理 JavaScript 弹窗
browser_cdp(
    method="Page.handleJavaScriptDialog",
    params={"accept": True},
    target_id="<tabId>"
)

八、会话录制

可以把浏览器操作过程录制为 WebM 视频:

# ~/.hermes/config.yaml
browser:
  record_sessions: true

录制文件保存在 ~/.hermes/browser_recordings/,72 小时后自动清理。本地和云端模式都支持。

九、反检测能力

不同后端的反检测能力对比:

能力 Browserbase Camofox 本地 Chrome agent-browser
随机指纹 ✅ 自动 ✅ C++ 级
验证码解决 ✅ 内置
住宅代理 ✅ 内置 ❌ 需自配
高级隐身 ✅ 需 Scale Plan ✅ Firefox 内核
会话持久化 ✅ 可配置 ✅ 用自己的 Chrome
免费 ❌ 有免费额度

如果你的自动化任务需要绕过反爬虫检测,Browserbase(云端)或 Camofox(本地)是首选。

十、注意事项和局限

十一、跟其他方案的对比

维度 Hermes Agent Playwright/Puppeteer Browser Use Browserbase
定位 AI Agent 的浏览器工具 编程式浏览器自动化 AI 浏览器 Agent 云端浏览器基础设施
使用方式 自然语言指令 写代码 API 调用 API 调用
需要编程
多后端支持 ✅ 6 种 ❌ 单一 ❌ 单一 ❌ 单一
反检测 ✅ 通过后端 ❌ 需自己处理 ⚠️ 有限 ✅ 内置
集成消息平台 ✅ Telegram/Discord/Slack 等

Hermes Agent 的独特之处:你不需要写代码,用自然语言就能驱动浏览器操作,而且可以灵活切换多种浏览器后端。它把 Browserbase、Browser Use、Firecrawl、Camofox 这些工具统一到了一个 Agent 接口下。

十二、快速开始清单

# 1. 安装
curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash
source ~/.bashrc

# 2. 配置模型(选一个 LLM 后端)
hermes model

# 3. 启用浏览器工具
hermes tools  # → 选择 Browser Automation

# 4. 配置浏览器后端(选一种)
# 方案 A:Browserbase 云端
echo 'BROWSERBASE_API_KEY=xxx' >> ~/.hermes/.env
echo 'BROWSERBASE_PROJECT_ID=xxx' >> ~/.hermes/.env

# 方案 B:Camofox 本地
docker run -d --network host -e CAMOFOX_PORT=9377 jo-inc/camofox-browser
echo 'CAMOFOX_URL=http://localhost:9377' >> ~/.hermes/.env

# 方案 C:本地 Chrome(不需要额外配置)

# 5. 开始使用
hermes
# 如果用本地 Chrome:/browser connect
# 然后直接用自然语言指挥 Agent 操作网页

最后更新:2026-04-21