File size: 4,237 Bytes
dc23705
 
 
81ff144
dc23705
 
 
 
81ff144
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9cc23a0
81ff144
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9cc23a0
81ff144
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
---
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.