LaVague
让 AI 像真人一样操控浏览器:输入自然语言指令,自动完成网页点击、填写、提交等操作
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
让 AI 像真人一样操控浏览器:输入自然语言指令,自动完成网页点击、填写、提交等操作
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象这样一个场景:你需要帮用户完成一份冗长的网页表单填写,或者让 AI 自动帮用户在某个医疗挂号平台上预约医生。以往的方案是写爬虫脚本——但爬虫脆弱、容易被反爬拦、一旦网页改版就报废。而 LaVague 给出的答案是:让 AI 理解网页"该做什么",而不是死记硬背"怎么做。
这就是 Large Action Model(大型动作模型) 的核心思路——不同于传统 RPA(机器人流程自动化)靠规则驱动,LaVague 由大语言模型驱动,能像真人一样理解网页意图、动态应对变化。目前该项目在 GitHub 已收获超过 6300 颗星,是 Web Agent 领域最受关注的开源框架之一。
LaVague 由法国安全公司 Mithril Security 于 2024 年 2 月发起,Apache-2.0 开源许可。创始团队长期关注 AI 安全领域,他们发现市面上的 AI 浏览器工具要么依赖规则脚本、要么过度依赖 prompt 工程,灵活性极差。于是他们提出一个更优雅的范式:World Model(世界模型)+ Action Engine(动作引擎)。
这一设计理念来源于一个观察:人在操作浏览器时,大脑里会做两件事——"现在页面显示的是什么"(理解状态)和"我接下来该点哪里、填什么"(规划动作)。LaVague 将这两件事分别交给 World Model 和 Action Engine 处理,形成了一套可解释、可替换、可组合的 Agent 架构。
图1:LaVague Agent 核心架构(来源:官方文档)
LaVague Agent 由两个核心组件构成:
World Model(世界模型):接收用户目标(Objective)和当前网页状态(DOM 结构、Screenshot),输出"指令列表"。它本质上是 LLM + RAG 的组合,会利用项目内置的 Retriever 从知识库中检索相关操作示例作为上下文,确保生成指令的准确性和一致性。你可以理解为"AI 的大脑皮层"——负责思考。
Action Engine(动作引擎):将 World Model 输出的指令"编译"为 Selenium 或 Playwright 代码,然后实际操控浏览器。编译过程包括:HTML 元素定位、CSS 选择器生成、等待策略配置、iframe 处理等。引擎内置 Python Engine,支持纯 Python 定义动作模板,降低 LLM 调用频率和成本。
两者之间通过 Context(上下文) 对象传递状态,支持流式日志、Token 计数、调试断点。
LaVague 支持三种浏览器驱动,各有优劣:
| 特性 | Selenium | Playwright | Chrome 扩展 |
|---|---|---|---|
| 无头模式 | ✅ | ⏳ 开发中 | ❌ |
| iframe 处理 | ✅ | ✅ | ❌ |
| 多标签页 | ✅ | ⏳ 开发中 | ✅ |
| 元素高亮 | ✅ | ✅ | ✅ |
内置 Gradio Web UI(lavague-gradio),通过一行 agent.demo() 即可启动交互式 Demo,支持对话式指令输入和实时浏览器画面展示。进阶用户可通过 lavague-server 部署 WebSocket API 服务,将 Agent 能力以 RESTful 接口形式暴露给外部系统。
内置 Retriever Pipeline,支持从本地知识库(如 Hugging Face 文档、Notion 页面)导入操作指南,自动注入到 World Model 提示词中。这意味着你可以用"行业术语"描述目标,Agent 会自动匹配对应操作。
LaVague QA 是基于框架的垂直扩展,将 Gherkin 格式的测试规格(.feature 文件)转化为自动化测试用例。QA 工程师用自然语言写测试场景,AI 自动执行断言验证,大幅降低测试用例维护成本。
lavague-ai/LaVague/
├── lavague-core/ # 核心引擎包
│ └── lavague/core/
│ ├── world_model.py # World Model 实现
│ ├── action_engine.py # 动作引擎 + Python Engine
│ ├── agents.py # WebAgent 主类
│ ├── retriever*.py # RAG 检索器
│ ├── token_counter.py # Token 计数/成本估算
│ └── utilities/ # 定价、遥测、版本检查等工具
├── lavague-gradio/ # Gradio Web UI
├── lavague-server/ # WebSocket API 服务
├── lavague-integrations/ # 第三方集成
├── lavague-qa/ # QA 测试扩展
├── extension_chrome/ # Chrome 浏览器插件(TypeScript)
└── examples/ # 25+ 完整示例
World Model 默认调用 OpenAI GPT-4o,但支持通过 Context 灵活切换到 Claude、Gemini、Azure OpenAI 等 Provider,满足企业级数据合规需求。
LaVague 并非银弹,以下问题值得关注:
依赖 LLM API 成本:每次网页操作都需要 LLM 调用,复杂任务(10+ 步骤)成本可能达数美元。项目提供了 Token Counter 工具帮助估算,但长期自动化运行需考虑成本控制。
网页动态内容挑战:单页应用(SPA)、React/Vue 框架渲染的动态页面,DOM 结构变化频繁,元素定位可能失效。项目内置的 Navigation Engine 和错误重试机制有一定缓解作用,但不能完全消除。
无官方 Docker 支持:尽管提供 pip 一键安装,但容器化部署需要用户自行编写 Dockerfile,不适合追求"一键部署"的场景。
Chrome 扩展驱动能力有限:扩展模式下无法处理 iframe、不支持无头运行,更适合快速演示而非生产环境。
LaVague 的出现代表了 AI Agent 从聊天机器人向执行代理 的进化方向。它解决的痛点非常明确——网页操作是企业软件中最高频的重复性劳动,从 HR 系统录入到电商后台管理,几乎每个岗位都有"点击-填写-提交"的机械流程。
目前 Web Agent 赛道的主要玩家包括:微软的 Semantic Kernel、LangChain 的 LangGraph、以及专注浏览器自动化的 BrowserGym 等。LaVague 的差异化在于:专注文本指令到浏览器动作的端到端映射,不做通用 Agent 框架,以"开箱即用"为目标降低使用门槛。
项目 Roadmap 显示,未来将支持更多多模态模型、更强的多标签页协同,以及企业级 SSO 和审计日志。对于想在内部流程自动化领域试水的团队,LaVague 是目前最具参考价值的开源实现之一。