Skip to content

Real-time AI voice agent: FastAPI backend and LiveKit worker for low‑latency STT→LLM→TTS conversations.

Notifications You must be signed in to change notification settings

criticalcoder-ai/jarvis-voice-ai-agent

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Jarvis Voice Agent (Under Development)

A real-time AI voice assistant split into two Python services with isolated environments:

  • backend: FastAPI REST API for auth, sessions, and LiveKit room management
  • worker: LiveKit Agent that runs STT → LLM → TTS for live voice conversations

Project split

  • Backend (FastAPI)
    • Auth (Google OAuth + JWT), session/tier control, LiveKit token/room handling
  • Worker (LiveKit Agent)
    • Deepgram STT, OpenRouter LLM (e.g., Gemini/GPT), Google Cloud TTS, Silero VAD

Basic structure

jarvis-voice-agent/
├─ backend/
│  ├─ main.py
│  └─ app/{auth,db,routes,schemas,services}
├─ worker/
│  ├─ main.py
│  ├─ entry.py
│  └─ agent.py
└─ google-creds.json (gitignored)

Prerequisites

  • Python 3.13+
  • uv (Python package manager) installed
  • Required service credentials in .env and google-creds.json

Setup and run with uv (isolated per service)

Run each service in its own terminal (separate virtual envs and processes).

  • Backend (Terminal 1)
cd backend
uv venv
.venv\Scripts\Activate.ps1
uv sync
uv run uvicorn main:app --reload --port 8000
  • Worker (Terminal 2)
cd worker
uv venv
.venv\Scripts\Activate.ps1
uv sync
uv run python main.py dev

Environment

Place environment variables in a .env at the repo root (used by both services):

  • DATABASE_URL, UPSTASH_REDIS_REST_URL, UPSTASH_REDIS_REST_TOKEN
  • LIVEKIT_API_KEY, LIVEKIT_API_SECRET, LIVEKIT_URL
  • JWT_SECRET_KEY, GOOGLE_CLIENT_ID, GOOGLE_CLIENT_SECRET
  • DEEPGRAM_API_KEY, OPENROUTER_API_KEY, OPENROUTER_BASE_URL, ELEVENLABS_API_KEY
  • GOOGLE_APPLICATION_CREDENTIALS=./google-creds.json

API docs: http://localhost:8000/docs (after backend starts)

Status: actively under development.

About

Real-time AI voice agent: FastAPI backend and LiveKit worker for low‑latency STT→LLM→TTS conversations.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages