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.
- Host: GitHub
- URL: https://github.com/gilbarbara/super-agent
- Owner: gilbarbara
- Created: 2025-06-23T04:55:05.000Z (7 months ago)
- Default Branch: main
- Last Pushed: 2025-06-23T04:55:07.000Z (7 months ago)
- Last Synced: 2025-06-28T21:46:22.721Z (7 months ago)
- Language: TypeScript
- Size: 184 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
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
```