
浏览器操作不让大模型一步步想,Jev 一次请求直接选动作,Google Flights 搜票 7.1 秒搞定
Jev Ultrafast:浏览器 agent 的「条件反射」
传统浏览器 agent 每走一步都要把截图/HTML 丢给大模型想一遍,一个任务几十次 LLM 往返,又慢又贵。Jev Ultrafast 换了个思路:把页面快照成一张「编号元素表」,让 TypeSafe 的 Jev 决策模型一次请求同时选出操作(CLICK / TYPE_TEXT / SELECT / SCROLL…)和目标元素编号——只有需要打字的时候,才叫一个小 LLM 出来写文本。
实测名场面:在 Google Flights 上完成「苏黎世→伦敦 单程机票搜索」全程 7.1 秒,含页面加载、文本生成和所有等待。
为什么这么快
| 设计 | 效果 |
|---|---|
| 操作 + 目标合成一次 Jev 请求(speculative fan-out) | 每步决策只有一次网络往返 |
| 默认循环不截图,只吃结构化元素表 | 没有图像 token,没有视觉模型延迟 |
| 每次快照只调一次浏览器协议 | 协议调用从 1092 次降到 101 次 |
| 等待按动作定制(上限 200ms) | 不傻等,动画不会触发多余预测 |
官方基线对比:同一任务中位耗时 9.45s → 7.09s,降 25%。
上手
git clone https://github.com/browser-use/jev-ultrafast.git
cd jev-ultrafast && uv sync
cp .env.example .env
# 填 TYPESAFE_API_KEY 和 TEXT_MODEL_API_KEY(OpenRouter key 即可)
uv run jev
打开 http://127.0.0.1:8766 点 Start demo,本地检查器能实时看到编号元素表、每个操作的概率分布和执行过程;「Choose next」模式可以一步步人工确认。Chrome 通过 Browser Harness 连接(uv sync 自动装好)。
文本模型默认配 inception/mercury-2.5(OpenRouter),也可换 Gemini / GLM / DeepSeek 等 OpenAI 兼容端点。
当库用也行
from jev_ultrafast import Agent
with Agent(
"https://www.google.com/travel/flights?hl=en",
"Find one-way flights from Zurich to London on September 20, 2026, "
"for one adult in economy. Stop when matching flight options are visible.",
) as agent:
for state in agent.run():
print(state["elapsed_ms"], state["status"])
同一个策略换个 goal 就能跑别的站,README 里还有 2.8 秒打开维基百科指定条目、1.9 秒完成酒店搜索筛选的记录。
边界(官方自己标明的)
- 还是 MVP:shadow DOM、iframe、canvas、文件上传、弹窗标签页、复杂键盘控件都不支持
- DONE 判定仍需独立验证任务结果
- 核心代码只有 6 个文件(agent.py 一个文件就是完整循环),特别适合读源码
整个仓库就是「Jev 选动作 → driver 执行 → 代码验证」这套分层架构的最佳教材,GitHub 已 22k★。
暂无评论
