pi-Jev-browser
Browser and macOS desktop agent for Pi where Jev picks each action from a structured text observation in a bounded loop.
Overview
Pi Jev Browser is a browser agent for Pi in which Jev chooses each action from a structured observation of the page, visible text plus addressable controls rather than screenshots, inside a bounded loop that detects when it is stuck, when the page changed underneath it, and when to hand control back to a human. Seven tools drive an isolated Playwright Chromium; an eighth, jev_desktop, drives one macOS application through an allow-listed accessibility tree with the same loop and guards.
The loop is surface-agnostic: it depends on a Driver interface, so browser, desktop and an in-memory test driver are interchangeable. Deterministic selectors are used. A 22-scenario capability suite across four tiers is included with measured results, and a reference document lists run statuses, stop reasons and differences from the Cline plugin it was ported from. It installs via pi install and needs a TypeSafe key. Apache-2.0 licensed.
What the decision model decides
| Type | Question | Answers |
|---|---|---|
| Choice | Which action and control should be used next on this page? | — |
How it works
- Observe the page or app as text plus addressable controls.
- Jev chooses the next action.
- Execute via Playwright or the accessibility driver.
- Detect stuck or changed pages and hand back when needed.
Strengths
- No screenshots needed.
- Same loop for browser and macOS desktop.
- Benchmark suite included.
Caveats
- Playwright downloads Chromium (~150 MB).
- Desktop driver limited to macOS.
Getting started
pi install npm:pi-jev-browser and export TYPESAFE_API_KEY.At a glance
- Type
- Benchmark
- Status
- beta
- Language
- TypeScript
- Runtime
- Pi extension, Playwright
- Has code
- yes
- Has tests
- yes
- License
- Apache-2.0
Use cases and integrations
How curated lists describe it
Browser and macOS desktop agent for pi: Jev (TypeSafe System One) chooses each action from a structured observation in a bounded, surface-agnostic loop. Isolated Playwright tools, an allow-listed accessibility-tree tool, deterministic selectors, four-tier benchmarks.
logicrw/awesome-jev-projects
Frequently asked questions
Does it use screenshots?
No, it uses visible text and addressable controls.
Can it control desktop apps?
Yes, one macOS app via its accessibility tree.
Where did it come from?
It was ported from a Cline plugin, with differences documented.
Related projects
Browser-agent benchmark with five timed events from one prompt, plus a ~200-line DevTools agent where Jev picks each action.
ProjectbetaJavaScriptLets coding agents run whole goals in your signed-in Chrome on macOS in background tabs, asking Jev or Claude Haiku only for real choices.
ProjectbetaComputer-use platform (Cua Spaces, Driver, Lume) with CUA-S1 small decision models and a preview jev-use example for bounded actions.
ProjectbetaPythonego-decision-layer: measured, pluggable decision layer for ego lite where Jev picks operation and target in one request.
ProjectbetaTypeScriptLocal stdio MCP server that executes whole browser and macOS goals with a Jev-driven observe-decide-act loop.
MCP serverbetaTypeScriptBrowser Use's browser agent where Jev picks an operation and page element in one request and a small LLM only writes text to type.
LibrarybetaPython