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.