aubm / README.md
cesjavi's picture
Add Tavily web search and project editing improvements
9cc23a0
---
title: Aubm
sdk: docker
app_port: 7860
license: mit
short_description: Automated Business Machines
---
# πŸ€– Aubm
### Enterprise-Grade AI Agent Orchestration & Collaboration Platform
Aubm (Automated Unified Business Machines) is a sophisticated platform designed to orchestrate multiple autonomous AI agents to complete complex projects. Featuring **Human-in-the-Loop** supervision, **Dynamic DAG** task execution, and **Semantic RAG** context injection.
---
## πŸš€ Key Features
- **Multi-Provider Support**: Seamless integration with OpenAI, AMD (inference.do-ai.run), Groq, Gemini, Qwen, Ollama, and OpenRouter.
- **Autonomous Orchestration**: Intelligent task prioritization and execution based on dependencies (DAG).
- **Human-in-the-Loop**: Approval-based workflow ensuring quality and safety.
- **Semantic Backpropagation**: Context from completed tasks is automatically injected into subsequent tasks.
- **Real-time Monitoring**: SSE-powered live logs and progress tracking.
- **Project Wizard**: AI-driven project creation and task decomposition.
- **Operational Safety**: Automatic recovery of stale runs and comprehensive health monitoring.
---
## πŸ› οΈ Tech Stack
- **Frontend**: React + Vite + TypeScript (Styled with Vanilla CSS for maximum performance)
- **Backend**: FastAPI (Python 3.10+)
- **Database**: Supabase (Postgres + Auth + Real-time)
- **Deployment**: Optimized for Vercel (Serverless Backend + Static Frontend)
---
## πŸ—οΈ Project Structure
```bash
aubm/
β”œβ”€β”€ backend/ # FastAPI Application & AI Core
β”‚ β”œβ”€β”€ agents/ # LLM Provider Implementations
β”‚ β”œβ”€β”€ routers/ # API Endpoints (Runner, Orchestrator)
β”‚ β”œβ”€β”€ services/ # Business Logic (Queue, RAG, Guards)
β”‚ └── main.py # App Entrypoint
β”œβ”€β”€ frontend/ # React Application
β”‚ β”œβ”€β”€ src/ # Components, Hooks, Context, Services
β”‚ └── vite.config.ts # Vite Configuration
└── database/ # Supabase Schema & Migrations
```
---
## βš™οΈ Getting Started
### 1. Database Setup (Supabase)
1. Create a new project in [Supabase](https://supabase.com).
2. Go to the **SQL Editor** and execute the content of `backend/schema.sql`.
3. Enable **Auth** with your preferred providers (Email/Password by default).
### 2. Backend Installation
```bash
cd backend
python -m venv venv
source venv/bin/activate # or venv\Scripts\activate on Windows
pip install -r requirements.txt
```
Create a `.env` file in `/backend`:
```env
SUPABASE_URL=your_project_url
SUPABASE_SERVICE_ROLE_KEY=your_service_role_key
OPENAI_API_KEY=optional_key
GROQ_API_KEY=optional_key
TAVILY_API_KEY=optional_key
# See SPEC.md for all available providers
```
Run the server:
```bash
uvicorn main:app --reload --port 8000
```
### 3. Frontend Installation
```bash
cd frontend
npm install
```
Create a `.env` file in `/frontend`:
```env
VITE_API_URL=http://localhost:8000
VITE_SUPABASE_URL=your_project_url
VITE_SUPABASE_ANON_KEY=your_anon_key
```
Run the development server:
```bash
npm run dev
```
---
## πŸ“ˆ Operational Modes
- **Embedded Worker**: Runs the task queue within the FastAPI process (set `TASK_QUEUE_EMBEDDED_WORKER=true`).
- **Standalone Worker**: For high-load environments, run the worker in a separate process:
```bash
cd backend
python worker.py
```
---
## Hugging Face Spaces
This repository is ready to deploy as a Docker Space. Create a Hugging Face Space with SDK `Docker`, then push this repo to the Space remote.
Configure these Space secrets or variables:
```env
SUPABASE_URL=your_project_url
SUPABASE_SERVICE_ROLE_KEY=your_service_role_key
SUPABASE_ANON_KEY=your_anon_key
GROQ_API_KEY=optional_key
OPENAI_API_KEY=optional_key
GEMINI_API_KEY=optional_key
AMD_API_KEY=optional_key
TAVILY_API_KEY=optional_key
TASK_QUEUE_EMBEDDED_WORKER=true
```
`VITE_API_URL` can stay empty on Spaces because the frontend calls the FastAPI backend on the same origin.
---
## πŸ“„ Documentation
For detailed technical architecture, refer to:
- [SPEC.md](./SPEC.md) - Deep technical specifications.
- [ROADMAP.md](./ROADMAP.md) - Future development goals.
- [docs/](./docs/) - Extended guides and manuals.