Voice and task execution
Live conversation for the moment. A task agent for the work that follows.

How it fits into your day
You are in the middle of something. A timer should take a sentence; investigating a broken script needs a little more thought. Jarvis connects a live voice assistant to a separate task agent, so everyday desktop actions and deeper work have their own place in the same conversation.
Install voice and desktop dependencies
Run this in the extracted Jarvis source directory with uv installed.
uv sync --locked --extra voice --extra desktopConfigure both brains
Set GEMINI_API_KEY in the project-local .env. Configure the task model and its credentials with jarvis model. A local task model does not replace the cloud voice connection.
uv run jarvis modelChoose devices and start
List devices if the default microphone or speaker is wrong. The plain jarvis command also starts voice mode.
uv run jarvis lowlevel --list-devices
uv run jarvis runScope and availability
Voice needs a live connection. The default spoken conversation uses Gemini Live and an API key. Local storage and a local task model do not make the voice path offline.
An interrupted reply is not a rollback. Interrupting speech or timing out a delegation does not undo an action already performed. Inspect the task or activity result before retrying.
A practical first request
You want to keep working without finding a timer app or typing a command.
Try: “Jarvis, set a twenty-minute focus timer.”
A saved timer that you can list, pause, resume or cancel. Starting it is separate from its eventual notification.