Skip to content
MrJev

ego-decision-layer

Replaces the per-step LLM turn in the ego lite browser with one Jev call that picks both the action and the target element, while code observes, executes and fails closed. The installer takes over the official ego-browser skill entry unless you pass --no-wire.

View on GitHub →

Checked, not fully reviewed

Each browser step is one Jev call that picks the action and the element, and code does the rest. Checked, not fully reviewed: run on Chromium, not ego lite.

Good for

  • Multi-step browser tasks in ego lite where you want code, not the model, to decide when the task is done
  • A careful pattern for safety checks: answers are checked against the elements offered, and delete, pay and unsubscribe buttons are refused

Watch out for

  • The Jev call has no timeout: a provider that never answers hangs the run
  • `install.sh --no-wire` does not stick: the first CLI run takes over the ego-browser skill entries anyway unless EGO_JEV_NO_WIRE=1 is set
  • Visible page text and the values of filled-in fields go to TypeSafe on every step

Tested Oct 29, 2026 at 24743cc4e416 · node:22-bookworm-slim in Docker on 2 CPU cores and 6 GB, no network, headless Chromium over CDP (`--cdp-endpoint`), a local test page, and a local stand-in for /v1/systemone set through TYPESAFE_BASE_URL; installer run against a fake ego lite skill folder

Checked, not fully reviewed. ego lite, the browser this is built for, does not run in our Linux container. So we used the project’s second host, plain Chromium driven over DevTools (--cdp-endpoint). We ran its tests and pointed it at a local page. In place of Jev, a local stand-in for /v1/systemone answered from a fixed script and logged every request. We also ran the installer in the container. No Jev calls. The README’s speed comparisons are the author’s.

Each step, code reads the page and sends Jev one request. One question picks the operation: click, type, select, scroll, wait, done or blocked. Each operation gets its own target question, listing only the elements that fit it. Code checks the answer, acts, and judges success from the URL you give in --until.

What we saw. On our search form it filled the right box and reached the results page. A scripted click on “Delete account” was refused before anything was clicked. A 500, a 401 and broken JSON each stopped the run with nothing done. But when the stand-in never answered, the run hung until we killed it. An answer split evenly across every option was still acted on, because the confidence limits are off unless you set them. The tests that run in plain Node passed. The rest need ego lite, or a Chrome they launch themselves.

What leaves your machine. The goal, page title and URL, visible text, and each element’s label and current value, so a filled-in email address was sent. Password and hidden fields were not. The key can come from an export line in ~/.bashrc or ~/.zshrc. An optional fallback endpoint gets the same key.

The installer replaces the ego-browser entries in ~/.agents/skills and ~/.claude/skills with a page that routes agents to this tool. --restore put them back. --no-wire skipped that step, but the next CLI run made the change anyway. The Chinese README says so; the English one does not.

MIT. 29 stars. Compare arc-cua and jev-ultrafast, which it borrows parts from.

See how it compares with other tools in Best Jev tools, tested hands-on.

Review updated Oct 29, 2026. Numbers quoted from the project are its author's own; we don't publish our own measurements of Jev.

More in Browser & Computer Use

jev-ultrafast

★ 24k▲ 400

browser-use/jev-ultrafast

Fast browser agent from Browser Use. Jev decides each step and which element to act on; a small model is called only when text needs to be typed. The authors report a full Google Flights search in about 7.1 seconds.

PythonReviewed

agent-desktop

★ 8.5k▲ 6.6k

vercel-labs/agent-desktop

macOS desktop automation over accessibility trees. Since v0.9.2, its jev-desktop scripts let Jev choose which control to operate and which action to take.

RustReviewed

typesafe-computer-use

★ 1.3k▲ 16

awlevin/typesafe-computer-use

macOS computer use without sending screenshots to a large model. The screen is read deterministically and Jev picks the next action.

PythonReviewed

Get new Jev projects every week

New Jev releases, pricing changes, and the best new projects, once a week. No spam; unsubscribe anytime.

Powered by Buttondown. See our privacy policy.