jev-ultrafast:7.1 秒跑完机票搜索的浏览器智能体
jev-ultrafast:browser-use 的浏览器智能体,Jev 一次请求选出操作和元素,仅输入文本时调小模型,机票搜索 7.1 秒跑完。
项目资料
GitHub Ecosystem- 许可证
- MIT
- 主语言
- Python
- 星标
- 22,696
- 核查时间
- 2026-10-12
以上快照资料以核查当日为准,可能随版本或运营策略变化。
让 AI 替你在网页上查资料、填表单,多数方案每一步都要问一遍多模态模型「现在点哪」——慢,而且每一步都是真金白银。jev-ultrafast 是 browser-use 团队 2026 年 9 月 17 日开源的浏览器智能体(MIT,Python,截至 2026-10-12 已 22.7k star):给它一个自然语言目标,它每轮把页面控件编成一张带编号的表,用一次 TypeSafe 请求同时决定「做什么操作」和「点哪个元素」,只有操作是输入文本时才调用小 LLM 生成文字。

核心功能
- 一次请求,两个决定:操作和目标头共享同一次观测;投机式的目标问题保证操作是 CLICK 时只有 click_target 能执行,一次决策只花一次网络往返。
- 默认循环不看截图:模型消费的是结构化状态而非像素,inspector 才可选开启截屏;官方 performance.md 记录 Jev 延迟中位 178 ms。
- 文本生成外包给小模型:只有操作是 TYPE_TEXT 时才调用 text helper,示例配置用 inception/mercury-2.5 并关闭推理;苏黎世和伦敦两个城市名的生成分别花了 581 ms 和 346 ms。
- 执行前先校验:点击前比对文档状态、表单值、目标和邻近上下文,解析当前几何位置并拒绝被遮挡的控件;只有动画不会触发重新预测。
- 模型输出不当代码用:产出永远不会变成选择器、坐标、shell 命令或可执行 JavaScript;text helper 的输出必须先解析成一个小 JSON 对象才会键入。
- 小到能读完:完整循环加文本交接只在 6 个源文件里——agent.py、snapshot.js、browser.py、model.py、questions.py、demo.py。
典型使用场景
- 差旅与信息检索自动化:一条目标跑完 Google Flights 搜索(7.073 秒,结果经独立校验)、打开指定的维基百科条目(2.798 秒)、或在本地酒店页面上搜索并筛选(1.896 秒),都是「一个目标加一次结果校验」的形状。
- Web 表单回归测试:
examples/flights.py --keep-open会保存完整 trace,改版后用独立校验替代肉眼比对。 - 想读懂浏览器智能体范式的人:agent.py 一个文件就是全部循环,比读框架源码快得多。
快速上手
git clone https://github.com/browser-use/jev-ultrafast.git
cd jev-ultrafast
uv sync
cp .env.example .env
# Add TYPESAFE_API_KEY and TEXT_MODEL_API_KEY.
uv run jev
打开 http://127.0.0.1:8766,点 Start demo → Run automatically,inspector 里能看到编号元素、操作与目标的概率分布和已执行的动作;Choose next 会在执行前暂停。Chrome 通过 uv sync 一并安装的 Browser Harness 连接,连不上时先跑 uv run browser-harness --doctor,并在 Chrome 弹窗时允许远程调试。
性能数据
数据来自项目 docs/performance.md(2026-09-30 版本),六次交替运行、同一个 Chrome profile、同一个自然语言目标和同一套独立结果校验,初始导航不计入计时:
| 指标(中位) | 对照版本 | 当前版本 |
|---|---|---|
| 任务耗时 | 9.450 s | 7.092 s |
| TypeSafe 请求次数 | 22 | 17 |
| 浏览器协议调用次数 | 1,092 | 101 |
浏览器协议调用降了两个数量级,这比总耗时更说明问题:一次原子 DOM 快照替代了反复遍历无障碍树、解析上百个节点。官方同时注明口径——三组样本的符号检验 p = 0.25,这是受控小样本对比,不是通用可靠性基准;Google、网络、路由和浏览器缓存都是真实环境。
小结
jev-ultrafast 适合想做浏览器自动化、又不想为每个站点维护脚本的开发者,也适合想研究「结构化状态替代截图」这条路线的人。不适用的也很明确:shadow DOM、iframe、canvas、文件上传、新标签页和任意键盘控件都在 README 的 MVP 之外,DOM 读取器只覆盖常见 HTML 和 ARIA 控件,不是完整的 accessible-name 规范。另外三点要心里有数:需要两个 key(TYPESAFE_API_KEY 和一个 OpenRouter 兼容的 TEXT_MODEL_API_KEY);只支持 Chrome;录制脚本会产生真实 API 费用。代码 MIT 协议,Python 编写。想先看同类方案的取舍,可以读我们的智能体控制浏览器五条路线对比,这个项目在Jev 生态十例里是打头的一个。