Lunex is an open-source, modern, feature-rich AI chat application built with a modern tech stack. It provides a feature-rich, real-time chat experience that is both extensible and easy to use.
The project is hosted and can be accessed at lunex.deoxy.dev.
- Resumable Streams: Responses continue streaming even after a page reload.
- Real-time Chat Syncing: Conversations are synced in real-time across all your devices.
- Real-time AI Conversations: Engage in dynamic, streamed conversations with various AI models.
- BYOKEY Support: Bring Your Own Key for OpenRouter to use your own API credits.
- Dynamic Model Support: Use any model available on OpenRouter by configuring it in your settings.
- Web Search: The AI can perform web searches to provide answers on recent events and topics.
- User Authentication: Secure user login and registration handled by Clerk.
- Temporary Chat Mode: Start a conversation without needing to sign in.
- Automatic Title Generation: Conversations are automatically named based on the initial prompt.
- File Uploads: Supports uploading images and PDFs into the chat for context.
- Chat Branching: Create different conversation paths from any message.
- Message Regeneration: Easily regenerate AI responses to explore different answers.
- Conversation Search: Quickly find past conversations with a built-in search feature.
- Shareable Chats: Share your conversations with others via a unique link.
- URL-Based Chat Creation: Start a new chat instantly by using a query parameter in the URL (e.g.,
/?q=Hello).
- Framework: Next.js
- Backend & Database: Convex
- Authentication: Clerk
- File Uploads: UploadThing
- Styling: Tailwind CSS
- UI Components: Shadcn UI
- State Management: Zustand
- Deployment: Vercel
To get a local copy up and running, follow these simple steps.
- Node.js >= 18.0.0
- pnpm
-
Clone the repository:
git clone https://github.com/d3oxy/lunex.git cd lunex -
Install dependencies:
pnpm install
-
Set up environment variables: Create a
.env.localfile in the root of your project and add the necessary environment variables for Convex, Clerk, and UploadThing. -
Run the development server:
pnpm run dev
Open http://localhost:3000 with your browser to see the result.
Distributed under the MIT License. See LICENSE for more information.