How henryklunaris/hey-jev works
Hey Jev is a macOS voice assistant: the user speaks in push-to-talk or wake-word mode, speech is transcribed locally, Jev classifies the request, and the assistant performs a Mac action or answers a question, then speaks a reply. The README also documents timers/reminders and a native status window with live countdowns and key settings. The excerpts show selected implementation details; timer and action orchestration links not directly visible are kept conservative.
Main entry points: siri.py Turn handling · assistant_ui.py Status window · secrets_store.py Key storage
Components 17
Voice input
- Audio capture
siri.py - Wake detection
siri.py - Local transcription
siri.py
Assistant runtime
- Turn handling
siri.py - Intent decisions
siri.py - Question answers
siri.py - Timers and reminders
siri.py - Reply selection
siri.py - Speech synthesis
siri.py
Mac actions
- Mac commands
siri.py
App experience
- Status window
assistant_ui.py - Key storage
secrets_store.py
Other components
- User
- macOS
- TypeSafe Jev
- OpenRouter
- Fish Audio
Connections 20
- User → Audio capture: speaks to
- Status window → Turn handling: starts runtime
- Status window → Turn handling: sends controls
- Audio capture → Wake detection: queues phrases
- Wake detection → Local transcription: transcribes locally
- Local transcription → Turn handling: provides text
- User → Turn handling: submits text
- Turn handling → Intent decisions: classifies request
- Intent decisions → TypeSafe Jev: requests decisions
- Turn handling → Mac commands: dispatches action
- Mac commands → macOS: runs commands
- Turn handling → Question answers: asks questions
- Question answers → OpenRouter: requests answer
- Turn handling → Timers and reminders: handles timer requests
- Timers and reminders → Status window: provides countdowns
- Turn handling → Reply selection: selects response
- Reply selection → Speech synthesis: renders speech
- Speech synthesis → Fish Audio: requests audio
- Speech synthesis → macOS: plays audio
- Status window → Key storage: reads and saves keys