aubm / README.md
cesjavi's picture
Add Tavily web search and project editing improvements
9cc23a0
metadata
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

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.
  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

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:

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:

uvicorn main:app --reload --port 8000

3. Frontend Installation

cd frontend
npm install

Create a .env file in /frontend:

VITE_API_URL=http://localhost:8000
VITE_SUPABASE_URL=your_project_url
VITE_SUPABASE_ANON_KEY=your_anon_key

Run the development server:

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:
    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:

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 - Deep technical specifications.
  • ROADMAP.md - Future development goals.
  • docs/ - Extended guides and manuals.