你是否厌倦了为每个网站写重复的 Selenium 脚本?是否被 Puppeteer 的状态管理、截图识别、元素等待逻辑拖慢开发节奏?Jev Ultrafast 是一个真正“以目标为中心”的浏览器智能代理——它不依赖预设脚本、不解析截图、不硬编码 CSS 选择器,而是将网页视为动态可索引的交互空间,仅凭一句自然语言指令(如“查苏黎世到伦敦的航班”),在 7.1 秒内全自动完成页面加载、表单填写、下拉选择、滚动定位与结果验证。它不是另一个 RPA 工具,而是一次对“浏览器自动化底层契约”的重新定义。
核心功能
- 单目标驱动全流程:用户只需声明最终目标(如“找到2026年9月20日苏黎世飞伦敦的单程航班”),无需拆解步骤;Jev 自动规划 CLICK/TYPE_TEXT/SELECT 等原子操作序列,并在每一步严格校验执行效果,避免“看似点击成功实则被遮挡”的静默失败。
- 实时结构化元素感知:每次页面快照后,自动生成带编号的语义化元素表(如
[2] combobox Where from? · San Francisco),所有可操作控件按类型(按钮、下拉框、输入框等)和当前值归类索引,彻底摆脱 XPath/CSS 选择器维护成本。 - 精准目标绑定与防误操作机制:CLICK 操作只匹配
click_target列表中的元素,TYPE_TEXT 仅作用于type_text_target,且执行前强制校验 DOM 可见性、坐标未被覆盖、表单上下文一致——动画未结束或弹窗遮挡时自动拒绝点击,杜绝“点错位置却继续执行”的典型自动化陷阱。 - 极简 LLM 调用策略:仅在必须生成文本时(如填写搜索框)才调用小型语言模型(如 Mercury-2.5),其余操作(点击、选择、滚动)完全由结构化决策头(operation head + target head)完成,单次决策仅需一次网络请求,无冗余推理开销。
- 零截图依赖的默认工作流:基础 agent 循环完全基于 DOM 结构化数据(控件类型、标签文本、当前值、可选项列表),不读取任何像素信息;截图渲染仅用于调试面板和视频录制,不影响核心逻辑,大幅降低资源占用与延迟。
- 跨站点泛化执行能力:同一套策略模型可无缝切换任务场景——从 Google Flights 航班查询,到维基百科词条检索,再到任意 Web 表单提交,无需修改代码或准备领域特定动作模板,真正实现“目标即接口”。
- 可验证的结果闭环:任务结束前自动检查实际页面状态(如“航班列表是否已渲染”“指定航班号是否可见”),而非仅靠 URL 变化或超时判断;示例脚本
flights.py会保存完整 trace 并断言路由、日期、结果数量等关键指标,让自动化具备生产级可信度。 - 开发者友好调试体验:内置 Web Inspector(http://127.0.0.1:8766)实时显示编号元素、各操作概率分布、目标选择置信度、已执行动作及耗时,支持“暂停执行→手动选择下一步”,让黑盒决策过程完全透明可干预。
技术亮点
- 双头联合决策架构:Operation Head(决定执行 CLICK/SELECT/WAIT 等动作)与 Target Head(在当前元素表中筛选兼容目标)共享同一份结构化观测输入,二者协同输出唯一可执行指令,消除传统方案中“先选动作再找元素”导致的两轮请求延迟。
- 原生 DOM 引用保活机制:快照时不仅提取文本属性,更持久化持有真实 DOM 节点引用,后续操作直接调用
element.click()或select_option(),绕过重新查询,确保高并发下元素状态一致性。 - Browser Harness 深度集成:通过轻量级 Chrome 远程调试代理(非 Puppeteer 封装),实现原子级控制——单次 DevTools 协议调用即可同步获取所有可见控件的类型、标签、值、选项列表及几何坐标,规避竞态条件与渲染抖动干扰。
- OpenRouter 兼容文本生成层:TEXT_MODEL_API_KEY 默认对接 OpenRouter,支持 Gemini、GLM、DeepSeek 等 OpenAI 兼容接口模型,且明确关闭推理模式(reasoning disabled),专注生成简洁、确定性文本(如“London”而非长段解释),保障输入字段填充的稳定性与速度。
- MIT 协议下的纯 Python 实现:核心逻辑(
jev_ultrafast/agent.py)仅依赖标准库与 requests,无 TensorFlow/PyTorch 等重型依赖,模型推理外包给外部 API,便于审计、定制与嵌入私有环境。
适合哪些人用
本工具特别适合三类人群:Web 测试工程师——用自然语言描述测试用例(“登录后验证订单页显示最近3笔记录”),自动生成可回放、可验证的执行链;低代码平台开发者——作为后台自动化引擎,接收业务系统下发的目标指令(如“导出客户报表为 PDF”),自动操作 SaaS 页面并返回结果;研究者与教育者——其清晰的决策循环(观察→索引→决策→执行→验证)是理解具身智能(embodied AI)在 Web 环境落地的理想教学案例。
真实场景示例:
• 某跨境电商团队用 Jev 每日凌晨自动访问 12 个海外比价网站,输入相同 SKU,抓取价格与库存状态,全程无需维护任何网站适配脚本;
• 高校计算机课设中,学生仅需编写 Agent(url, "找出页面中所有含‘量子计算’的参考文献链接"),即可完成信息抽取任务,聚焦目标表达而非 DOM 技巧。
快速上手
三步启动:
- 克隆并安装:
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 → Run automatically” 即可观看苏黎世→伦敦航班搜索全流程。
编程调用示例(保存为 search.py):
from jev_ultrafast import Agent
with Agent(
"https://www.google.com/travel/flights",
"Find one-way flights from Zurich to London on September 20, 2026"
) as agent:
for state in agent.run():
print(f"{state['elapsed_ms']}ms: {state['status']}")
执行:uv run --env-file .env python search.py
同类对比 / 注意事项
- vs Selenium/Puppeteer:后者是“浏览器遥控器”,需人工编写每步操作;Jev 是“目标翻译器”,用户只说“要什么”,它决定“怎么做”。前者易因页面微调崩溃,后者通过结构化索引天然适应 UI 变更。
- vs LangChain Browser Agent:LangChain 方案重度依赖 LLM 解析截图或 HTML 文本,推理成本高、不可控;Jev 将视觉理解剥离,LLM 仅负责最简单的文本生成,决策主干 100% 确定性。
- 注意事项:首次运行需允许 Chrome 启用远程调试(地址栏输入
chrome://flags/#remote-debugging-port开启);若遇连接失败,执行uv run browser-harness --doctor自检;当前不支持 iframe 深度嵌套场景,建议优先用于主文档流操作。
项目信息
2.3k
Stars
129
Forks
Python
MIT
Python|2344 Star|MIT 开源协议|GitHub 项目地址
如果你受够了为每个网站重写自动化脚本,又不愿被大模型幻觉拖累执行可靠性——Jev Ultrafast 用结构化感知+精准目标绑定+极简 LLM 调用,证明了“一句话驱动浏览器”可以既快又稳又通用。



