AI-powered web search and information agents platform
- Overview
- Architecture
- Getting Started
- Prerequisites
- Quick Setup
- Development
- Services
- Infrastructure
- Contributing
- License
OrbitAgents is a modern, cloud-native platform for AI-powered web search and information retrieval. Built with a microservices architecture, it provides intelligent agents that can crawl, analyze, rank, and deliver relevant information to users.
Run the entire OrbitAgents platform using only free and open-source tools:
git clone https://github.com/your-org/OrbitAgents
cd OrbitAgents
make quick-startFree Stack Includes:
- ποΈ PostgreSQL (free database)
- π OpenSearch (free Elasticsearch alternative)
- π¦ MinIO (free S3-compatible storage)
- π€ Ollama (free local AI models)
- π Playwright (free browser automation)
- π Prometheus + Grafana (free monitoring)
- π Redis (free message queue)
- π GitHub Actions (free CI/CD)
- π€ AI-Powered Search: Intelligent information retrieval and ranking
- π Browser Automation: Visual automation builder with Playwright
- ποΈ Microservices Architecture: Scalable and maintainable service design
- βοΈ Cloud Native: Built for AWS with Kubernetes orchestration
- π Secure: Authentication, authorization, and data protection
- π Observable: Comprehensive monitoring and logging
- π CI/CD Ready: Automated testing, building, and deployment
- π° Cost Optimized: Free tier uses only open-source tools
βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββ
β Frontend β β API Gateway β β Load Balancer β
β (React/TS) βββββΊβ βββββΊβ (ALB) β
βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββ
β
βββββββββββββββββΌββββββββββββββββ
β β β
βββββββββΌβββββββ ββββββββΌβββββββ βββββββΌβββββββ
β Auth Service β βQuery Serviceβ β Notify β
β (FastAPI) β β (FastAPI) β β Service β
ββββββββββββββββ βββββββββββββββ ββββββββββββββ
β β β
βββββββββΌβββββββ ββββββββΌβββββββ βββββββΌβββββββ
β Crawler β β Ranker β β PostgreSQL β
β Service β β Service β β (RDS) β
β (FastAPI) β β (FastAPI) β β β
ββββββββββββββββ βββββββββββββββ ββββββββββββββ
Before you begin, ensure you have the following installed:
- AWS CLI (v2.0+) - Installation Guide
- Terraform (v1.6+) - Installation Guide
- kubectl (v1.28+) - Installation Guide
- Docker (v24.0+) - Installation Guide
- Node.js (v18+) - Installation Guide
- Python (v3.11+) - Installation Guide
-
Clone the repository
git clone https://github.com/your-org/OrbitAgents.git cd OrbitAgents -
Configure AWS credentials
aws configure
-
Initialize and apply infrastructure
make infra-plan # Review planned changes make infra-apply # Apply infrastructure
-
Configure kubectl for EKS
aws eks update-kubeconfig --region us-west-2 --name orbit-agents-cluster
-
Install development dependencies
make install-deps
-
Start development environment
# Terminal 1: Start frontend cd frontend/ npm run dev # Terminal 2: Start auth service cd services/auth/ python -m uvicorn main:app --reload --port 8001 # Terminal 3: Start query service cd services/query/ python -m uvicorn main:app --reload --port 8002
make help # Show all available commands
make lint # Run all linters
make fmt # Format all code
make test # Run all tests
make build-all # Build all Docker images
make infra-plan # Plan Terraform changes
make infra-apply # Apply Terraform changes- Python: Black, isort, flake8
- TypeScript: ESLint, Prettier
- Terraform: terraform fmt, tflint
# Run all tests
make test
# Run specific service tests
cd services/auth/
python -m pytest
# Run frontend tests
cd frontend/
npm run test- User registration and login
- JWT token management
- Password hashing and validation
- Port: 8000
- Search query processing
- Result aggregation
- User preference handling
- Port: 8000
- Web content crawling
- Content extraction and parsing
- Crawl scheduling and management
- Port: 8000
- Search result ranking
- AI-powered relevance scoring
- Personalization algorithms
- Port: 8000
- Email notifications
- Real-time alerts
- Notification preferences
- Port: 8000
- VPC: Custom VPC with public/private subnets
- EKS: Kubernetes cluster for container orchestration
- RDS: PostgreSQL database for persistent storage
- ECR: Container registry for Docker images
- ALB: Application load balancer for traffic distribution
- Route53: DNS management
- CloudWatch: Monitoring and logging
cd infra/
terraform plan # Review changes
terraform apply # Apply changes
terraform destroy # Clean up resourcesWe welcome contributions! Please see our Contributing Guide for details.
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests
- Submit a pull request
This project is licensed under the MIT License - see the LICENSE file for details.
Built with β€οΈ by the OrbitAgents Team