A multi-provider AI chat interface that allows you to interact with multiple AI services through a single, unified interface.
- Multiple AI Providers: ChatGPT, Claude, Gemini, Perplexity, and DeepSeek
- Real-time Chat: Interactive chat interface with typing indicators
- Provider Switching: Seamlessly switch between AI providers
- Conversation History: Maintains context within conversations
- Dark Theme: Beautiful dark UI similar to modern chat applications
- Collapsible Sidebar: Responsive design with collapsible navigation
- API Integration: Real API calls to AI services (not simulated)
git clone <your-repo-url>
cd AIFiestaCloneYT
pnpm installCopy the environment template:
cp .env.example .envEdit .env and add your API keys:
# AI Provider API Keys
VITE_OPENAI_API_KEY=sk-your-openai-key-here
VITE_ANTHROPIC_API_KEY=sk-ant-your-anthropic-key-here
VITE_GOOGLE_API_KEY=your-google-api-key-here
VITE_PERPLEXITY_API_KEY=pplx-your-perplexity-key-here
VITE_DEEPSEEK_API_KEY=sk-your-deepseek-key-here- Go to OpenAI API
- Create a new API key
- Add to
VITE_OPENAI_API_KEY
- Go to Anthropic Console
- Create a new API key
- Add to
VITE_ANTHROPIC_API_KEY
- Go to Google AI Studio
- Create a new API key
- Add to
VITE_GOOGLE_API_KEY
- Go to Perplexity API
- Create a new API key
- Add to
VITE_PERPLEXITY_API_KEY
- Go to DeepSeek Platform
- Create a new API key
- Add to
VITE_DEEPSEEK_API_KEY
pnpm devOpen http://localhost:5173 in your browser.
- Select an AI Provider: Click on the tabs at the top to switch between providers
- Start Chatting: Type your message in the input area and press Enter
- View Responses: AI responses will appear in the chat area
- New Conversation: Click "New Chat" in the sidebar to start fresh
- Configuration Status: Providers with
⚠️ need API keys configured
The interface will show:
- ✅ Configured providers: Ready to use
⚠️ Unconfigured providers: Need API keys (will show error when used)
src/
├── components/ # React components (if split)
├── services/ # AI service integrations
│ ├── aiService.ts # Main service orchestrator
│ ├── openai.ts # OpenAI API integration
│ ├── anthropic.ts # Anthropic API integration
│ ├── google.ts # Google API integration
│ ├── perplexity.ts # Perplexity API integration
│ ├── deepseek.ts # DeepSeek API integration
│ └── types.ts # Service type definitions
├── App.tsx # Main application component
├── App.css # Application styles
└── main.tsx # Application entry point
- Fork the repository
- Create a feature branch
- Make your changes
- Test with your API keys
- Submit a pull request
- API keys are stored in environment variables
.envfile is gitignored to prevent accidental commits- Use
.env.exampleas a template
MIT License - feel free to use and modify as needed!
Built with ❤️ using "Brain" unlike owners of AIFiesta.