Skip to content

Tanaybaviskar/CoreAI

Repository files navigation

πŸš€ CoreAI - Enterprise Multi-Agent AI Assistant

An enterprise-level AI assistant powered by a sophisticated multi-agent system. CoreAI coordinates specialized agents to handle your daily tasks including calendar management, email handling, meeting scheduling, weather updates, news aggregation, and task management.

Enterprise AI Multi-Agent Status

✨ Features

πŸ€– Specialized AI Agents

  • πŸ“… Calendar Agent: Google Calendar integration for scheduling and availability checks
  • πŸŽ₯ Meeting Agent: Google Meet video conference management
  • πŸ“§ Email Agent: Gmail operations - send, read, search, and organize
  • 🌀️ Weather Agent: Real-time weather data and forecasts
  • πŸ“° News Agent: News aggregation from multiple sources
  • βœ… Task Agent: Task and to-do list management

🎯 Supervisor Coordination

The Supervisor Agent intelligently:

  • Routes requests to appropriate specialist agents
  • Coordinates multi-step workflows (e.g., calendar check β†’ meeting creation β†’ calendar booking)
  • Manages agent communication and data flow
  • Provides unified response formatting

🎨 Enterprise Frontend

  • Modern Design: Glassmorphism UI with animated gradients
  • Real-time Updates: Live agent status monitoring
  • Responsive Dashboard: Activity feeds and analytics
  • Multi-page Navigation: Dashboard, Chat, Agents, Connections, Memory, Settings

πŸ—οΈ Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                        Frontend (Next.js)                    β”‚
β”‚  Dashboard β€’ Chat β€’ Agents β€’ Connections β€’ Memory β€’ Settings β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                       β”‚ HTTP/REST
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                   Node.js Proxy Server                       β”‚
β”‚                      (Port 3001)                             β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                       β”‚ Forward/Stream
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚              Python Flask Server (Port 5001)                 β”‚
β”‚                                                              β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”‚
β”‚  β”‚            Supervisor Agent                        β”‚    β”‚
β”‚  β”‚  (Coordinates all specialist agents)               β”‚    β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”˜    β”‚
β”‚         β”‚                                       β”‚            β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”    β”‚
β”‚  β”‚  Calendar    β”‚  β”‚   Meeting    β”‚  β”‚    Email      β”‚    β”‚
β”‚  β”‚    Agent     β”‚  β”‚    Agent     β”‚  β”‚    Agent      β”‚    β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”‚
β”‚  β”‚   Weather    β”‚  β”‚    News      β”‚  β”‚     Task      β”‚    β”‚
β”‚  β”‚    Agent     β”‚  β”‚    Agent     β”‚  β”‚     Agent     β”‚    β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

πŸš€ Quick Start

Prerequisites

  • Node.js 18+ and npm
  • Python 3.9+
  • Git

1. Clone Repository

git clone https://github.com/Tanaybaviskar/CoreAI.git
cd CoreAI

2. Backend Setup

Install Python Dependencies

cd backend/agentic

# Create virtual environment
python -m venv venv

# Activate virtual environment
# Windows:
venv\Scripts\activate
# macOS/Linux:
source venv/bin/activate

# Install dependencies
pip install -r requirements.txt

Configure Environment Variables

# Copy example environment file
cp .env.example .env

# Edit .env and add your API keys
# At minimum, you need:
# - GOOGLE_API_KEY (from Google AI Studio)
# - SERPER_API_KEY (for web search)

Start Python Server

python main.py
# Server will start on http://localhost:5001

3. Node.js Proxy Setup

cd ../../backend

# Install dependencies
npm install

# Start proxy server
node index.js
# Server will start on http://localhost:3001

4. Frontend Setup

cd ../frontend

# Install dependencies
npm install

# Start development server
npm run dev
# Frontend will start on http://localhost:3000

5. Access CoreAI

Open your browser to http://localhost:3000

πŸ”‘ API Keys & Integration

Required APIs

  1. Google AI API (Required)

  2. Serper API (Required for search)

Optional APIs (for full functionality)

  1. Google Calendar API

  2. Gmail API

  3. Google Meet API

    • Part of Google Workspace
    • Used for: Meeting creation
  4. Weather API

  5. News API

πŸ“ Project Structure

CoreAI/
β”œβ”€β”€ frontend/                      # Next.js Frontend
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   └── app/
β”‚   β”‚       β”œβ”€β”€ page.tsx          # Main application
β”‚   β”‚       β”œβ”€β”€ layout.tsx        # Root layout
β”‚   β”‚       └── globals.css       # Global styles
β”‚   β”œβ”€β”€ package.json
β”‚   └── tsconfig.json
β”‚
β”œβ”€β”€ backend/                       # Node.js Proxy Server
β”‚   β”œβ”€β”€ index.js                  # Express server
β”‚   └── package.json
β”‚
└── backend/agentic/              # Python Multi-Agent System
    β”œβ”€β”€ agents/                   # Agent implementations
    β”‚   β”œβ”€β”€ base_agent.py        # Base agent class
    β”‚   β”œβ”€β”€ supervisor.py        # Supervisor coordinator
    β”‚   β”œβ”€β”€ calendar_agent.py    # Calendar operations
    β”‚   β”œβ”€β”€ meeting_agent.py     # Meeting management
    β”‚   β”œβ”€β”€ email_agent.py       # Email handling
    β”‚   β”œβ”€β”€ task_agent.py        # Task management
    β”‚   β”œβ”€β”€ info_agents.py       # Weather & News agents
    β”‚   └── __init__.py
    β”œβ”€β”€ main.py                   # Flask server
    β”œβ”€β”€ requirements.txt          # Python dependencies
    └── .env.example             # Environment template

πŸ’‘ Usage Examples

Example 1: Schedule a Meeting

You: "Schedule a meeting for tomorrow at 2 PM"

CoreAI:

  1. Calendar Agent checks availability for 2 PM
  2. Meeting Agent creates Google Meet link
  3. Calendar Agent books the time slot
  4. Returns: Meeting link + Calendar confirmation

Example 2: Check Weather & Read Emails

You: "What's the weather like and do I have any new emails?"

CoreAI:

  1. Weather Agent fetches current weather
  2. Email Agent checks inbox
  3. Returns: Weather summary + Email list

Example 3: Task Management

You: "Add a task to review the project proposal"

CoreAI:

  1. Task Agent creates new task
  2. Returns: Task confirmation with ID

🎨 Frontend Features

Dashboard

  • Real-time clock display
  • Agent statistics (conversations, active agents, API calls, success rate)
  • Recent activity feed
  • Interactive stat cards

Chat Interface

  • Streaming responses
  • Agent identification in messages
  • Message history
  • Real-time typing indicators

Agents Page

  • Live agent status monitoring
  • Success rate visualization
  • Last action display
  • Performance metrics

Connections

  • API integration management
  • Connection status indicators
  • Quick connect/disconnect

Memory

  • Long-term memory storage
  • Key-value pairs
  • Editable entries

Settings

  • User profile customization
  • AI persona selection
  • System configuration
  • Data management

πŸ› οΈ Technologies

Frontend

  • Next.js 15 - React framework
  • React 19 - UI library
  • TypeScript - Type safety
  • Tailwind CSS 4 - Styling

Backend (Python)

  • Flask - Web framework
  • LangGraph - Agent workflow orchestration
  • LangChain - LLM framework
  • Google Gemini - AI model

Backend (Node.js)

  • Express - Web server
  • Axios - HTTP client
  • CORS - Cross-origin support

πŸ”’ Security Notes

  • Never commit .env files with real API keys
  • Use environment variables for all sensitive data
  • Implement rate limiting in production
  • Add authentication for deployed applications
  • Use HTTPS in production

🚒 Deployment

Frontend (Vercel)

cd frontend
vercel deploy

Backend (Railway/Heroku)

# Deploy Python server
cd backend/agentic
# Follow your platform's deployment guide

# Deploy Node proxy
cd ../
# Follow your platform's deployment guide

πŸ“Š Performance

  • Response Time: < 2s for most operations
  • Agent Coordination: Parallel execution where possible
  • Streaming: Real-time response streaming
  • Caching: Intelligent API response caching

🀝 Contributing

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

πŸ“ License

MIT License - see LICENSE file for details.

πŸ™ Acknowledgments

  • Google AI for Gemini API
  • LangChain & LangGraph teams
  • Next.js team
  • Open source community

πŸ“§ Contact

For questions and support, please open an issue on GitHub.


Built with ❀️ using cutting-edge AI technology

About

AI-powered personal productivity OS

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors