A comprehensive voice-enabled agent system that combines LiveKit real-time communication with AWS serverless infrastructure to provide intelligent analysis capabilities.
The system consists of two main components:
- Serverless Backend (AWS) - Handles long-running analysis tasks with real-time WebSocket updates
- LiveKit Agent (Python) - Voice-enabled AI agent that interacts with users and triggers backend services
┌─────────────────┐ HTTP/WebSocket ┌──────────────────────┐
│ LiveKit │ ◄─────────────────► │ AWS Serverless │
│ Voice Agent │ │ Backend │
│ (Python) │ │ (Node.js) │
└─────────────────┘ └──────────────────────┘
│ │
│ ▼
▼ ┌──────────────────────┐
┌─────────────────┐ │ Step Functions │
│ Users │ │ • GitHub Analysis │
│ (Voice/Chat) │ │ • Org Analysis │
└─────────────────┘ └──────────────────────┘
│
▼
┌──────────────────────┐
│ External APIs │
│ • GitHub API │
│ • OpenAI API │
│ • Weather API │
└──────────────────────┘
- Weather Lookup - Get current weather for any location
- GitHub User Analysis - Analyze individual GitHub profiles and repositories
- GitHub Organization Analysis - Comprehensive analysis of organization repositories and contributors
- Real-time Updates - Voice feedback during long-running analysis tasks
- WebSocket Real-time Communication - Live progress updates during analysis
- Scalable Analysis Pipeline - AWS Step Functions for orchestrating complex workflows
- AI-Powered Insights - OpenAI integration for generating professional analysis reports
- Secure Storage - S3 for result storage with signed download URLs
- Connection Management - DynamoDB for WebSocket subscription tracking
- Node.js 22+ and Python 3.14+
- uv - Modern Python package manager
- AWS CLI configured with appropriate permissions
- GitHub Personal Access Token
- OpenAI API Key
- LiveKit Cloud account
Create .env files with the following variables:
Backend (.env)
GITHUB_TOKEN=your_github_personal_access_token
OPENAI_API_KEY=your_openai_api_keyAgent (.env)
LIVEKIT_URL=your_livekit_server_url
LIVEKIT_API_KEY=your_livekit_api_key
LIVEKIT_API_SECRET=your_livekit_api_secret# Install dependencies
npm install
# Deploy to AWS
npx serverless deploy
# Note the API endpoint from deployment output# Navigate to the agent
cd src/agent
# Install uv if not already installed
curl -LsSf https://astral.sh/uv/install.sh | sh
# Install poethepoet task runner
uv tool install poethepoet
# Install Python dependencies
uv sync
# Run the agent
uv run agent.py
# or
# poe dev