Watch AI models have dynamic conversations with each other in real-time
Features • Demo • Installation • Usage • API Support
Conversation LLMulator is a revolutionary real-time application that orchestrates conversations between multiple AI language models. Watch as different AI personalities from OpenAI, Google, and Anthropic engage in dynamic, natural conversations on any topic you choose.
Unlike traditional chatbots that respond in assistant mode, our models are prompted to engage authentically as conversation participants, creating fascinating exchanges of ideas, perspectives, and insights.
- 16 AI Models from leading providers (OpenAI, Google, Anthropic)
- Turn-based conversations with intelligent model rotation
- Natural dialogue prompts that encourage authentic interaction
- Real-time streaming conversations via WebSocket
- Glassmorphic design with modern UI/UX
- JetBrains Mono font for that authentic coder aesthetic
- Responsive layout that works on all devices
- Real-time message indicators and typing states
- Environment variable support for production deployments
- UI-based API key input for easy testing
- Encrypted key storage with AES encryption
- Hybrid fallback system (env vars → user input)
- Rate limiting protection
- CORS configuration for secure cross-origin requests
- Helmet.js security headers
- API key encryption for sensitive data protection
Real-time conversation between GPT-4, Claude, and Gemini discussing philosophy
- Node.js v18 or higher
- npm or yarn
- API keys from one or more providers:
-
Clone the repository
git clone https://github.com/yourusername/conversation-llmulator.git cd conversation-llmulator -
Install dependencies
# Install server dependencies cd server && npm install # Install client dependencies cd ../client && npm install
-
Set up environment variables
# Create .env file in server directory cd ../server cp .env.example .env
-
Configure your API keys
# server/.env PORT=5000 ENCRYPTION_KEY=your-secret-encryption-key-change-this-in-production # Add your API keys (optional - can also be added via UI) OPENAI_API_KEY=sk-... GOOGLE_API_KEY=AIza... ANTHROPIC_API_KEY=sk-ant-...
-
Start the application
# Terminal 1: Start backend server cd server && npm start # Terminal 2: Start frontend client cd client && npm start
-
Open your browser Navigate to
http://localhost:3000
- Launch the app at
http://localhost:3000 - Add API keys (if not using environment variables):
- Click the Settings gear icon
- Enter your API keys for desired providers
- Select AI models for the conversation
- Enter a topic or question to start the discussion
- Watch the magic happen as AIs engage in real-time dialogue
- Stop/Start conversations at any time
- Model selection from 16 available AI models
- Topic guidance to steer conversation direction
- Real-time monitoring of conversation flow
- GPT-4 - Most capable model
- GPT-4 Turbo - Fast and efficient
- GPT-4o Mini - Lightweight variant
- GPT-3.5 Turbo - Classic conversational AI
- Gemini 2.5 Pro - Latest flagship model
- Gemini 2.0 Flash - Fast response times
- Gemini 2.0 Flash Lite - Lightweight version
- Gemini 1.5 Pro - Advanced reasoning
- Gemini 1.5 Flash - Quick responses
- Gemini 1.0 Pro - Stable baseline
- Preview Models - Early access variants
- Claude 3 Opus - Most powerful model
- Claude 3 Sonnet - Balanced performance
- Claude 3 Haiku - Fast and efficient
- Claude Instant - Quick responses
- Node.js + Express for REST API
- Socket.IO for real-time WebSocket communication
- Multiple AI SDKs (OpenAI, Google AI, Anthropic)
- CryptoJS for API key encryption
- Helmet.js + CORS for security
- React 18 with modern hooks
- Material-UI for component library
- Socket.IO Client for real-time updates
- Glassmorphic CSS for modern styling
- Conversation Management - Intelligent turn-taking between models
- API Key Hybrid System - Environment variables with UI fallback
- Error Handling - Graceful degradation and retry logic
- Rate Limiting - Built-in protection against API abuse
| Variable | Description | Required |
|---|---|---|
PORT |
Server port (default: 5000) | No |
ENCRYPTION_KEY |
Key for encrypting user API keys | Yes |
OPENAI_API_KEY |
OpenAI API key | No* |
GOOGLE_API_KEY |
Google AI Studio API key | No* |
ANTHROPIC_API_KEY |
Anthropic API key | No* |
*At least one API key is required (can be provided via UI)
- Max Messages: 30 per conversation
- Response Timeout: 30 seconds per model
- Turn Delay: 2 seconds between responses
- Max Tokens: 300-1024 depending on model
Port already in use (EADDRINUSE)
# Kill existing Node processes
pkill -f node
# Or on Windows
taskkill /f /im node.exeAPI key not detected
- Ensure
.envfile is in theserverdirectory - Check for extra spaces or line breaks in API keys
- Try adding keys via the UI as fallback
Models not responding
- Verify API keys are valid and have sufficient credits
- Check console logs for specific error messages
- Ensure internet connection for API calls
We welcome contributions! Here's how to get started:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- Follow existing code style and patterns
- Add tests for new features
- Update documentation for API changes
- Ensure all AI models are properly supported
This project is licensed under the MIT License - see the LICENSE file for details.
- OpenAI for GPT models and API
- Google for Gemini models and AI Studio
- Anthropic for Claude models and API
- React and Material-UI communities
- Socket.IO for real-time communication
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Email: your-email@example.com
Made with ❤️ for the AI community
Bridging conversations between artificial minds