🚀 Multi-LLM Chat System
Empowering Conversations with Limitless AI Intelligence
A powerful, feature-rich Progressive Web App (PWA) for interacting with multiple large language models simultaneously.
Compare responses side-by-side, manage chat history, track usage, and customize your experience.
Features · Tech Stack · Getting Started · How to Use · Contributing · License
📌 Core Features🔑 Dynamic Model Management: Securely add, select, and manage API keys for various LLMs (e.g., GPT, Gemini, Claude) via an intuitive modal. Keys are stored locally on your device for privacy.
🔄 Simultaneous & Comparative Responses: Enter a single prompt and receive responses from all selected AI models in parallel, allowing for direct and immediate comparison of their outputs, styles, and knowledge.
💬 Modern Chat Interface: A clean, responsive, and user-friendly chat interface that supports real-time streaming of responses for a more interactive and dynamic experience.
🕒 Persistent Chat History: Automatically saves your conversations to your local device. Browse, search, and revisit past chats anytime in the "Chat History" modal to continue where you left off.
📊 Insightful Usage Statistics: Keep track of your interactions and token usage for each model with a dedicated "Statistics" dashboard to monitor your consumption.
⚙️ Advanced Settings & Customization:
Theme Control: Seamlessly switch between light and dark modes.
AI Parameters: Fine-tune AI responses by adjusting parameters like temperature and max tokens for more creative or deterministic outputs.
📱 PWA Ready: Installable on desktop and mobile for a native-like experience with offline access to your chat history.
📋 Copy & Export: Easily copy individual responses or export entire conversations in Markdown format.
🛠️ Tech Stack
This project is built with a modern, scalable, and type-safe technology stack.
Framework: Next.js – The React Framework for Production.
Styling: Tailwind CSS – A utility-first CSS framework for rapid UI development.
UI Library: React – A JavaScript library for building user interfaces.
Language: TypeScript – For strong typing and improved developer experience.
Linting & Formatting: ESLint & Prettier – For maintaining code quality and consistency.
State Management: React Context API / Zustand (or specify your choice)
Client-Side Storage: IndexedDB / LocalStorage for persistent history and settings.
Deployment: Vercel / Netlify
⚡ Getting Started
Follow these instructions to get a copy of the project up and running on your local machine. ✅ Prerequisites
Node.js (v18.x or newer is recommended)
npm, yarn, or pnpm package manager.
🔧 Installation
Clone the repository:
git clone [https://github.com/Darshan3690/Multi-LLM-Chat-System.git](https://github.com/Darshan3690/Multi-LLM-Chat-System.git)
Navigate into the project directory:
cd Multi-LLM-Chat-System
Install project dependencies:
npm install
# Example:
# NEXT_PUBLIC_APP_VERSION=1.0.0
For development:
This command starts the development server with hot-reloading.
npm run dev
Open http://localhost:3000 in your browser to see the result.
For production:
To build the application for production and then start the server:
npm run build
npm run start
📖 How to Use
🔑 Add Your API Keys:
Launch the app and click the "Select Models" button.
Choose the AI models you wish to use.
Enter a valid API key for each model and click "Save". Keys are stored securely in your browser's local storage and are never sent to any server.
💬 Start Chatting:
Type your query in the input field at the bottom.
Press Enter or click the "Generate" button.
Responses from your selected models will appear in real-time.
📜 Access Your History:
Click the "History" button to open a modal with a list of all your past conversations.
Select any conversation to load it back into the main chat window.
📈 Check Your Stats:
Open the "Statistics" modal to view a breakdown of your token usage and interaction count for each model.
⚙️ Customize Your Experience:
Go to "Settings" to switch between light/dark themes or adjust AI parameters like temperature to control response creativity.
🤝 Contributing
Contributions make the open-source community an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
Please fork the repository and create a pull request. You can also simply open an issue with the tag "enhancement".
Fork the Project
Create your Feature Branch (git checkout -b feature/AmazingFeature)
Commit your Changes (git commit -m 'Add some AmazingFeature')
Push to the Branch (git push origin feature/AmazingFeature)
Open a Pull Request
📄 License
This project is distributed under the MIT License. See the LICENSE.txt file for more information.