Overview & result
browser-ai is a browser agent written in Go with only the standard library. Jev picks one option from a finite, indexed action space at each step, and a small OpenAI-compatible LLM writes field values only when the chosen operation types text. Chrome is driven over CDP, either launched over a pipe or attached to a running browser, and each step is instrumented for timing.
From the original post
Jev-driven browser agent in pure Go — CDP over pipe/WebSocket, attach to real Chrome, built to measure real speed
How Jev fits in the loop
- Observe: one CDP call runs a snapshot script and returns the page state with an id for each element.
- Choose: one HTTPS request to Jev picks an operation and a target from that indexed action space.
- Only when the chosen operation is TYPE_TEXT does a small OpenAI-compatible LLM write the field value.
- Every pass is verified from the final page, not from the model saying DONE.
How to reproduce
- Inspect the original showcase and source material at https://github.com/phanngoc/browser-ai
- Verify the bounded prompt and input candidate schema configured for Jev
- Benchmark decision latency and classification accuracy against baseline models
Why this build matters
The author publishes a like-for-like benchmark: on a Google Flights task Jev passed 3 of 3 runs at a 9.6 s median, against 23.0 s for gemini-2.5-flash on the same goal.
Limitations
- Benchmark figures are the author's own runs: three per model, headless Chrome 153, dated 2026-09-20.
- The DOM snapshot script and policy instructions are ported from browser-use/jev-ultrafast.
- Typed text still depends on a separate LLM.