Skip to content

Latest commit

Β 

History

48 Commits

Folders and files

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

Repository files navigation

MultifariousAI πŸŽ‰

Free & Open-Source Multi-AI Platform - Chat with 100+ AI models including cloud APIs and local Ollama models, all in one place!

Next.js TypeScript License GitHub Stars


✨ Features

🌐 Cloud AI Models

  • 100+ Free AI Models - Use OpenRouter's free tier
  • Premium Models - Access Claude 3.5, GPT-4o, and more with your own keys
  • Multiple Providers - OpenRouter, Google Gemini, Mistral, and more
  • Real-time Streaming - Watch responses generate character by character

πŸ’» Local AI Models (Ollama)

  • Ollama Integration - Run models locally on your machine
  • Privacy First - No data leaves your device
  • Cost-Free - Use free local models like Llama, Mistral, Qwen
  • Auto-Discovery - Automatically import all your Ollama models
  • Provider-agnostic Architecture - Use local models with the same interface as cloud models

β™Ώ Accessibility & UX

  • WCAG 2.1 Compliant - Built with accessibility best practices
  • Keyboard Navigation - Fully navigable via keyboard
  • Skip Link - Bypass navigation to reach main content quickly
  • ARIA Standards - Proper roles and labels for screen readers
  • Reduced Motion - Respects system-level motion preferences
  • High Contrast Support - Optimized for high contrast modes

πŸ”₯ Core Features

  • Chat Persistence - Save conversations to PostgreSQL database
  • Multi-Model Chat - Compare up to 5 models side-by-side
  • Chat History - Persistent storage with database
  • Dark Mode - Beautiful dark theme support
  • File Upload - Support for images, PDFs, and DOCX files
  • Custom Models - Add your own OpenRouter or Ollama models
  • Responsive Design - Works perfectly on desktop and mobile
  • Animated Onboarding - 5-step interactive walkthrough for new users
  • Loading Skeletons - Smooth perceived performance with animated loading states

🎨 Modern UI

  • Clean, intuitive interface built with Tailwind CSS
  • Shadcn/ui components for consistent design
  • Real-time streaming responses
  • Keyboard Shortcuts Dialog - Press Ctrl+/ to discover all shortcuts
  • Global Shortcuts - Ctrl+K (Model Selector), Ctrl+N (New Chat)

πŸš€ Quick Start (For Everyone!)

πŸ–₯️ Windows Users (Easiest!)

  1. Download Node.js from nodejs.org and install it
  2. Download this project: Click the green "Code" button β†’ "Download ZIP" β†’ Extract it
  3. Double-click START.bat in the extracted folder
  4. That's it! The app opens in your browser automatically

🍎 Mac/Linux Users

  1. Install Node.js:
    • Mac: brew install node or download from nodejs.org
    • Linux: sudo apt install nodejs npm
  2. Download this project and extract it
  3. Open Terminal in the project folder and run:
    chmod +x START.sh && ./START.sh
  4. Done! Opens at http://localhost:3000

πŸ‘¨β€πŸ’» For Developers

Prerequisites

  • Node.js 20+
  • npm, yarn, or pnpm
  • PostgreSQL database (optional - for OAuth, chat sharing)

Installation

  1. Clone the repository
git clone https://github.com/workbydivyanshu/multifariousAI.git
cd multifariousAI
  1. Install dependencies
npm install
  1. Run the development server
npm run dev
  1. Open http://localhost:3000

That's it! The app works fully locally without any database. Chat history is stored in browser localStorage.

Advanced Setup (Optional)

For full features like OAuth login and chat sharing, set up environment variables:

cp .env.example .env.local

Database Setup:

  • Install PostgreSQL locally or use a cloud provider (Supabase, Neon, etc.)
  • Create a database named multifariousai
  • Update DATABASE_URL in .env.local

OAuth Setup:

Run database migrations:

npm run db:setup

7. **Open [http://localhost:3000](http://localhost:3000)**

That's it! Sign up/login and start chatting!

### Option 2: Docker Desktop

**Note**: Docker Desktop needs to be running for Docker commands to work.

#### Build and Run with Docker Compose

1. **Ensure Docker Desktop is running**
2. **Build image** (Optional - docker-compose handles this)
```bash
docker-compose build
  1. Run container
docker-compose up --build
  1. Access the app
http://localhost:3000

Troubleshooting Docker Issues

If Docker daemon is not responding:

  1. Restart Docker Desktop - Stop and start Docker Desktop
  2. Check Docker Engine - Run docker info in terminal
  3. Clear cache - Run docker system prune -f to clear build cache
  4. Try direct Docker build:
docker build -t multifariousai .

Alternative: Use WSL2 or Git Bash

If you have WSL2 installed:

# In WSL2 terminal
cd multifariousAI
docker-compose up --build

Option 3: Alternative: Vercel (Recommended for Production)

Deploy to Vercel

  1. Push to GitHub (already done!)
  2. Go to vercel.com
  3. Import project - Connect GitHub repository
  4. Add environment variables (if needed)
  5. Deploy

Option 4: Local Development (No Docker)

Without Docker

  1. Install dependencies
npm install
  1. Build for production
npm run build
  1. Run production server
npm run start

🎯 Getting API Keys (Optional)

Free Models - Key Required!

The following models work with API key:

  • βœ… Llama 3.3 70B (Free)
  • βœ… Qwen 2.5 72B (Free)
  • βœ… Gemma 3 27B (Free)
  • βœ… GLM 4.5 Air (Free)
  • βœ… And 20+ more free models!

Premium Models (Optional)

If you want to access premium models, add your API keys in Settings:

OpenRouter (Recommended)

  1. Visit openrouter.ai
  2. Sign up and get your API key
  3. Paste in Settings to access:
    • Claude 3.5 Sonnet
    • GPT-4o
    • GPT-4o Mini
    • And 100+ more models!

Google Gemini

  1. Visit makersuite.google.com
  2. Create a project and get your API key
  3. Paste in Settings to access Gemini models

Mistral

  1. Visit mistral.ai
  2. Get your API key
  3. Access Codestral, Pixtral, and Mistral's latest models

πŸ“ Project Structure

multifariousAI/
β”œβ”€β”€ app/                          # Next.js App Router
β”‚   β”œβ”€β”€ api/                     # API endpoints
β”‚   β”‚   β”œβ”€β”€ chat/               # Generic chat endpoint
β”‚   β”‚   β”œβ”€β”€ openrouter/         # OpenRouter API
β”‚   β”‚   β”œβ”€β”€ gemini/             # Gemini API
β”‚   β”‚   └── ollama/             # Ollama API
β”‚   β”œβ”€β”€ globals.css              # Global styles
β”‚   β”œβ”€β”€ layout.tsx               # Root layout
β”‚   └── page.tsx                # Home page
β”œβ”€β”€ components/                    # React components
β”‚   β”œβ”€β”€ auth/                   # Authentication components
β”‚   β”œβ”€β”€ chat/                   # Chat interface
β”‚   β”œβ”€β”€ settings/               # Settings management
β”‚   └── ui/                     # Reusable UI components
β”œβ”€β”€ lib/                         # Utilities
β”‚   β”œβ”€β”€ models.ts               # AI model catalog
β”‚   β”œβ”€β”€ useModels.ts           # Model management hook
β”‚   └── utils.ts               # Helper functions
β”œβ”€β”€ stores/                      # State management
β”‚   └── chat-store.ts          # Zustand store
└── types/                       # TypeScript definitions
    └── index.ts                # Shared types

πŸ› οΈ Development

Available Scripts

npm run dev          # Start development server
npm run build        # Build for production
npm run start        # Start production server
npm run lint         # Run ESLint
npm run typecheck    # TypeScript type checking

Docker Support

docker-compose up --build

🌟 Available Free Models

Text Models

Model Context Provider
DeepSeek R1 64K OpenRouter
Llama 3.3 70B 128K OpenRouter
Qwen 2.5 72B 32K OpenRouter
Mistral Small 24B 32K OpenRouter
Gemma 3 27B 128K OpenRouter
GLM 4.5 Air 128K OpenRouter
Hunyuan A13B 32K OpenRouter

Image Models

Model Provider
Gemini 2.5 Flash Image OpenRouter

Coding Models

Model Provider
DeepCoder 14B OpenRouter

🚧 Roadmap

  • Database Integration - PostgreSQL with Drizzle ORM
  • User Authentication - Better Auth with GitHub/Google OAuth
  • Accessibility Overhaul - WCAG 2.1 compliance and keyboard navigation
  • Interactive Onboarding - Animated guide for new users
  • Conversation Sharing - Share chats via public links
  • Chat Export - Export to Markdown, PDF
  • Desktop Application - Electron/Tauri for offline use
  • Web Search - Integrate web search with responses
  • Voice Input/Output - Speech-to-text and TTS
  • Mobile App - React Native version
  • Plugin System - Community plugins for new providers
  • API Rate Limiting - Fair usage limits for free tier

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.


🀝 Contributing

Contributions are welcome! Please see CONTRIBUTING.md for details.


πŸ™ Acknowledgments

  • Inspiration:
  • Models: OpenRouter, Google Gemini, Ollama, Mistral AI
  • UI Components: shadcn/ui, Radix UI
  • AI SDK: Vercel AI SDK

πŸ“ž Support


Made with ❀️ by workbydivyanshu

⭐ If you find this project helpful, please star it on GitHub!

Releases

Packages

Contributors

Languages