jev-browser-bridge
Plugs any CDP browser, including engines that never draw a page, into a Jev loop that picks operations and targets from the DOM.
Overview
Jev Browser Bridge lets any browser that speaks the Chrome DevTools Protocol run a Jev agent, whether cloud, local or self-hosted, Chromium-based or not, including headless engines that never render a page. Each step a Jev Choice picks the operation and target element from candidates read off the DOM rather than from screen layout, so the same agent works on browsers without screenshots.
On MiniWoB++ (86 tasks by 2 seeds, 172 self-grading episodes per browser, same decision and text models), the README reports the bridge at 106/172 on Chrome versus 54/172 for a position-based reader, 112/172 on Browserbase, 102/172 on Cloudflare Browser Run, 105/172 on Lexmount's Moli versus 42, 112/172 on Cloudflare Kitesurf, 110/172 on Lightpanda versus 52, and 30/172 on Obscura, whose script engine fails to run 18 of the tasks. The 44 MiniWoB++ tasks needing pointer positions, drags, drawing, colour or passwords were excluded. A player lets you scrub recorded runs and raw traces side by side. It is a Python package.
What the decision model decides
| Type | Question | Answers |
|---|---|---|
| Choice | Which operation should be performed next? | — |
| Choice | Which DOM element is the target? | — |
How it works
- Connect to any CDP browser
- Read candidate elements from the DOM
- Jev picks operation and target
- Execute through CDP; repeat until done
Strengths
- Works on browsers that never draw pages
- Roughly double the success of a position-based reader on several browsers
- Same agent across many browser providers
Caveats
- Around 60% success on MiniWoB++ tasks
- Excludes tasks needing pointer positions or drawing
At a glance
- Type
- Library
- Status
- beta
- Language
- Python
- Runtime
- library over CDP
- Has code
- yes
Use cases and integrations
How curated lists describe it
Browser agents: plugs any CDP browser into a Jev loop, where a Jev `Choice` picks the operation and its target element each step from candidates read off the DOM rather than the layout, so the same agent runs on Chrome and on engines that never draw a page (Moli, Lightpanda, Kitesurf), passing at least 90% of runs on each of fourteen browsers tested.
yibie/awesome-jevPlug any CDP browser into Jev — cloud, local or self-hosted, including browsers that never draw a page.
hellogumbo/awesome-jev
Frequently asked questions
What does Jev decide?
The next operation and target element, from candidates read off the DOM.
Why read the DOM instead of the screen?
So it works on browsers that do not render pages, like Lightpanda.
How well does it do?
About 59-65% on MiniWoB++ across most browsers tested, per the README.
Related projects
Browser-agent benchmark with five timed events from one prompt, plus a ~200-line DevTools agent where Jev picks each action.
ProjectbetaJavaScriptego-decision-layer: measured, pluggable decision layer for ego lite where Jev picks operation and target in one request.
ProjectbetaTypeScriptBrowser automation where Jev picks every step from a sightmap's named actions and reports whether the goal is met.
ProjectbetaGoBrowser agent that acts on one look at the page with one open-model call per action; Jev is an optional chooser backend.
AppprototypePythonOpen Apache-2.0 browser-agent decision model (Qwen3.5-35B-A3B fine-tune) that doubled Jev 1.13's task success in the same agent.
ServiceresearchPythonBrowser driver where Jev makes every decision and agent-browser performs every action, benchmarked against Claude Code on 10 tasks.
BenchmarkbetaTypeScript