gilbarbara/super-agent

A LiveKit agent with a serverless backend used to run function tools.

★ 2Forks 0TypeScriptGitHub ↗Compare

README

super-agent

A comprehensive voice-enabled agent system that combines LiveKit real-time communication with AWS serverless infrastructure to provide intelligent analysis capabilities.

Architecture Overview

The system consists of two main components:

  1. Serverless Backend (AWS) - Handles long-running analysis tasks with real-time WebSocket updates
  2. 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      │
                                        └──────────────────────┘

Features

Voice Agent Capabilities

  • 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

Backend Services

  • 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

Quick Start

Prerequisites

  • 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

Environment Variables

Create .env files with the following variables:

Backend (.env)

GITHUB_TOKEN=your_github_personal_access_token
OPENAI_API_KEY=your_openai_api_key

Agent (.env)

LIVEKIT_URL=your_livekit_server_url
LIVEKIT_API_KEY=your_livekit_api_key
LIVEKIT_API_SECRET=your_livekit_api_secret

Deploy Backend

# Install dependencies
npm install

# Deploy to AWS
npx serverless deploy

# Note the API endpoint from deployment output

Run LiveKit Agent

# 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

Contributors

gilbarbara

Issues