Ali Torki rewrites Browser Use’s Jev Ultrafast in TypeScript for Bun. The project makes the division of labour inspectable: Jev picks bounded actions, a chat model plans and writes text, and browser observations check progress.
Choose from the page the runtime actually saw
The runtime builds an indexed table of observed controls. One logical /systemone request asks for an operation and any ambiguous target.
- Click, text-entry, and dropdown questions each contain compatible targets.
- Only the target answer matching the selected operation can execute.
- A sole compatible target is bound locally, with its provenance recorded as
single_candidate. - A locally bound target has no invented model-confidence score.
The response validator checks offered choices and probability values. Those checks establish a valid response shape, not that the chosen action advances the task.
Completion has a separate path
During an Agent run, Jev’s operation menu excludes DONE. The application checks fields, selections, navigation, and other checklist evidence before asking the chat helper to review the original goal.
That review can add missing steps. Its citations are checked against retained observations. A real quote can still be irrelevant, so semantic coverage remains dependent on the helper model.
The evaluation runner goes further: passing requires Agent completion and caller-written final-page assertions. An agent’s self-assessment cannot override a failed expected outcome.
Count the planning and verification calls too
Both a compatible decision endpoint and a structured-output chat endpoint are required. Even a task with no text entry still needs planning and final review.
The README describes request-level accounting for planning, decisions, repairs, retries, and verification. It keeps unpriced or missing usage visible rather than treating it as free.
The upstream Python demo’s timings do not measure this Bun implementation. Compare complete runs, with independent outcome checks, before claiming a speed or cost improvement.
Keep browser effects bounded
The implementation separates retryable model requests from browser mutations. The README says uncertain browser actions are not automatically replayed, and exposes stop reasons and bounded recovery paths.
Optional visual clicking and page-provided tools broaden the action space, but require separate permissions and checks. They also broaden what needs testing.
Caveat: README and implementation paths were inspected at commit 476f106030da2a2781c1491119ca1d95dda01b07; the agent and tests were not run, and this was not a security audit.