Jev Voice
Talk to your Mac: local whisper.cpp transcribes, one Jev request picks the action and typed arguments, and code executes macOS automation.
Overview
Jev Voice lets you control a Mac by speaking: it opens apps, types, searches, scrolls and presses keys. Everything runs locally except one call of about 250 ms to Jev. Audio passes through energy-based voice activity detection and whisper.cpp on Metal (about 100 ms), then a single fan-out Jev request turns the transcript into a typed action plus typed arguments. Jev never generates text: code produces candidate argument values and Jev selects among them, and code owns execution, with spoken feedback via say.
The default hands-free mode transcribes every utterance locally but sends only those naming the assistant (default wake words Alfred or Jarvis) to Jev, with an eight-second follow-up window for chained commands. Other modes include holding Caps Lock to talk, always-on, terminal push-to-talk and a text dry-run for testing routing. A setup script installs whisper.cpp and ffmpeg, downloads the model, remaps Caps Lock to F18 persistently (with an uninstall script) and opens the needed permission panes. It targets Apple Silicon and is MIT licensed.
What the decision model decides
| Type | Question | Answers |
|---|---|---|
| Choice | Which action does this spoken command map to (open app, type, search, scroll, press key, ...)?(inferred) | — |
| Choice | Which code-generated candidate value fills each typed argument? | — |
How it works
- Capture audio; VAD and local whisper.cpp transcribe
- Only wake-word utterances go to Jev
- One request selects action and typed arguments
- Code runs the macOS automation and speaks feedback
Strengths
- Audio and transcription stay local
- About 250 ms decision call per command
- Several interaction modes and a dry-run tester
Caveats
- Requires broad macOS permissions (Accessibility, Input Monitoring, Microphone)
- Remaps Caps Lock system-wide
- Apple Silicon only
Getting started
cp .env.example .env (add TYPESAFE_API_KEY), ./scripts/setup.sh, then run `jev`.At a glance
- Type
- Project
- Status
- prototype
- Language
- Python
- Runtime
- macOS CLI
- Has code
- yes
- License
- MIT
Use cases and integrations
How curated lists describe it
Talk to your Mac. Local whisper.cpp + one Jev (TypeSafe) call per command + macOS automation.
logicrw/awesome-jev-projectsTalk to your Mac. Local whisper.cpp + one Jev (TypeSafe) call per command +…
wh000wh000/awesome-jev-liveTalk to your Mac. Local whisper.cpp + one Jev (TypeSafe) call per command + macOS automation.
hellogumbo/awesome-jevLocal whisper.cpp for the transcript, then one Jev request picks the action and its typed arguments; code owns execution.
MrJev/awesome-jev
Frequently asked questions
What leaves my machine?
Only wake-word transcripts sent to Jev; audio and transcription are local.
Does Jev write the text it types?
No. Code proposes candidate values and Jev selects among them.
Can I test without a microphone?
Yes, use `jev --text "..." --dry-run`.
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.
ProjectbetaPythonFloating 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.
ProjectprototypeRustElectron app for controlling Windows 10/11 by Turkish or English speech, using OpenAI Realtime, Jev decisions, UI Automation and Playwright.
ProjectprototypeTypeScript