StackMap
Subscribe
Explore / jev-ultrafast
browser-use

jev-ultrafast

Browser Use's speed experiment: Jev picks the operation and the target element from an indexed action space in one request, and a small LLM writes text only when typing is needed.

8,271 518 Python MITupdated yesterday
View on GitHubDispute this mapping →
Curator's take

Read this one for the architecture even if you never run it: the page becomes a numbered element table, Jev answers operation and target as speculative parallel heads in a single round trip, and a small LLM is called only for TYPE_TEXT. That is why Zurich-to-London on Google Flights lands in ~7s with no screenshots in the loop. The safety properties are the interesting part - model output never becomes selectors, coordinates, shell or JS; every target resolves to an observed DOM node and is rechecked for occlusion before input. Use it when latency is the product. Don't reach for it as a general agent: the action space is eight fixed operations, it needs a hosted TypeSafe key plus a text-model key, and browser-use proper is what you want for long, tool-rich, recoverable workflows.

Mapped by ShipWithAI editors · links verified

Continue your stack

What teams reach for next — and why each earns a place beside jev-ultrafast. Ranked by curator confidence.

pairs wellalternativealternativealternativekevbrowser-usenanobrowserpage-agentjev-ultrafast
pairs wellalternativebuilt withpick a node for the why · open it from the panel
Weekly digest
README.md2 min read
Jev Ultrafast · Browser Use × TypeSafe

Jev Ultrafast ⚡

[!IMPORTANT] The Browser Use Cloud waitlist is open. Get early access to ultrafast browser agents in the cloud. Join the waitlist →

A browser agent with a dynamic, indexed action space.

Give it one goal. TypeSafe's Jev picks an operation and an element. A small LLM writes text only when the operation is TYPE_TEXT.

Zürich → London on Google Flights in 7.1 seconds. One natural-language goal, actual text generation, and loading waits included.

A real Google Flights search at 1× speed, with generated city names and dynamic operation/target decisions

Watch the MP4 · Measurements · Read the loop

The action space

Every observation produces a new element table:

[1] button    Change ticket type · Round trip
[2] combobox  Where from?        · San Francisco
[3] combobox  Where to?          · empty
[4] textbox   Departure          · empty
...

The operations are CLICK, TYPE_TEXT, SELECT, SCROLL_UP, SCROLL_DOWN, WAIT, DONE, and BLOCKED. Only supported operations and targets are offered.

                      one TypeSafe request
                     ┌───────────────────────────┐
page → element table → operation                 │
                     │ click_target              │
                     │ type_text_target          │
                     │ select_target, if present │
                     └─────────────┬─────────────┘
                         use the matching target
                                   │
                    CLICK [7] ─────┤──→ browser
                TYPE_TEXT [3] ─────┘
                          ↓
                   small LLM → text → browser

Target questions are speculative. If the operation is CLICK, only click_target can execute. Two decisions, one network round trip. Each target head contains only compatible elements. Native dropdown choices carry an observed element/option index.

There are no site-specific action scripts or prepared field strings in the policy. The Flights example supplies a goal and independently verifies the outcome. The screenshot renderer adds labels afterward; it does not drive the browser.

Try it

git clone https://github.com/browser-use/jev-ultrafast.git
cd jev-ultrafast
uv sync
cp .env.example .env
# Add TYPESAFE_API_KEY and TEXT_MODEL_API_KEY.
uv run jev

Open http://127.0.0.1:8766 and click Start demo → Run automatically. The inspector shows numbered elements, operation probabilities, target probabilities, and executed actions. Choose next pauses before execution.

Chrome connects through Browser Harness, installed by uv sync. Run uv run browser-harness --doctor if it needs connecting. Allow remote debugging in Chrome when prompted.

TEXT_MODEL_API_KEY is an OpenRouter key in the example configuration. The current demo uses inception/mercury-2.5 with reasoning disabled. Gemini, GLM, and DeepSeek can also use the OpenAI-compatible text helper; configure the appropriate model, endpoint, and reasoning setting.

Use the library

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"])

Run with uv run --env-file .env python your_script.py. The same policy can run a different task:

uv run --env-file .env python examples/run.py