Loading repository data…
Loading repository data…
adventurewave-labs / repository
AI Agent Dashboard - Production-ready dashboard for managing AI agents with real-time monitoring, WebSocket communication, and multi-platform integrations.
A production-ready, comprehensive dashboard for managing and orchestrating AI agents with real-time monitoring, WebSocket communication, and multi-platform integrations.
┌─────────────────────────────────────────────────────────────────────────────────┐
│ AI Agent Dashboard │
├─────────────────────────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────────┐ ┌─────────────────┐ ┌─────────────────────────────┐ │
│ │ React SPA │ │ Vite Dev Server│ │ Component Library │ │
│ │ (Port 8080) │ │ (HMR/Proxy) │ │ (shadcn/ui + Tailwind) │ │
│ │ │ │ │ │ │ │
│ │ • Agent Dashboard│ │ • Hot Reload │ │ • 50+ UI Components │ │
│ │ • Real-time UI │◄──►│ • API Proxy │◄──►│ • Responsive Design │ │
│ │ • Analytics │ │ • Asset Serving │ │ • Dark/Light Mode │ │
│ │ • Terminal View │ │ • TypeScript │ │ • Form Validation │ │
│ └─────────────────┘ └─────────────────┘ └─────────────────────────────┘ │
│ │ │ │ │
│ │ HTTP/WebSocket │ │ │
│ ▼ ▼ ▼ │
│ ┌─────────────────────────────────────────────────────────────────────────────┐ │
│ │ Backend API Server │ │
│ │ (Port 3001) │ │
│ │ │ │
│ │ ┌─────────────────┐ ┌─────────────────┐ ┌─────────────────────────────┐ │ │
│ │ │ Express.js │ │ WebSocket Srv │ │ Agent Service │ │ │
│ │ │ │ │ │ │ │ │ │
│ │ │ • REST API │ │ • Real-time │ │ • Lifecycle Management │ │ │
│ │ │ • Auth (JWT) │ │ • Subscriptions │ │ • Task Execution │ │ │
│ │ │ • Rate Limiting │ │ • Broadcasting │ │ • Scaling & Monitoring │ │ │
│ │ │ • Validation │ │ • Heartbeat │ │ • Error Recovery │ │ │
│ │ └─────────────────┘ └─────────────────┘ └─────────────────────────────┘ │ │
│ │ │ │ │ │ │
│ │ ▼ ▼ ▼ │ │
│ │ ┌─────────────────────────────────────────────────────────────────────────┐ │ │
│ │ │ Agent Adapters │ │ │
│ │ │ │ │ │
│ │ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌─────────────────────┐ │ │ │
│ │ │ │ GitHub │ │ YouTube │ │ LinkedIn │ │ Crates.io │ │ │ │
│ │ │ │ Agent │ │ Agent │ │ Agent │ │ Agent │ │ │ │
│ │ │ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │ • Repo Scan │ │ • Channel │ │ • Profile │ │ • Crate Monitoring │ │ │ │
│ │ │ │ • PR Track │ │ • Analytics │ │ • Company │ │ • Version Tracking │ │ │ │
│ │ │ │ • Issues │ │ • Video Data │ │ • Network │ │ • Dependency Info │ │ │ │
│ │ │ └─────────────┘ └─────────────┘ └─────────────┘ └─────────────────────┘ │ │ │
│ │ └─────────────────────────────────────────────────────────────────────────┘ │ │
│ └─────────────────────────────────────────────────────────────────────────────┘ │
│ │ │
│ ▼ │
│ ┌─────────────────────────────────────────────────────────────────────────────┐ │
│ │ External Services & APIs │ │
│ │ │ │
│ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌─────────────────────┐ │ │
│ │ │ GitHub │ │ YouTube │ │ LinkedIn │ │ OpenRouter AI │ │ │
│ │ │ API │ │ API │ │ API │ │ API │ │ │
│ │ └─────────────┘ └─────────────┘ └─────────────┘ └─────────────────────┘ │ │
│ │ │ │
│ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌─────────────────────┐ │ │
│ │ │ Supabase │ │ Redis │ │ MongoDB │ │ Winston │ │ │
│ │ │ Database │ │ Cache │ │ (Optional) │ │ Logging │ │ │
│ │ └─────────────┘ └─────────────┘ └─────────────┘ └─────────────────────┘ │ │
│ └─────────────────────────────────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────────────────────────┘
# Install nvm
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash
source ~/.bashrc
# Install and use Node.js 20 LTS
nvm install --lts=iron
nvm use --lts=iron
nvm alias default node
# Verify installation
node --version # Should be v20.x.x
npm --version # Should be 10.x.x
# Ubuntu/Debian
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt-get install -y nodejs
# macOS (using Homebrew)
brew install node@20
# Windows (using Chocolatey)
choco install nodejs --version=20.9.0
git clone https://github.com/your-org/agentic-dashboard.git
cd agentic-dashboard
# Install main frontend dependencies
npm install
# Verify installation (should complete without errors)
npm run typecheck
cd backend
npm install
# Verify backend installation
npm run typecheck
cd ..
Frontend Environment (.env):
# Copy the example environment file
cp .env.example .env
# Edit with your configuration
nano .env
Backend Environment (backend/.env):
# Copy the example environment file
cd backend
cp .env.example .env
# Edit with your configuration
nano .env
cd ..
Supabase Setup:
.env:
SUPABASE_URL=https://your-project.supabase.co
SUPABASE_ANON_KEY=your-anon-key
Redis Setup (Optional - for caching):
# Ubuntu/Debian
sudo apt update
sudo apt install redis-server
sudo systemctl start redis
sudo systemctl enable redis
# macOS
brew install redis
brew services start redis
# Verify Redis is running
redis-cli ping
# Should return: PONG
You'll need API keys for the agents you want to use:
GitHub Token:
repo, read:org, read:user scopes.env files:
GITHUB_TOKEN=ghp_your_github_token_here
YouTube API Key:
.env files:
YOUTUBE_API_KEY=your_youtube_api_key_here
OpenRouter API Key:
.env:
VITE_OPENROUTER_API_KEY=sk-or-v1-your-key-here
cd backend
npm run dev
# Server should start at http://localhost:3001
# You'll see output like:
# [INFO] Server started successfully on localhost:3001
# [INFO] Agent service started with 4 agents
# In a new terminal window/tab
cd agentic-dashboard
npm run dev
# Frontend should start at http://localhost:8080
# You'll see output like:
# VITE v5.x.x ready in xxx ms
#
# ➜ Local: http://localhost:8080/
# ➜ Network: use --host to expose
# ➜ press h to show help
npm run build
# Output will be in `dist/` directory
# Files are optimized for production
cd backend
npm run build
# Output will be in `dist/` directory
# TypeScript is compiled to JavaScript
cd ..
# Start backend (in background)
cd backend
npm start &
cd ..
# Serve frontend files (in production)
# Option 1: Using the built-in preview
npm run preview
# Option 2: Using a production web server like nginx
# Point nginx to serve files from `dist/` directory
# ===========================================
# DATABASE CONFIGURATION
# ===========================================
SUPABASE_URL=https://your-project.supabase.co
SUPABASE_ANON_KEY=your-supabase-anon-key
SUPABASE_SERVICE_ROLE_KEY=your-service-role-key
# Optional MongoDB Configuration
MONGODB_URI=mongodb://localhost:27017
MONGODB_DATABASE=agentic_dashboard
# Optional Redis Configuration
REDIS_HOST=localhost
REDIS_PORT=6379
REDIS_PASSWORD=
REDIS_DATABASE=0
# ===========================================
# API CONFIGURATION
# ===========================================
GITHUB_TOKEN=ghp_your_github_token
YOUTUBE_API_KEY=your_youtube_api_key
OPENROUTER_API_KEY=sk-or-v1-your-openrouter-key
OPENROUTER_MODEL=anthropic/claude-3.5-sonnet
# LinkedIn Configuration (choose one method)
LINKEDIN_USERNAME=your_linkedin_username
LINKEDIN_PASSWORD=your_linkedin_password
# OR
LINKEDIN_SESSION_COOKIE=your_linkedin_session_cookie
# ===========================================
# EXECUTION CONFIGURATION
# ===========================================
MAX_CONCURRENT_AGENTS=3
DEFAULT_AGENT_TIMEOUT=300000
MAX_RETRIES=3
ENABLE_CIRCUIT_BREAKER=true
ENABLE_METRICS=true
LOG_LEVEL=info
# ===========================================
# SCHEDULER CONFIGURATION
# ===========================================
SCHEDULER_ENABLED=true
DEFAULT_SCHEDULE=*/15 * * * *
TIMEZONE=UTC
MAX_SCHEDULED_JOBS=100
# ===========================================
# SECURITY CONFIGURATION
# ===========================================
ENABLE_RATE_LIMITING=true
ENABLE_REQUEST_SI