macbrow
Voice-controlled Mac agent where Jev picks the tool and its arguments in about 300 ms, running AppleScript or driving Chrome.
Overview
macbrow lets you talk to your Mac. Speech is transcribed with Gradium inside a LiveKit Agents voice loop, and Jev picks a tool plus its arguments in one request of about 300 ms. A command runs as AppleScript; a website task hands off to jev-ultrafast, which drives Chrome with one Jev request per step; an unknown action has an LLM write a new tool that is checked and cached; small talk goes to an LLM for one sentence. An LLM (GPT-5-mini or a local model) is used only for writing text.
Routing is one Choice over the tools that apply to the apps open right now, plus chat and 'new action'. Every enum argument of every candidate tool rides along as its own Choice in the same request, and only the winner's are read; free-text arguments are filled by having Jev select a span of the utterance. Confidence maps to run, ask or don't. The README warns it is experimental and not for production: an early version asked to 'clean up my desktop' moved every Desktop file into a folder, which is why a safety policy exists and should be kept on.
What the decision model decides
| Type | Question | Answers |
|---|---|---|
| Choice | Which tool (for the apps open now), chat or new action fits this utterance? | — |
| Choice | Which value should each enum argument take (e.g. which app, louder or quieter)? | — |
| Choice | Which span of the utterance fills this free-text argument? | — |
How it works
- Speech is transcribed
- Jev chooses a tool and its arguments in one request
- Confidence decides run, ask or skip; safety policy applies
- AppleScript runs, or jev-ultrafast drives Chrome
- Response is spoken back
Strengths
- Fast routing without generation
- Arguments chosen in the same request
- Safety policy informed by a real incident
- LLM limited to writing text
Caveats
- Experimental; can modify your machine
- Needs several services (Gradium, LiveKit, TypeSafe)
- New tools are LLM-written
At a glance
- Type
- Project
- Status
- prototype
- Language
- Python
- Runtime
- LiveKit Agents voice loop on macOS
- Has code
- yes
Use cases and integrations
How curated lists describe it
Say a command and it runs as AppleScript, or say a web task and it drives Chrome. Its README opens with a warning about an early version tidying a Desktop rather thoroughly.
MrJev/awesome-jev
Frequently asked questions
What does Jev decide?
Which tool to use and its arguments, including selecting spans of your words for free-text fields.
Is it safe?
It is experimental; keep the safety policy on and do not use it on a machine you cannot afford to disrupt.
Does an LLM pick actions?
No, the LLM only writes text and new tools; Jev makes the decisions.
Related projects
macOS menu-bar Swift app that turns on-device transcribed speech into Jev typed decisions and macOS actions, confirming hard-to-undo steps.
AppbetaSwiftVoice assistant daemon for Hyprland Linux desktops that acts through tool modules, with Jev gating which requests and actions proceed.
ProjectbetaPythonTalk to your Mac: local whisper.cpp transcribes, one Jev request picks the action and typed arguments, and code executes macOS automation.
ProjectprototypePythonFloating macOS bar for voice or text commands where Jev picks the next action from live accessibility controls in a loop.
ProjectprototypeSwiftmacOS voice and typed computer-use app where Jev picks the next on-screen action from the Accessibility tree, with no screenshots.
AppprototypeSwiftPre-alpha Rust and Tauri voice control layer for macOS that reads the accessibility tree; Jev is a fallback rather than the router.
ProjectprototypeRust