Skip to content

Latest commit

Β 

History

15 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🌢️ ChiliHead OpsManager v2.1 - OHHH1MAIL Platform

AI-powered restaurant operations management platform for Chili's #605 Auburn Hills

Complete email automation + AI agent orchestration + Visual debugging + Intelligent chat assistant


🎯 What Is This?

ChiliHead OpsManager v2.1 automates restaurant operations for John at Chili's #605 in Auburn Hills. The system:

  1. Monitors Gmail for restaurant-related emails (filtered by domain/sender)
  2. Processes emails through 5 specialized AI agents orchestrated by Apache Dolphin Scheduler
  3. Extracts tasks and deadlines automatically from leadership communications
  4. Provides AUBS - Your friendly AI assistant with complete operational awareness
  5. Visualizes everything through Open-WebUI with embedded debugging tools

✨ Key Features

πŸ€– AUBS - Your Personal Assistant

AUBS (Auburn Hills Business System) is your friendly, intelligent operations assistant who:

  • Has complete awareness of all emails, tasks, and deadlines
  • Understands Chili's operations, RAP Mobile metrics, and HotSchedules
  • Prioritizes like you would (leadership deadlines first, then team issues, then guests)
  • Talks conversationally - not like a robot
  • Available 24/7 via chat in Open-WebUI

See full AUBS Guide

πŸ“§ Smart Email Processing

  • 5 AI Agents working together:
    • Triage Agent: Categorizes and routes emails
    • Vision Agent: OCR for invoices, receipts, PDFs
    • Deadline Scanner: Extracts dates and deadlines
    • Task Categorizer: Identifies action items
    • Context Agent: Synthesizes everything with 30-day memory
  • Email Filtering: Only processes emails from chilis.com, brinker.com, hotschedules.com
  • Attachment Handling: OCR, PDF parsing, image analysis

🎨 Open-WebUI Interface

8 tabs for complete operational visibility:

  1. Dashboard - Overview of operations
  2. Emails - Inbox, processed emails, agent outputs, quick actions
  3. Tasks - Task management with priorities and due dates
  4. Calendar - Events, deadlines, scheduling
  5. Debug - UI-TARS execution timeline, agent decisions, screenshots, DAG visualization
  6. Analytics - Performance metrics, agent stats, email volume, response times
  7. Agents - Agent status, model selection, performance, logs
  8. Settings - Model config, thresholds, notifications, integrations

πŸ”„ Enterprise Orchestration

  • Apache DolphinScheduler 3.2.0 - DAG-based workflow orchestration
  • Fault-tolerant - Automatic retries and error handling
  • Visual debugging - UI-TARS embedded in Open-WebUI
  • GPU acceleration - NVIDIA GPU support for Vision Agent

🧠 Multi-Provider LLM Support

Easy model swapping between:

  • OpenAI: GPT-4o, GPT-5
  • Anthropic: Claude Sonnet 4 (AUBS uses this)
  • Ollama: Llama 3.2, local models

Configure per-agent in .env file.


πŸ—οΈ Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                   Open-WebUI (Port 3040)                    β”‚
β”‚  Dashboard | Emails | Tasks | Calendar | Debug | Analytics  β”‚
β”‚                        Chat with AUBS                        β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                             β”‚
                             β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚              AUBS (Autonomous Unified Business System)       β”‚
β”‚        Orchestrator | DAG Builder | Action Router           β”‚
β”‚               Chat Service (Claude Sonnet 4)                 β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
         β”‚                        β”‚
         β–Ό                        β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ Email Ingestion  β”‚    β”‚  Apache Dolphin Scheduler 3.2.0  β”‚
β”‚  - IMAP Monitor  β”‚    β”‚   - DAG Execution                β”‚
β”‚  - Domain Filter β”‚    β”‚   - GPU/CPU Workers              β”‚
β”‚  - Attachment DL β”‚    β”‚   - Task Scheduling              β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                                       β”‚
         β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
         β”‚                             β”‚                    β”‚
         β–Ό                             β–Ό                    β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”         β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ Triage Agent    β”‚         β”‚  Vision Agent   β”‚  β”‚ Deadline Agent  β”‚
β”‚ (Llama 3.2)     β”‚         β”‚  (GPT-4o + GPU) β”‚  β”‚ (Llama 3.2)     β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜         β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
         β”‚                             β”‚                    β”‚
         β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                                       β–Ό
                            β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                            β”‚  Task Agent         β”‚
                            β”‚  (Llama 3.2)        β”‚
                            β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                                       β–Ό
                            β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                            β”‚  Context Agent      β”‚
                            β”‚  (Claude Sonnet 4)  β”‚
                            β”‚  NO FALLBACK        β”‚
                            β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                                       β–Ό
                β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                β”‚         MCP Tools (Actions)              β”‚
                β”‚  - Task Manager    - SMS Sender          β”‚
                β”‚  - Calendar Sync   - Email Responder     β”‚
                β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Infrastructure:
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ PostgreSQL  β”‚   Redis     β”‚    NATS     β”‚   Qdrant    β”‚   Ollama    β”‚
β”‚  (Data)     β”‚  (Cache)    β”‚  (Events)   β”‚ (Vectors)   β”‚  (LLMs)     β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

πŸš€ Quick Start (Windows)

Prerequisites

  • Docker Desktop with WSL2 enabled
  • NVIDIA GPU with CUDA support (for Vision Agent)
  • 16GB+ RAM recommended
  • Gmail account with App Password configured
  • OpenAI API key (optional, for GPT models)
  • Anthropic API key (for Claude / AUBS chat)

Installation

  1. Clone Repository

    git clone https://github.com/johnohhh1/ohhhmail.git
    cd ohhhmail
  2. Configure Environment

    Edit infrastructure/docker/.env with your credentials:

    • OpenAI API key (if using GPT models)
    • Anthropic API key (required for AUBS chat)
    • Gmail credentials
    • Email filtering (allowed domains/senders)

    CRITICAL Email Filtering:

    ALLOWED_DOMAINS=chilis.com,brinker.com,hotschedules.com
    ALLOWED_SENDERS=
    BLOCKED_DOMAINS=spam.com
    BLOCKED_SENDERS=
  3. Start All Services

    start.bat

    This will:

    • Check Docker is running
    • Start all 13 services via Docker Compose
    • Wait for services to initialize
    • Open Open-WebUI in your browser
  4. Access Services


πŸ’¬ Chat with AUBS

Quick Start

  1. Open http://localhost:3040
  2. Click the chat button (floating button in bottom-right)
  3. Start chatting!

Example Conversations

You: "What's urgent today?"

AUBS: "Hey John! Here's what needs your attention:

  1. Leadership deadline - Your DM needs the manager schedule by Friday 5pm
  2. Team issue - Sarah called out for tonight's shift
  3. Guest complaint - Slow service feedback from last night

Want me to help you prioritize?"

You: "Help me plan my next 2 hours"

AUBS: "Sure! Based on what we have:

First 30 minutes:

  • Review and send manager schedule to DM (critical deadline)
  • Call Sarah to confirm her shift status

Next 60 minutes:

  • Address guest complaint - review section 3 service times
  • Prep for tonight with one server short

The DM deadline is most urgent. Want me to pull up the schedule?"

You: "What's our comp sales this week?"

AUBS: "I don't have access to RAP Mobile data yet (coming in next update), but I can see we processed 47 emails this week with 3 from corporate leadership. Want me to check if any mentioned sales numbers?"

See full AUBS Guide


πŸ“Š System Components

13 Docker Services

  1. postgres - PostgreSQL 15 (persistent storage)
  2. redis - Redis 7 (caching, state)
  3. nats - NATS JetStream (event streaming)
  4. qdrant - Vector database (context memory)
  5. ollama - Local LLM hosting
  6. dolphin-server - Dolphin scheduler server
  7. dolphin-worker-gpu - GPU worker for Vision Agent
  8. dolphin-worker-cpu - CPU workers for other agents
  9. aubs - AUBS orchestrator and chat service
  10. email-ingestion - Gmail monitoring and filtering
  11. open-webui - Web interface (port 3040)
  12. uitars - Visual debugging service
  13. grafana (optional) - Monitoring dashboards

5 AI Agents

Agent Model Purpose Timeout
Triage llama3.2:8b-instruct Email categorization 15s
Vision gpt-4o (GPU) OCR, image processing 30s
Deadline llama3.2:8b-instruct Date extraction 15s
Task llama3.2:8b-instruct Action identification 15s
Context claude-sonnet-4 Context synthesis (NO FALLBACK) 30s

All agents configurable per environment in .env.


πŸ› οΈ Management Commands

Windows Batch Files

  • start.bat - Start all services
  • stop.bat - Stop all services
  • status.bat - Check service health
  • logs.bat - View service logs (interactive menu)
  • setup.bat - Initial setup and dependency installation

Docker Commands

# View all services
docker-compose ps

# View logs for specific service
docker-compose logs -f aubs
docker-compose logs -f email-ingestion

# Restart a service
docker-compose restart aubs

# Stop everything
docker-compose down

# Rebuild and restart
docker-compose up -d --build

βš™οΈ Configuration

Agent Models

Edit infrastructure/docker/.env to change models:

# Triage Agent - Fast categorization
TRIAGE_AGENT_PROVIDER=ollama
TRIAGE_AGENT_MODEL=llama3.2:8b-instruct
TRIAGE_AGENT_FALLBACK=openai:gpt-4o-mini

# Vision Agent - OCR (needs GPU)
VISION_AGENT_PROVIDER=openai
VISION_AGENT_MODEL=gpt-4o
VISION_AGENT_GPU=true

# Context Agent - CRITICAL, NO FALLBACK
CONTEXT_AGENT_PROVIDER=anthropic
CONTEXT_AGENT_MODEL=claude-sonnet-4
CONTEXT_AGENT_FALLBACK=DISABLED

Email Filtering (CRITICAL)

# Only process emails from these domains
ALLOWED_DOMAINS=chilis.com,brinker.com,hotschedules.com

# Optionally restrict to specific senders
ALLOWED_SENDERS=dm@chilis.com,regional@brinker.com

# Block specific domains or senders
BLOCKED_DOMAINS=spam.com,marketing.com
BLOCKED_SENDERS=noreply@spam.com

After changing filters, restart email-ingestion:

docker-compose restart email-ingestion

πŸ“ Project Structure

ohhhmail/
β”œβ”€β”€ aubs/                        # AUBS orchestrator
β”‚   └── src/
β”‚       β”œβ”€β”€ main.py             # FastAPI app
β”‚       β”œβ”€β”€ orchestrator.py     # DAG builder
β”‚       β”œβ”€β”€ dag_builder.py      # DAG construction
β”‚       β”œβ”€β”€ action_router.py    # MCP tool routing
β”‚       └── chat.py             # AUBS chat service ⭐
β”‚
β”œβ”€β”€ agents/                      # 5 AI agents
β”‚   β”œβ”€β”€ triage/
β”‚   β”œβ”€β”€ vision/
β”‚   β”œβ”€β”€ deadline/
β”‚   β”œβ”€β”€ task/
β”‚   └── context/
β”‚
β”œβ”€β”€ email_ingestion/             # Gmail monitoring
β”‚   β”œβ”€β”€ monitor.py              # IMAP monitoring
β”‚   β”œβ”€β”€ processor.py            # Email processing ⭐ (filtering)
β”‚   └── config.py               # Configuration
β”‚
β”œβ”€β”€ openwebui/                   # Open-WebUI components
β”‚   β”œβ”€β”€ components/
β”‚   β”‚   β”œβ”€β”€ Dashboard.tsx
β”‚   β”‚   β”œβ”€β”€ EmailDashboard.tsx
β”‚   β”‚   β”œβ”€β”€ TaskManager.tsx
β”‚   β”‚   β”œβ”€β”€ CalendarView.tsx
β”‚   β”‚   β”œβ”€β”€ UITARSDebugPanel.tsx  # Embedded debugging
β”‚   β”‚   β”œβ”€β”€ Analytics.tsx
β”‚   β”‚   β”œβ”€β”€ AgentMonitor.tsx
β”‚   β”‚   β”œβ”€β”€ Settings.tsx
β”‚   β”‚   └── ChatWithAUBS.tsx    # AUBS chat UI ⭐
β”‚   └── config/
β”‚       └── tabs-config.json    # 8 tabs configuration
β”‚
β”œβ”€β”€ mcp_tools/                   # MCP action tools
β”‚   β”œβ”€β”€ task_manager.py
β”‚   β”œβ”€β”€ calendar_integration.py
β”‚   └── sms_sender.py
β”‚
β”œβ”€β”€ shared/                      # Shared libraries
β”‚   β”œβ”€β”€ models.py               # Pydantic models
β”‚   β”œβ”€β”€ llm_config.py           # Multi-provider LLM
β”‚   └── clients/                # Service clients
β”‚
β”œβ”€β”€ infrastructure/
β”‚   β”œβ”€β”€ docker/
β”‚   β”‚   β”œβ”€β”€ docker-compose.yml  # 13 services
β”‚   β”‚   └── .env                # Configuration ⭐
β”‚   └── dolphin/                # Dolphin configs
β”‚
β”œβ”€β”€ docs/                        # Documentation
β”‚   β”œβ”€β”€ AUBS_GUIDE.md           # AUBS user guide ⭐
β”‚   β”œβ”€β”€ BUILD_STATUS.md         # Implementation status
β”‚   β”œβ”€β”€ IMPLEMENTATION_PLAN.md  # 10-week plan
β”‚   └── QUICK_START.md          # Getting started
β”‚
β”œβ”€β”€ start.bat                    # Windows start script
β”œβ”€β”€ stop.bat                     # Windows stop script
β”œβ”€β”€ status.bat                   # Health check script
└── logs.bat                     # Log viewer script

⭐ = Recently updated with AUBS persona and email filtering


πŸ“š Documentation


πŸ” Monitoring & Debugging

Health Checks

# Check all services
status.bat

# Individual health endpoints
curl http://localhost:5000/health      # AUBS
curl http://localhost:8001/health      # Email Ingestion
curl http://localhost:12345/dolphinscheduler/health  # Dolphin

Logs

# Interactive log viewer
logs.bat

# Or direct Docker commands
docker-compose logs -f aubs
docker-compose logs -f email-ingestion
docker-compose logs -f dolphin-server

UI-TARS Debug Panel

  1. Open http://localhost:3040
  2. Click "Debug" tab
  3. View:
    • Execution timeline with timestamps
    • Agent decisions and reasoning
    • Screenshots from Vision Agent
    • DAG visualization
    • Replay capability

🎯 Current Status

βœ… Completed

  • Complete project structure (40+ directories)
  • Docker infrastructure (13 services)
  • Shared client libraries (Dolphin, NATS, Qdrant, Ollama, LLM)
  • AUBS service (orchestrator, DAG builder, action router)
  • All 5 AI agents (Triage, Vision, Deadline, Task, Context)
  • MCP tools (Task, Calendar, SMS, Email)
  • Email ingestion with CRITICAL filtering
  • Open-WebUI components (8 tabs)
  • AUBS chat with full persona and operational awareness ⭐
  • Windows batch files for management
  • Complete documentation

🚧 In Progress

  • PostgreSQL persistence for chat sessions
  • RAP Mobile metrics integration
  • HotSchedules integration
  • Google Calendar sync
  • ChiliHead 5-Pillar Delegations (can wait)

πŸ“‹ Planned

  • Proactive AUBS alerts
  • Voice interface for AUBS
  • Performance trend analysis
  • Mobile app
  • Multi-restaurant support

πŸ”’ Security & Privacy

Data Privacy

  • All data stays on your infrastructure
  • No external data sharing
  • Gmail credentials stored securely in environment variables
  • Email filtering prevents spam and noise

API Keys

  • OpenAI API key: Optional (only if using GPT models)
  • Anthropic API key: Required (for AUBS chat and Context Agent)
  • All API calls encrypted and ephemeral

Access Control

  • Currently single-user (John)
  • Can be extended with authentication

πŸ› Troubleshooting

AUBS Not Responding

  1. Check AUBS service:

    docker-compose ps aubs
    docker-compose logs -f aubs
  2. Verify Anthropic API key in .env:

    ANTHROPIC_API_KEY=sk-ant-api03-...
  3. Restart AUBS:

    docker-compose restart aubs

Emails Not Being Processed

  1. Check email filtering configuration in .env
  2. Verify Gmail credentials
  3. Check email-ingestion logs:
    docker-compose logs -f email-ingestion

Services Won't Start

  1. Verify Docker Desktop is running
  2. Check port 3040 is available (not 3000)
  3. Review .env for missing values
  4. Check logs: docker-compose logs

GPU Not Detected (Vision Agent)

  1. Verify NVIDIA drivers installed
  2. Check Docker Desktop GPU support enabled
  3. Test: docker run --gpus all nvidia/cuda:11.0-base nvidia-smi

πŸ‘¨β€πŸ’Ό About

Built specifically for:

  • John Olenski - Managing Partner
  • Chili's #605 - Auburn Hills, Michigan
  • Brinker International - Franchise operations

Contact:


πŸ“„ License

Private & Confidential - All Rights Reserved


Built with ❀️ by a GM who believes great people deserve great tools.

🌢️ "Excellence Through Leadership & Accountability"

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages