Skip to content

Jev Tools & CLIs

Browser Agents and Computer Use: What to Copy from the First Breakout Category

Browser loops are long series of small decisions, and the expensive model does not need to make any of them. The patterns behind the fastest agents, from element tables to OCR plus accessibility trees.
Published
Category
Jev Tools & CLIs
Resources cited
7
Reading time
4 min
Tags#browser#computer-use#agents#tools

Browser agents were the first breakout use case for Jev, and the reason is structural. A browser loop is a long series of small decisions — which element, which action, which value — and the expensive model does not need to make any of them. Hand those decisions to Jev and the language model only shows up when text has to be written or a plan has to change.

One request per step, no screenshots

jev-ultrafast is the reference implementation. Each observation produces an indexed element table, and one TypeSafe request returns the operation plus every target head: click_target, type_text_target, select_target. Only the target matching the chosen operation executes, so speculative questions cost nothing extra. The measured demo runs a Zürich to London Google Flights search in 7.1 seconds including text generation and loading waits.

The default loop never sees a screenshot. Jev consumes structured DOM text, and the waits are explicit: up to 200 ms for combobox suggestions, otherwise two animation frames or 50 ms. When the operation is TYPE_TEXT, a small LLM writes the string; everything else is decided by Jev.

jev-browser applies the same shape with a smaller footprint: one ~300 ms request per round answers which element, which action, which value, and whether the step is done, blocked, or erroring. Its latest reported run was 40 of 42 tasks correct on live sites with zero false done claims, and a five-step checkout measured about 14 seconds end to end.

Keep the expensive agent in charge

A second pattern delegates only the mechanical steps. Jev Browser Use plugs into an existing Codex Computer Use session: Jev receives accessibility text and returns the next action, while Codex keeps text input, visual judgment, and final verification, and takes over whenever a step needs help. The install is a single npx skills add.

Mobile Jev does the same for Android. Jev chooses among OPEN_APP, TAP, TYPE_TEXT, scrolling, navigation, WAIT, DONE, and BLOCKED; code validates the target before Mobilerun executes it. Its demo re-reads the screen and verifies the switch is actually on instead of trusting a model DONE.

Computer use beyond the browser

typesafe-computer-use is the clearest cost argument in the category: macOS Vision OCR plus the accessibility tree feed one TypeSafe request with up to three Choices to pick the next action, measured at $0.0002 per decision and 0.13–0.38 s model latency, against $0.032 and 5.2 s for Claude Opus 5 on the same screenshot. It stops on done or none, confidence below 0.4, two consecutive no-ops, a step limit, or Ctrl-C.

jev-use adds the safety pattern these loops need: jev_gate is an opt-in PreToolUse gate that can only deny or ask, never silently allow, and an unreachable backend escalates instead of waving a command through.

What to copy

  • One request per decision cycle, with target heads batched speculatively.
  • Structured text as state, not pixels, unless the task truly needs vision.
  • A separate model for the rare step that needs prose.
  • Explicit stop conditions and a verification read after acting.
  • Gates that fail closed once they are load-bearing.

Open models in the loop

The same loop runs on weights you can download. OpenDecider Nano answers at 47 ms per question from an ONNX file in a browser tab and serves the Jev API shape from a 400M encoder; Julia 1's WebGPU build answers 100 decisions in a median 7.55 seconds entirely client-side. Neither needs a key or a network call once loaded, which removes the per-step cost argument from the decision entirely.

For the form-filling slice of computer use, Cua-S1 Forms is the smallest serious entry at 706,048 parameters: it scores candidate values for a UI element in one forward pass, and its card reports 99.7% on a synthetic form task against 83.6% for the hosted Jev API — with the honest footnote that the real-world 100% figure rests on 196 decisions across six documents. The card also carries a security note worth repeating: a pickle checkpoint was removed from the repo, and only the safetensors pair should be loaded.

Vision comes into the loop through JEV-27B-VL, whose demos completed 95% of 60 computer-use tasks when numbered boxes were paired with element text — and only 10% with boxes alone, because it declared tasks complete too early. That gap is the whole reason the browser tools above keep structured text as state and reserve pixels for the steps that truly need them.

What a local model changes

  • The loop survives a network outage and a revoked key; keep the model resident between steps as the demos do.
  • Fail-closed gates matter more, not less: a local model cannot be swapped server-side, so your checkout is the only version that exists.
  • Parity is not accuracy. Browser exports publish output-agreement tests, not reruns of the accuracy suite.
  • The stop conditions still belong in code: verification reads, step limits, and confidence floors are the same regardless of where the model runs.

The tools category collects the rest of these integrations, from desktop control to terminal agents.

From the Jev directory

The resources behind this article.

23.2kGitHub stars
Browser Use's ultrafast agent: Jev picks an operation and an element from an indexed action space in one request, and a small LLM writes text only when the action is TYPE_TEXT.
Jev Tools & CLIs#community#python#browser
339GitHub stars
A browser-use agent where Jev picks one action per step from a page's interactive elements. Runs as an MCP server, CLI, or library and returns a step trace, screenshot, and console errors.
Jev Tools & CLIs#community#typescript#mcp
123GitHub stars
Unofficial browser automation where the calling LLM states the outcome and Jev decides each element, action, and value from a Playwright page snapshot. Ships as a library, CLI, and MCP server.
Jev Tools & CLIs#community#javascript#browser
1.2kGitHub stars
A Codex skill (with a plugin option) that hands clicks, toggles, navigation, and scrolling to Jev over accessibility text while Codex types, interprets visuals, and verifies the outcome.
Jev Tools & CLIs#community#javascript#skills
448GitHub stars
Standalone Android agent and React studio for Mobilerun, powered by Jev: Jev selects operations and observed targets, code rejects stale actions, and a CLI, execution traces, and latency measurements ship in the repo. No ADB connection required.
Jev Tools & CLIs#community#javascript#agents
1.2kGitHub stars
A macOS computer-use loop that OCRs the screen, asks Jev for the next action with typed Choices, and clicks, at about $0.0002 per decision without sending screenshots to a frontier model.
Jev Tools & CLIs#community#python#agents
62GitHub stars
Claude Code, Codex, and pi plugin plus MCP server and npm library that hands steps needing no text output to Jev: one batched call answers typed questions about a state, and an opt-in PreToolUse gate can only deny or ask.
Jev Tools & CLIs#community#javascript#claude-code
Back to all articles

More Jev articles

How Pydantic AI, Mastra, TanStack AI, DSPy, Spring AI, and LiteLLM expose Jev: where the typed decision sits in the loop, what each integration returns, and which big frameworks are only adjacent.
Jev Integrations & Adapters#agents#frameworks#integrations
Read article
Tool menus can outgrow the context that reads them. The catalog's Jev-based routers and gates narrow the list: benchmarked tool search, per-tool scoring, fail-closed approvals, and WebMCP in the browser.
Jev Agents & MCP#mcp#tool-routing#agents
Read article

From the Jev AI model community

Posts from builders shipping with Jev right now.

Follow @typesafeai