Jev Ultrafast:一个拥有动态索引动作空间的浏览器智能体
摘要
Jev Ultrafast 是一个利用动态索引动作空间的浏览器智能体,以实现高效的AI驱动自动化,并通过快速的Google Flights搜索进行演示。
查看缓存全文
缓存时间: 2026/09/17 06:07
browser-use/jev-ultrafast 来源:https://github.com/browser-use/jev-ultrafast
Jev Ultrafast ⚡
一个具有动态、索引化动作空间的浏览器代理。
给它一个目标。TypeSafe的Jev(https://docs.typesafe.ai/introduction)会选择一个操作和一个元素。仅当操作为TYPE_TEXT时,一个小型LLM才会生成文本。
从苏黎世到伦敦的Google航班搜索耗时7.1秒。
包含一个自然语言目标、实际文本生成以及加载等待时间。
观看MP4视频 · 性能数据 · 查看循环代码
动作空间
每个观察结果都会生成一个新的元素表:
text [1] button 更改票种 · 往返 [2] combobox 从哪里出发? · 旧金山 [3] combobox 去哪里? · 空 [4] textbox 出发日期 · 空 ...
操作包括 CLICK、TYPE_TEXT、SELECT、SCROLL_UP、SCROLL_DOWN、WAIT、DONE 和 BLOCKED。仅提供支持的操作和目标。
text one TypeSafe 请求
┌───────────────────────────┐
│ 页面 → 元素表 → 操作 │
│ │ │
│ click_target │
│ type_text_target │
│ select_target(如果存在)│
└─────────────┬─────────────┘
│ 使用匹配的目标
CLICK [7] ────┤──→ 浏览器
TYPE_TEXT [3] ─┘
↓
小型LLM → 文本 → 浏览器
目标问题是推测性的。如果操作是 CLICK,则只有 click_target 可以执行。两次决策,一次网络往返。每个目标头仅包含兼容元素。原生下拉选项携带观察到的元素/选项索引。策略中没有特定网站的动作脚本或预置字段字符串。航班示例提供了一个目标并独立验证结果。截图渲染器在之后添加标签;它并不驱动浏览器。
尝试一下
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
uv run jev
打开 http://127.0.0.1:8766 并点击 开始演示 → 自动运行。检查器会显示编号的元素、操作概率、目标概率和已执行的操作。选择下一步会在执行前暂停。Chrome 通过 Browser Harness(https://github.com/browser-use/browser-harness)连接,该工具由 uv sync 安装。如果需要连接,请运行 uv run browser-harness --doctor。在提示时允许 Chrome 进行远程调试。在示例配置中,TEXT_MODEL_API_KEY 是一个 OpenRouter 密钥。当前演示使用 inception/mercury-2.5,并禁用了推理功能。Gemini、GLM 和 DeepSeek 也可以使用 OpenAI 兼容的文本助手;请配置相应的模型、端点和推理设置。
使用该库
from jev_ultrafast import Agent
with Agent(
"https://www.google.com/travel/flights?hl=en",
"查找2026年9月20日从苏黎世到伦敦的单程经济舱航班,乘客为一名成人。当找到匹配的航班选项时停止。",
) as agent:
for state in agent.run():
print(state["elapsed_ms"], state["status"])
使用 uv run --env-file .env python your_script.py 运行。相同的策略可以运行不同的任务:
uv run --env-file .env python examples/run.py \
--url https://en.wikipedia.org/wiki/Main_Page \
--goal '查找并打开关于哥德尔不完备性定理的维基百科文章。'
uv run --env-file .env python examples/flights.py --keep-open 会执行航班搜索、检查实际路线/日期/结果,并保存其跟踪信息。它不会选择或预订航班。
它为何能快速移动
- 每个决策周期只发起一次请求。 操作和目标头共享相同的观察状态。
- 默认代理循环中不使用截图。 Jev 消费结构化状态。检查器可以选择使用截图;视频使用单独的连续录屏。
- 每个快照只进行一次浏览器调用。 原子性地读取可见控件及其名称、值和文本。保留对实际 DOM 节点的引用。
- 验证所选目标。 点击会检查文档、表单值、目标及附近上下文。仅动画不会强制进行另一次预测。在输入前解析当前几何结构并拒绝被覆盖的控件。
- 等待有用的状态。 在组合框中键入后,等待可见的建议,上限为 200 毫秒。其他交互最多获得两个动画帧或 50 毫秒。这些读取发生在操作被记录之后。
- 保持隐藏标签页渲染。 焦点模拟防止后台动画节流,而无需切换 Chrome 的可见标签页。
- 发送可见文本。 不可视的文章正文和页脚不会填充模型上下文。
- 重用被中断的文本请求。 生成的值仅在文本助手的整个输入保持不变时,才能在页面过时重试中存活。每个执行的目标都从观察到的节点解析。执行器会重新检查页面新鲜度和点击遮挡。模型输出永远不会成为选择器、坐标、shell 命令或可执行的 JavaScript。文本助手输出在键入前必须解析为小型 JSON 对象。
小到足以阅读
| 文件 | 职责 |
|---|---|
| agent.py | 完整的循环和文本助手交接 |
| snapshot.js | 原子 DOM 快照、索引控件、新鲜度守护 |
| browser.py | 浏览器连接、当前几何结构、执行 |
| model.py | 动态操作/目标头和文本生成 |
| questions.py | 模型指令 |
| demo.py | 本地检查器 |
证据与局限性
当前的视频是一次耗时 7,073 毫秒 的 Google 航班搜索运行。计时从初始页面观察后开始,包括模型调用、生成的文本、浏览器工作、过时的决策和加载等待。一个新的独立检查验证了单程设置、苏黎世、伦敦、2026年9月20日和可见的航班选项。视频以1倍速播放,没有开头的停顿和0.5秒的最终定格。在六次使用相同模型和设置的交替运行中,两个版本都通过了 3/3。中位任务时间从 9.450 秒 → 7.092 秒,减少了 25%;中位浏览器协议调用从 1,092 → 101。这是在一个浏览器配置文件上对一个任务的三次重复,而不是通用的可靠性基准。相同的策略在 2.798 秒 内打开了请求的维基百科文章,并在 1.896 秒 内通过了一个本地酒店搜索/过滤任务。运行、失败、源代码哈希和测量边界在 performance.md 中。选择 DONE 仍然需要独立的结果验证。DOM 读取器处理常见的 HTML 和 ARIA 控件,但不是完整的可访问名称规范。影子根、框架、画布、上传、弹出标签页、嵌套滚动和任意键盘小部件仍在此 MVP 之外。受控标签页共享现有的 Chrome 配置文件。
开发
uv run ruff check .
uv run pytest
node --check jev_ultrafast/static/app.js
node --check jev_ultrafast/snapshot.js
uv build
测试是离线的。uv run python scripts/check_guards.py 在不进行模型调用的情况下检查本地浏览器中的真实控件。实时示例和录制脚本会进行付费 API 调用。scripts/record_flights.py 捕获原始浏览器时间戳;scripts/render_demo.py 以1倍速渲染该次经过验证的运行,并裁剪掉 Google 帐户条。凭据和原始跟踪信息保持忽略。
Browser Use (https://github.com/browser-use/browser-use) · Browser Harness (https://github.com/browser-use/browser-harness) · TypeSafe 推测性扇出 (https://docs.typesafe.ai/patterns/fan-out)
相似文章
@trendtech33566: 对于想要浏览器操作AI运行更快的人 jev-ultrafast,约6.4k。已发布一个演示,可执行…
jev-ultrafast的演示已发布,通过使用自然语言和小型LLM,在7.1秒内执行Google Flights搜索等任务,实现了更快的浏览器操作AI。
@FinanceYF5: Browser Use 和 Jev 构建了一个超快的开源浏览器代理。搜索航班仅需 7 秒,成本……
Browser Use 和 Jev 开发了一个超快的开源浏览器代理,可在 7 秒内完成搜索航班等任务,成本仅为 0.0039 美元,使 AI 驱动的浏览器自动化更加实用和高效。
我将Jev作为我的AI智能体的“潜意识”辅助工具进行了测试
本文介绍了使用Jev作为快速分类器,为AI智能体过滤和处理小任务,从而提高效率并降低成本。
体验Jev——一种有趣的AI代理方法
作者讨论了尝试使用Jev,这是一种专注于决策的AI代理工具,与使用大型语言模型处理所有任务相比,它声称在速度和成本上有显著优势。
@browser_use:Ultrafast 在 4 天内达到 15k。
Ultrafast 是一款开源浏览器代理,在四天内获得了 15,000 个 GitHub 星标,突显了其利用 LLMs 实现如航班搜索等任务的快速低成本自动化能力。