An open API service indexing awesome lists of open source software.

https://github.com/gilbarbara/super-agent

A LiveKit agent with a serverless backend used to run function tools.
https://github.com/gilbarbara/super-agent

Last synced: 7 months ago
JSON representation

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

Awesome Lists containing this project

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](https://docs.astral.sh/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)**

```shell
GITHUB_TOKEN=your_github_personal_access_token
OPENAI_API_KEY=your_openai_api_key
```

**Agent (.env)**

```shell
LIVEKIT_URL=your_livekit_server_url
LIVEKIT_API_KEY=your_livekit_api_key
LIVEKIT_API_SECRET=your_livekit_api_secret
```

### Deploy Backend

```shell
# Install dependencies
npm install

# Deploy to AWS
npx serverless deploy

# Note the API endpoint from deployment output
```

### Run LiveKit Agent

```shell
# 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
```