L0 Chat is a lightweight web chat client for OpenRouter models with web search support via OpenRouter's web search plugin. It focuses on fast setup, responsive streaming chat, and local session persistence.
demo.mp4
- Node.js 18+
- An OpenRouter API key (create one here)
npm ci
npm run devOpen http://localhost:5173.
Use npm install only when you intentionally add or update dependencies.
- Enter your OpenRouter key when prompted.
- The app validates keys in
sk-or-v1-...format. - Your key is stored in browser local storage.
- Send your first message and wait for a streamed response.
- Send a message with
Enter. - Insert a newline with
Shift + Enter. - Choose a model from the header selector.
- Manage chat sessions from the sidebar.
- Update or remove your API key in Settings.
This project has no backend. For simplicity, it calls the OpenRouter API directly from the frontend. All app persistence is stored in browser localStorage, including API key, chat sessions/history, selected model, favorite models, and the web search toggle.
- React 19 + TypeScript
- Vite
- Tailwind CSS v4
- shadcn/ui-style component patterns (Radix + CVA)
- OpenRouter API (streaming chat completions)
npm run dev- Start the Vite dev server.npm run build- Run TypeScript build and production bundle.npm run lint- Run ESLint.npm run preview- Preview the production build locally.
For repo architecture, agent guidance, and behavior that must be preserved during changes, see AGENTS.md.
This project is licensed under the MIT License.
AI tools were used to assist with parts of this project's implementation and documentation.