Hermes 浏览器自动化大换血:一个 browser_exec 顶掉 12 个工具,Token 省一半


你让 Hermes 去网页上办一件稍微复杂点的事——登录后台、点开报表、把关键数字抄回来——然后看着它开始漫长的一来一回:截图、看一眼、点一下、再截图、再看一眼。每一步都要消耗 token,一趟多步操作下来,光“看”就烧掉大半预算。这个痛点在 2026 年 8 月有了新解:Hermes 合并了 Browser Use CLI 3.0 模式(PR #81958),把浏览器操作从“截图+点击”的循环,换成了“直接在浏览器里跑 Python 代码”的单一工具,官方基准测试里总 token 消耗直接砍半。

什么是 Browser Use CLI 3.0 模式

Browser Use 是一个开源的浏览器自动化框架,CLI 3.0 允许你写一段 Python 代码,在真实的浏览器(通过 CDP 协议连接)里执行任意操作。Hermes 的这次更新把 browser.backend 配成 browser-use 后,模型看到的不再是 12 个零散的 browser_navigatebrowser_clickbrowser_type 之类的小工具,而是一个 browser_exec 工具——它把你想做的操作写成代码交出去,一次调用完成多步动作。

官方的说法很直接:12 个工具换 1 个工具,靠的是把“动作序列”从模型逐字生成变成“可执行代码”整体生成。动作一多,这个差别就被放大——基准测试跑了 4 组共 204 次,多步网页任务的总 token 消耗下降 48% 到 66%,准确率持平。

怎么开启

config.yamlbrowser: 段加一行:

browser:
  backend: browser-use   # "" = 内置工具;browser-use = Browser Use CLI 3.0 模式

改完后需要重启 Hermes 会话。首次使用前,确保本机装好了 Browser Use CLI:

# 二选一
uv tool install browser-use
pipx install browser-use

# 验证安装
browser-use --doctor

如果本机没有装,Hermes 也会尝试通过 uvx 零安装调用;实在不行会在报错里提示你去装。

在会话里怎么用

开启模式后,browser_exec 只收一个必填参数 code——一段 Python 代码,代码里可以用一组预置的辅助函数(helpers)。它们不需要 import,直接可用:

辅助函数 作用
new_tab(url) 打开新标签页(第一次导航用这个)
goto_url(url) 在当前标签页跳转
wait_for_load() 等页面加载完成
page_info() 返回当前页面状态摘要
js(expr) 执行 JS 表达式并返回值,如 js('document.title')
fill_input(selector, text) 向输入框填入文字
click_at_xy(x, y) 按视口坐标点击
capture_screenshot() 截图并打印路径
cdp('Domain.method', **kwargs) 直接调原始 CDP 协议
ensure_real_tab() 从失效/内部标签页恢复

一段典型的代码长这样:

new_tab("https://example.com/login")
wait_for_load()
fill_input("#username", "demo")
fill_input("#password", "secret")
js("document.querySelector('button[type=submit]').click()")
wait_for_load()
print(page_info())

模型会一次性生成整段代码并交给 browser_exec 执行,而不是逐步截图试探。需要给任务起个稳定名字时,还可以传 session 参数(1-64 位字母、数字、下划线或连字符),例如 browser_exec(code=..., session="r7k2")

和现有浏览器后端怎么配合

这是这次更新最有意思的部分:browser_exec 不是一个孤立的新浏览器,它只是换了一个“司机”,车还是原来的车。CDP 端点的解析走的是和内置工具完全相同的链路——BU_* 环境变量覆盖 → /browser connect 手动指定 → 配置的云服务商。也就是说,本地 Chrome、Nous Portal 云浏览器、Browserbase、Firecrawl 这些后端全都照常工作,你只是换了个驾驶方式。

三个细节值得注意:

  1. 旧的 Browser Use 云配置自动迁移:以前用 cloud_provider: browser-use + BROWSER_USE_API_KEY 的老配置,现在会自动识别为 Browser Use 模式,不需要手动改。
  2. Camofox 用户不受影响:Camofox 是 Firefox 内核、没有 CDP 接口,所以即使你写了 backend: browser-use,Camofox 场景会自动回退到内置工具集,不会悄悄切换。
  3. 终端隔离browser_exec 本质是执行任意 Python 代码,所以凡是不含 terminal 工具集的会话,它在工具定义阶段就会被直接移除——你不用担心低权限会话拿到这个能力。

安全上有什么要注意的

能跑任意 Python 代码的工具,天然是安全审查的重点。browser_exec 保留了内置浏览器的 URL 安全检查:代码里出现的 http(s):// 字面量会先过一遍 browser_navigate 的拦截策略,危险地址直接报错。另外登录墙这类场景,官方建议明确写进代码逻辑里:遇到需要账号密码的页面就停下来问用户,绝不让模型猜凭据。

从我们的测试体验看,这个模式最适合“步骤明确、反复执行”的网页任务——填表、抓数、批量操作;而需要大量视觉判断的场景(比如判断页面长什么样),配合截图仍然有用武之地。想了解 Hermes 浏览器能力的其他玩法,可以看看我们之前写的桌面端预览浏览器指南,或者隐藏技巧合集。如果你还没装 Hermes,安装指南可以帮你五分钟跑起来。