Skip to content

marinmarian/voice-agent

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 

Repository files navigation

darwin-agent

LiveKit voice AI agent for the Darwin Unitree G1 humanoid robot.

Darwin listens, talks, and sends RPC gesture commands to the robot via LiveKit. The robot side (uniact-code/livekit_bridge.py) receives those commands and translates them to physical motion.

Architecture

Attendee speaks
     ↓
darwin-agent  (this project — voice AI, runs on laptop or cloud)
     ↓  RPC over LiveKit
livekit_bridge.py  (uniact-code — on Mac connected to G1)
     ↓
G1 robot moves

Both sides must join the same LiveKit room with credentials from the same server.

Setup

cd backend
cp ../.env.example ../.env
# Fill in .env with your credentials

uv sync

Running

cd backend
./start_agent.sh

Or directly:

cd backend
.venv/bin/python -m app.main dev

Event knowledge

Edit event.md at the project root to update what Darwin knows about the current event. The file is loaded at startup — restart the agent to pick up changes.

Configuration

Variable Default Description
LIVEKIT_URL LiveKit server URL
LIVEKIT_API_KEY LiveKit API key
LIVEKIT_API_SECRET LiveKit API secret
LLM_PROVIDER openai openai or google
OPENAI_API_KEY Required for OpenAI
REALTIME_TTS_PROVIDER native native or cartesia
CARTESIA_API_KEY Required if using Cartesia TTS
ROBOT_PARTICIPANT_IDENTITY robot123987 Must match uniact-code .env
EVENT_FILE_PATH event.md Path to event knowledge file

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors