今年3月,一个轻量级的AI智能体框架——Hermes Agent CN正式开源。几个月来,社区反馈最集中的问题逐渐清晰:“AI智能体究竟该如何操作真实的软件图形界面?”
传统的自动化解决方案,无论是依赖DOM解析、CSS选择器还是屏幕坐标定位,都面临一个根本性挑战:每种软件界面都需要一套独立的解析逻辑。浏览器、桌面应用、3D设计工具、游戏……适配成本高昂,难以规模化。
而人类操作界面时却无需这些复杂设定。我们只需看一眼屏幕,就能直观理解按钮位置并执行点击。
这正是 browser-agent(PyPI包名 gui-agent-vlm)致力于解决的核心问题——让AI通过纯粹的视觉理解能力,像真人一样操作任何图形用户界面(GUI),实现真正的通用自动化。
真实场景测试:AI智能体完整操作小红书
为了验证这套纯视觉方案的可行性,我们设计了一个端到端的真实场景测试:
任务链:打开小红书App → 找到一篇笔记并点赞 → 返回首页 → 搜索指定关键词 → 进入结果页 → 点赞目标内容 → 任务完成
整个流程包含7个连续步骤,全程自动化执行,未嵌入任何硬编码的CSS选择器或坐标。AI完全依赖实时屏幕截图来观察页面状态,理解每个视觉元素的含义,并自主决策下一步操作。
测试采用了Qwen/Qwen3-VL-8B-Thinking模型(通过硅基流动云端API调用)。其核心工作流程是:每次操作前先截图分析,识别界面中可交互元素的位置,再调用相应工具执行点击、输入等操作。
测试过程中,我们直观对比了不同参数规模视觉语言模型(VLM)在GUI自动化任务中的表现差异:
Ollama qwen3-vl:2b(本地部署) — 2B参数模型在处理复杂多步任务时很快遇到瓶颈。其视觉识别精度不足,时常混淆“导航栏按钮”与“搜索框”;更关键的是,在多步操作间出现了严重的“状态遗忘”,会反复执行同一操作,陷入逻辑循环。模型对“页面加载完成”和“操作成功”的视觉反馈也缺乏感知。7步任务链执行到第3步便无法继续。
Qwen/Qwen3-VL-8B-Thinking(云端) — 同样是纯视觉驱动,8B参数模型则顺利完成了整个任务链。关键差异在于:它能准确区分“导航到新页面”与“在当前页进行搜索”是两种不同的操作意图;能够感知点赞后UI的视觉状态变化(如心形图标颜色改变);甚至在遇到意外弹窗(如登录提示)时,也能灵活跳过并继续后续任务。
结论非常明确:在GUI自动化场景下,8B参数规模是处理复杂、多步骤任务的性能门槛。2B或4B模型或许能应对单一页面内的简单点击(例如“点击弹窗确认按钮”),但一旦涉及页面切换、状态判断、多步骤编排等复杂交互,模型参数规模直接决定了方案的实用性与鲁棒性。从实测看,本地部署的8B模型(例如Ollama版本的qwen3-vl:8b)效果接近云端版本,且仅需8GB显存即可运行,降低了部署门槛。
核心架构:定位为智能编排器,而非简单工具
市面上的浏览器自动化工具众多,但browser-agent的定位截然不同——它本质上是一个智能任务编排器,而非单纯的指令执行器。
用户/上层Agent 下达自然语言任务
│
▼
browser-agent (智能编排核心)
ModelRouter 自动选择最优视觉模型
│
├── PlaywrightExecutor (浏览器环境执行器)
│ └── 基于VLM的截图理解 + 精准操作
│
└── ManoPExecutor (桌面GUI执行器)
└── 纯视觉定位(调用Mano-P云端API)
三层可插拔式架构设计
第一层:统一执行器抽象
PlaywrightExecutor专责浏览器操作,ManoPExecutor处理桌面GUI。每个执行器只需实现 observe()(观察界面)和 act()(执行操作)两个核心接口。未来若需支持新的界面类型(如移动端App、游戏),仅需编写对应的新执行器即可无缝集成。
第二层:模型自动路由与调度
框架不绑定任何特定模型。内置的ModelRouter会自动检测并选择当前可用的最优视觉语言模型(VLM),优先级策略如下:
| 优先级 | 模型来源 | 适用场景 |
|---|---|---|
| P0 | 手动指定模型 | 生产环境固定配置,保证稳定性 |
| P1 | Ollama / vLLM / LM Studio 本地VLM | 离线环境、私有化部署、数据安全要求高 |
| P2 | 调用方Agent框架注入的模型实例 | 与Hermes Agent等上层框架深度集成,复用资源 |
这套机制甚至支持上游的Agent框架将自己的模型实例直接注入给browser-agent使用,从而省去单独部署一套VLM推理服务的开销与麻烦。
第三层:自动化监督与纠错机制
框架在每次操作前后会自动截图,并通过感知哈希(pHash)算法进行比对,以验证页面视觉状态是否发生了预期变化。当变化未达到设定阈值时,系统会自动触发重试逻辑,有效避免“点击无效、页面无响应”导致的经典死循环问题,提升了自动化流程的可靠性。
三种灵活的集成调用方式
为适应不同的开发和使用场景,browser-agent提供了三种便捷的集成方式:
1. Python API(面向开发者)
# 1. Python API
from browser_agent import BrowserAgent
agent = BrowserAgent()
result = agent.run("搜索深圳天气")
print(result.text)
2. 命令行接口 (CLI)(面向快速测试与脚本)
# 2. CLI
browser-agent "搜索深圳天气"
browser-agent --no-headless "帮我登录 GitHub" # 启用可视化调试模式
3. MCP Server模式(实现跨框架无缝兼容)
// 3. MCP Server(跨框架兼容)
{
"mcpServers": {
"browser-agent": {
"command": "python",
"args": ["-m", "browser_agent.mcp_server"]
}
}
}
MCP Server模式意味着,无论是Cline、Cursor、Continue,还是您正在使用的任何代码编辑器或IDE——只要其支持Model Context Protocol(MCP)标准,都可以直接、无缝地调用browser-agent的图形界面自动化能力。
正式发布:gui-agent-vlm现已上架PyPI
现在,您可以通过简单的命令开始体验纯视觉AI自动化:
pip install gui-agent-vlm
playwright install chromium
- 测试完备:包含29个单元测试与3个模拟端到端场景测试,确保核心功能稳定可靠。
- 深度集成:与Hermes Agent CN框架深度集成(提供详细的SKILL.md文档,MCP配置开箱即用)。
- 跨平台支持:全面支持 Linux、Windows、macOS 及 WSL2 开发与运行环境。
未来发展规划
项目的演进路线图已经规划清晰:
- 扩展更多执行器:计划集成Mano-P本地推理版本(待NVIDIA CUDA开源后)、Selenium、Puppeteer等主流自动化驱动。
- 引入更智能的监督机制:增加执行前结果预测与执行后实际结果的对比分析,进一步提升操作准确性与决策智能。
- 开展大规模端到端测试:将在更多主流网站和复杂交互式应用场景中进行广泛验证,持续夯实框架的鲁棒性与通用性。
结语
browser-agent尝试回答一个看似简单却至关重要的行业问题——
如果AI能像人类一样,仅凭“视觉观察”就能理解和操作一切图形界面,那么我们是否还需要为成千上万种不同的软件单独编写适配器?
答案很可能是否定的。通往通用图形用户界面(GUI)自动化的道路,或许正始于这种纯粹的视觉理解能力。欢迎您安装体验,共同探索AI智能体操作真实世界软件的无限可能。
