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

https://github.com/adam-aimoscloud/agent-connector

A comprehensive AI agent management platform with React frontend and Go backend, supporting multiple AI service providers with unified interfaces, load balancing, and rate limiting.
https://github.com/adam-aimoscloud/agent-connector

agent-management dify openai rate-limiting unified-access-gateway

Last synced: about 1 month ago
JSON representation

A comprehensive AI agent management platform with React frontend and Go backend, supporting multiple AI service providers with unified interfaces, load balancing, and rate limiting.

Awesome Lists containing this project

README

          

# Agent-Connector

> **โš ๏ธ DEVELOPMENT VERSION WARNING โš ๏ธ**
>
> **๐Ÿšง This project is currently in active development and NOT ready for production use.**
>
> - Some features are still under testing and may not work as expected
> - APIs and configurations may change without notice
> - Data loss or system instability may occur
> - Security features are not fully implemented
>
> **Please use this only for development, testing, and evaluation purposes.**
>
> ---

A comprehensive AI agent management platform with React frontend and Go backend, supporting multiple AI service providers with unified interfaces, load balancing, and rate limiting.

## Project Structure

```
Agent-Connector/
โ”œโ”€โ”€ frontend/ # React TypeScript frontend
โ”‚ โ””โ”€โ”€ agent-connector-dashboard/
โ”œโ”€โ”€ backend/ # Go backend services
โ”‚ โ”œโ”€โ”€ cmd/ # Application entry points
โ”‚ โ”œโ”€โ”€ api/ # API handlers and routes
โ”‚ โ”œโ”€โ”€ internal/ # Internal packages
โ”‚ โ”œโ”€โ”€ pkg/ # Reusable packages
โ”‚ โ””โ”€โ”€ config/ # Configuration management
โ”œโ”€โ”€ .gitignore # Git ignore rules
โ””โ”€โ”€ README.md # This file
```

## Features

> **๐Ÿ“‹ Feature Status**: Some features are still in development or testing phase. See individual feature documentation for current status.

### Frontend (React Dashboard)
- **User Management**: Role-based access control and user administration
- **Agent Configuration**: Multi-provider AI agent setup (OpenAI, Dify, Custom)
- **Rate Limiting**: Comprehensive rate limiting configuration and monitoring
- **System Monitoring**: Real-time system status and performance metrics
- **Responsive Design**: Modern UI with Ant Design components

### Backend (Go Services)
- **Authentication API** (Port 8083): User authentication and management
- **Control Flow API** (Port 8081): Agent configuration and management
- **Data Flow API** (Port 8082): Rate limiting and data flow control
- **Unified Configuration**: Environment-based configuration management
- **Health Monitoring**: Built-in health checks and metrics

## Quick Start

> **โš ๏ธ REMINDER**: This is a development version. Do not use in production environments.

### Prerequisites
- **Frontend**: Node.js 16+, npm 8+
- **Backend**: Go 1.21+, MySQL 8.0+, Redis 6.0+

### Development Setup

1. **Clone the repository**
```bash
git clone https://github.com/adam-aimoscloud/Agent-Connector.git
cd Agent-Connector
```

2. **Database Setup**
```bash
# Start MySQL and Redis (using Docker)
docker run -d --name mysql-agent \
-e MYSQL_ROOT_PASSWORD=123456 \
-e MYSQL_DATABASE=agent_connector \
-p 3306:3306 mysql:8.0

docker run -d --name redis-agent \
-p 6379:6379 redis:7-alpine
```

3. **Backend Setup**
```bash
cd backend

# Copy and configure environment variables
cp .env.example .env
# Edit .env file with your database and Redis configurations

# Download dependencies
go mod download

# Build all services
go build -o bin/auth-api ./cmd/auth-api/
go build -o bin/control-flow-api ./cmd/control-flow-api/
go build -o bin/dataflow-api ./cmd/dataflow-api/
```

4. **Start Backend Services**

**Option 1: Start all services using scripts**
```bash
# Make scripts executable
chmod +x scripts/*.sh

# Start all services
./scripts/start-all.sh
```

**Option 2: Start services individually**
```bash
# Terminal 1: Start Authentication API
go run cmd/auth-api/main.go
# or
./bin/auth-api

# Terminal 2: Start Control Flow API
go run cmd/control-flow-api/main.go
# or
./bin/control-flow-api

# Terminal 3: Start Data Flow API
go run cmd/dataflow-api/main.go
# or
./bin/dataflow-api
```

**Option 3: Start services in background**
```bash
# Start all services in background
nohup ./bin/auth-api > logs/auth-api.log 2>&1 &
nohup ./bin/control-flow-api > logs/control-flow-api.log 2>&1 &
nohup ./bin/dataflow-api > logs/dataflow-api.log 2>&1 &

# Check if services are running
ps aux | grep -E "(auth-api|control-flow-api|dataflow-api)"
```

5. **Frontend Setup**
```bash
cd frontend/agent-connector-dashboard

# Install dependencies
npm install

# Copy and configure environment variables
cp .env.example .env
# Edit .env file if needed

# Start development server
npm start
```

6. **Verify Services**
```bash
# Check backend services health
curl http://localhost:8083/health # Auth API
curl http://localhost:8081/health # Control Flow API
curl http://localhost:8082/health # Data Flow API

# Frontend should be available at http://localhost:3000
```

7. **Access the application**
- **Frontend Dashboard**: http://localhost:3000
- **Auth API**: http://localhost:8083
- **Control Flow API**: http://localhost:8081
- **Data Flow API**: http://localhost:8082

### Default Login
- **Username**: admin
- **Password**: admin123

### Stop Services
```bash
# Stop all backend services
cd backend
./scripts/stop-all.sh

# Or kill individual processes
pkill -f auth-api
pkill -f control-flow-api
pkill -f dataflow-api

# Stop frontend (Ctrl+C in the terminal where npm start is running)
```

## Configuration

### Environment Variables
The project uses environment variables for configuration. See:
- Backend: `backend/.env.example`
- Frontend: `frontend/agent-connector-dashboard/.env.example`

### Service Ports
- **Auth API**: 8083
- **Control Flow API**: 8081
- **Data Flow API**: 8082
- **Frontend Dev Server**: 3000

## Documentation

- [Frontend Documentation](frontend/agent-connector-dashboard/README.md)
- [Backend Configuration](backend/config/README.md)
- [API Configuration](frontend/agent-connector-dashboard/src/config/README.md)
- [Git Commit Guidelines](git-commit-guidelines.md)

## Development

### Git Workflow
This project includes a comprehensive `.gitignore` file that handles:
- Go binaries and build artifacts
- Node.js dependencies and build outputs
- Environment variables and secrets
- IDE and editor files
- Operating system specific files
- Log files and temporary data

### Code Structure
- **Frontend**: React + TypeScript + Ant Design
- **Backend**: Go with clean architecture
- **Database**: MySQL for persistent data
- **Cache**: Redis for session and rate limiting
- **Configuration**: Environment-based with validation

## Known Issues & Limitations

> **โš ๏ธ IMPORTANT**: This section lists current limitations and known issues.

### Current Development Status
- **๐Ÿ”„ Active Development**: Core features are being actively developed and tested
- **๐Ÿงช Testing Phase**: Many features require additional testing before production readiness
- **๐Ÿ“ Documentation**: Some documentation may be incomplete or outdated

### Known Limitations
- **Security**: Authentication and authorization systems are not production-ready
- **Performance**: No performance optimization has been done for high-load scenarios
- **Error Handling**: Error handling and recovery mechanisms are incomplete
- **Data Validation**: Input validation and sanitization need improvement
- **Logging**: Comprehensive logging and monitoring are not fully implemented
- **Testing**: Unit tests and integration tests coverage is incomplete

### Features Under Development
- **Rate Limiting**: Advanced rate limiting algorithms and configurations
- **Load Balancing**: Intelligent load balancing across multiple agents
- **Monitoring**: Real-time monitoring and alerting systems
- **API Versioning**: Proper API versioning and backward compatibility
- **Data Migration**: Database migration and backup systems

### Recommended Use Cases
- โœ… **Development and Testing**: Perfect for development and testing environments
- โœ… **Proof of Concept**: Suitable for demonstrating AI agent management concepts
- โœ… **Learning**: Great for learning about microservices and AI agent architectures
- โŒ **Production**: NOT recommended for production environments
- โŒ **Critical Systems**: Should not be used for business-critical applications

## Contributing

1. Fork the repository
2. Create a feature branch
3. Make your changes
4. Add tests if applicable
5. Submit a pull request

## License

This project is licensed under the MIT License - see the LICENSE file for details.