A modern, secure web application for chatting with multiple AI models using your own API keys.
๐ Live Demo: https://efflux-web.vercel.app
- ๐ ้จ็ฝฒๆๅ - ๅฎๆด็ Supabase + Vercel ้จ็ฝฒๆญฅ้ชค
- ๐ง ๆ ้ๆ้ค - ๅธธ่ง้่ฏฏๅ่งฃๅณๆนๆก
- ๐ ้กน็ฎๆป็ป - ๆๆฏๆถๆๅๅผๅ่ฎฐๅฝ
- ๐ค Multi-Model Support: OpenAI, Anthropic, Google AI, AWS Bedrock, Azure OpenAI
- ๐ Secure API Key Management: Client-side encryption with user-controlled passwords
- ๐ฌ Real-time Streaming: Live AI responses with markdown support
- ๐ฑ Responsive Design: Works on desktop and mobile
- ๐๏ธ Conversation Management: Save, organize, and search your chats
- ๐ Prompt Templates: Create and share reusable prompts (coming soon)
- ๐ง MCP Server Support: Extensible tool system (planned)
- Frontend: Next.js 14, TypeScript, Tailwind CSS, React Query
- Backend: Supabase (PostgreSQL, Auth, Realtime)
- AI Integration: Native SDKs for all supported providers
- Security: Web Crypto API for client-side encryption
- Deployment: Vercel + Supabase
- Node.js 18+
- A Supabase account
- A Vercel account
- API keys from at least one AI provider
- Create a new Supabase project at supabase.com
- Go to SQL Editor and run the schema from
supabase/schema.sql - Enable Google OAuth in Authentication โ Providers (optional)
- Note your project URL and anon key
Create .env.local:
NEXT_PUBLIC_SUPABASE_URL=your-project-url
NEXT_PUBLIC_SUPABASE_ANON_KEY=your-anon-key
SUPABASE_SERVICE_KEY=your-service-key# Install dependencies
npm install
# Run development server
npm run devOpen http://localhost:3000 and start chatting!
- Get API key from OpenAI Platform
- Add to your vault in Settings
- Get API key from Anthropic Console
- Add to your vault in Settings
- Get API key from Google AI Studio
- Add to your vault in Settings
- Configure AWS IAM user with Bedrock permissions
- Add Access Key ID, Secret Access Key, and Region to your vault
- Deploy a model in Azure OpenAI Service
- Add API Key, Endpoint, and Deployment Name to your vault
- Client-Side Encryption: API keys are encrypted in your browser before storage
- Zero-Knowledge: Supabase cannot decrypt your API keys
- User-Controlled: Only you know your vault password
- Secure Headers: CSP and other security headers configured
- Row-Level Security: Database queries are user-scoped
- Click the deploy button above
- Connect your GitHub repository
- Add environment variables in Vercel dashboard
- Deploy!
# Build the application
npm run build
# Deploy to Vercel
npx vercel --prodefflux-web/
โโโ app/ # Next.js App Router
โโโ components/ # React components
โโโ lib/ # Core libraries
โ โโโ ai/ # AI provider integrations
โ โโโ crypto/ # Encryption utilities
โ โโโ supabase/ # Supabase client
โโโ types/ # TypeScript definitions
โโโ supabase/ # Database schema
- Create provider class in
lib/ai/providers/ - Implement
BaseAIProviderinterface - Add to
AIManagerinlib/ai/manager.ts - Update settings UI in
app/(dashboard)/settings/page.tsx
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests (when available)
- Submit a pull request
- MCP Server Integration: Support for Model Control Protocol tools
- Prompt Templates: Create, share, and manage prompt templates
- File Upload: Support for documents, images, and other files
- Team Collaboration: Share conversations and workspaces
- Usage Analytics: Track costs and token usage
- Dark Mode: Theme switching
- Mobile App: React Native app
- Self-Hosting: Docker support for on-premise deployment
Your API keys are encrypted using AES-256-GCM encryption in your browser before being sent to our servers. The encryption key is derived from your password using PBKDF2 with 100,000 iterations. We never see your password or unencrypted API keys.
No, Efflux Web requires an internet connection to communicate with AI providers and sync your data. However, a future offline mode is planned for cached conversations.
We support all major AI providers:
- OpenAI: GPT-4, GPT-3.5 Turbo
- Anthropic: Claude 3 (Opus, Sonnet, Haiku)
- Google: Gemini 1.5 Pro, Gemini Pro
- AWS Bedrock: Claude, Titan, Llama 3
- Azure OpenAI: Your deployed models
Efflux Web is free to use. You only pay for the AI API calls to your chosen providers using your own API keys.
- ๐ง Email: [email protected]
- ๐ฌ Discord: Join our community
- ๐ Issues: GitHub Issues
MIT License - see LICENSE for details.
Made with โค๏ธ by the Efflux Team