thom.chat is an open-source alternative/clone to T3 Chat, built for Theo's cloneathon.
It is self-hostable, by self-hosting your own app and https://www.convex.dev/ instance.
While thom.chat is a clone, the featureset is not identical to T3 Chat.
- 400+ AI Models via OpenRouter integration
- Free Tier with 10 messages using premium models
- Unlimited Free Models (models ending in
:free
) - Bring Your Own Key for unlimited access
- Real-time streaming responses
- Streaming on the server for interruption-free chats, even when reloading
- Chat branching for exploring different conversation paths
- Full-text search across your entire chat history
- Privacy mode for secure screen sharing
- File uploads with image support
- Web search integration for real-time information
- Markdown rendering with syntax highlighting
- Chat sharing with public links
- Cursor-like rules for consistent AI behavior
- Keyboard shortcuts for power users
- Enhance prompt button for better prompts
- Message regeneration capabilities
Frontend
|
Backend
|
- Node.js 18+
- pnpm (recommended)
- OpenRouter API key (optional for free tier)
-
Clone the repository
git clone https://github.com/tglide/thom-chat.git cd thom-chat
-
Install dependencies
pnpm install
-
Environment setup
cp .env.example .env # Edit .env with your configuration
-
Start development server
pnpm dev
-
Open your browser
http://localhost:5173
- Sign up and get 10 free messages with premium models
- Use unlimited free models (ending in
:free
) - No credit card required
- Add your own OpenRouter API key for unlimited access
- Access to all 400+ models
We welcome contributions! Please see our Contributing Guide for details.
- Fork the repository
- Create your 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
This project is licensed under the MIT License - see the LICENSE file for details.
- Inspired by T3 Chat
- Built with SvelteKit
- Powered by OpenRouter
- Database by Convex
Made with ❤️ by Thomas G. Lopes and Aidan Blesar
🌐 Live Demo • 📖 Documentation • 🐛 Report Bug • 💡 Request Feature