jev-voice-browser
A browser you control by voice, from Moritz Kremb’s Jev tutorial.
# voice-browser — talk to a real browser, it acts before you finish the sentence
A Node app that controls a **headed Chromium window** (Playwright) by voice. Speech is streamed
word by word from the browser's Web Speech API to a small Node server; on every partial transcript
the server asks **Jev** (TypeSafe's System One model, `jev-1.13.0`) one request with a dozen typed
questions — intent, target element, site, "is the command complete?", "is this even addressed to
me?", "is it destructive?" — gets typed probabilities back in ~250–350 ms, and code decides whether
to act, wait, ask, or ignore.
Jev never generates text. Search queries, typed text and URLs are extracted as candidate spans by
code and Jev only *picks* one, which is copied verbatim.
```
mic (Chrome, Web Speech API) Node server (owns the API key) controlled window
─────────────────────────── ws ─────────────────────────────────── ──────────────────
partial transcripts ───────────────▶ debounce 200 ms headed Chromium via
"go to" "go to wiki" snapshot page (≤100 elements, e01..eNN) ◀── Playwright, persistent
"go to wikipedia" (final) ONE Jev request: 9–11 questions profile, overlay
policy (thresholds in constants.js) ───▶ highlight / toast /
control page ◀─────────────────────── decision + bars + latency + cost numbered candidates
```
## Run it
Requirements: Node ≥ 20 (tested on 22), npm, Chrome or Edge for the microphone (the Web Speech API
is not available in Firefox/Safari). Real API calls cost ~$0.0002 each.
```bash
git clone https://github.com/moritzkremb/jev-voice-browser.git
cd jev-voice-browser
npm install
npx playwright install chromi