Enterprise-grade multi-provider AI chat interface with file upload capabilities
Live Demo β’ Documentation β’ Contributing β’ Issues
SynAI is a production-ready, privacy-first AI chat interface that supports multiple AI providers in a unified experience. Built with enterprise-grade architecture, comprehensive testing, and designed for extensibility.
- π€ Multi-Provider Support: OpenAI GPT, Anthropic Claude, Perplexity AI
- π File Upload Capabilities: Images, PDFs, documents with intelligent content extraction
- π¬ Advanced Chat Features: Conversation branching, search, templates, and history
- π¨ Modern UI/UX: Responsive design, dark/light themes, accessibility-first
- π Privacy-First Architecture: All data stored locally, zero external tracking
- π’ Enterprise Ready: Comprehensive testing, CI/CD, security auditing
- π§ Developer Friendly: TypeScript, extensive documentation, contribution guidelines
- Node.js 18+ and npm 9+
- Modern web browser
- API keys for desired AI providers
# Clone the repository
git clone https://github.com/SashankBhamidi/SynAI.git
cd SynAI
# Install dependencies
npm install
# Start development server
npm run dev
Visit http://localhost:3000
to access SynAI.
- Click the Settings icon in the interface
- Add your API keys:
- OpenAI: Get API Key
- Anthropic: Get API Key
- Perplexity: Get API Key
Security Note: API keys are stored locally in your browser and never transmitted to external servers.
- OpenAI GPT Models: GPT-4, GPT-3.5 Turbo with various configurations
- Anthropic Claude: Claude-3 family with different capability tiers
- Perplexity AI: Web-enhanced AI responses with real-time information
- Conversation Management: Organize chats in folders, search conversations
- Message Templates: Pre-defined prompts for common use cases
- Conversation Branching: Explore different conversation paths
- Export/Import: Share conversations and settings
- Image Analysis: Upload and analyze images with AI vision models
- PDF Processing: Extract and process content from PDF documents
- Document Support: Handle various document formats with intelligent parsing
- Responsive Design: Optimized for desktop, tablet, and mobile
- Accessibility: WCAG 2.1 compliant with keyboard navigation
- Customizable Themes: Dark/light modes with custom color schemes
- Keyboard Shortcuts: Power-user features for efficient navigation
SynAI follows enterprise-grade architectural patterns:
src/
βββ components/ # Reusable UI components
β βββ ui/ # Base design system components
β βββ ... # Feature-specific components
βββ services/ # AI provider integrations
β βββ providers/ # Individual provider implementations
βββ utils/ # Utilities and helpers
βββ hooks/ # Custom React hooks
βββ types/ # TypeScript type definitions
βββ contexts/ # React context providers
- Separation of Concerns: Clear boundaries between UI, business logic, and data
- Provider Pattern: Extensible AI provider integration system
- Component Composition: Reusable, testable component architecture
- Type Safety: Comprehensive TypeScript coverage
- Error Handling: Robust error boundaries and graceful degradation
# Start development server
npm run dev
# Run tests
npm test
# Type checking
npm run typecheck
# Linting and formatting
npm run lint
npm run lint:check
# Build for production
npm run build
# Preview production build
npm run preview
- Unit Tests: Component and utility function testing
- Integration Tests: AI provider service testing
- End-to-End Tests: Critical user flow validation
- Type Checking: Comprehensive TypeScript validation
- ESLint: Code quality and consistency enforcement
- TypeScript Strict Mode: Enhanced type safety
- Automated Testing: CI/CD pipeline integration
- Security Auditing: Dependency vulnerability scanning
We welcome contributions from the community! SynAI is designed to be contributor-friendly with comprehensive documentation and clear guidelines.
- π Bug Reports: Help us identify and fix issues
- π‘ Feature Requests: Suggest new capabilities
- π§ Code Contributions: Implement features and fixes
- π Documentation: Improve guides and examples
- π¨ Design: Enhance UI/UX and accessibility
- Read our Contributing Guide
- Check Good First Issues
- Join our Discussions
- Review the Code of Conduct
See our detailed Development Guide for complete setup instructions.
Resource | Description |
---|---|
Setup Guide | Complete installation and configuration |
API Integration | Adding new AI providers |
Architecture Guide | Technical architecture overview |
Deployment Guide | Production deployment instructions |
Contributing Guide | Contribution guidelines and workflows |
- Be Respectful: Follow our Code of Conduct
- Be Helpful: Assist other community members
- Be Constructive: Provide actionable feedback and suggestions
- Be Patient: Maintainers and contributors are volunteers
- Documentation: Check our docs first
- Search Issues: Look for existing solutions
- GitHub Discussions: Ask questions and share ideas
- Create Issues: Report bugs or request features
Security is a top priority for SynAI:
- Privacy-First: No data collection or external tracking
- Local Storage: API keys and conversations stored locally
- Security Auditing: Regular dependency vulnerability scanning
- Responsible Disclosure: Security Policy
- β Stable: Production-ready with comprehensive testing
- π Active Development: Regular updates and improvements
- π€ Community Driven: Open to contributions and feedback
- π Growing: Expanding feature set and provider support
- Thanks to all contributors who have helped improve SynAI
- Built with amazing open source technologies and libraries
- Inspired by the AI community's commitment to accessible AI tools
This project is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.
β You CAN:
- Use for personal projects and learning
- Modify and adapt the code
- Share your modifications (under same license)
- Use for educational and research purposes
β You CANNOT:
- Use for commercial purposes or profit
- Host competing commercial services
- Sell or monetize the software
π Official commercial hosting is exclusively provided at synai.site as a free service.
See the LICENSE file for complete terms.
Made with β€οΈ by Sashank Bhamidi and the SynAI community
β Star this project β’ π Report Issues β’ π‘ Request Features