Skip to content

dosvic/l0-chat

Repository files navigation

L0 Chat

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

demo.mp4

Quick Start

Prerequisites

Run Locally

npm ci
npm run dev

Open http://localhost:5173. Use npm install only when you intentionally add or update dependencies.

First Use

  1. Enter your OpenRouter key when prompted.
  2. The app validates keys in sk-or-v1-... format.
  3. Your key is stored in browser local storage.
  4. Send your first message and wait for a streamed response.

Usage

  • 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.

Architecture

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.

Tech Stack

  • React 19 + TypeScript
  • Vite
  • Tailwind CSS v4
  • shadcn/ui-style component patterns (Radix + CVA)
  • OpenRouter API (streaming chat completions)

Development Commands

  • 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.

Contributor Pointer

For repo architecture, agent guidance, and behavior that must be preserved during changes, see AGENTS.md.

License

This project is licensed under the MIT License.

AI Disclosure

AI tools were used to assist with parts of this project's implementation and documentation.

About

Local-first OpenRouter chat app with streaming responses and persistent sessions.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages