Skip to content

pinkfuwa/llumen

Repository files navigation

Shimmy Logo

llumen

⚡ a lightweight, performant LLM chat application with effortless setup 🚀

License: MPL 2.0 Rust Nightly Docker Release Binaries

llumen is a lightweight, self-hostable LLM chat application (frontend + backend) that aims to provide an out-of-the-box experience for self-hosting users.

Its design goal is simplicity: you only need a single OpenRouter API key to use LLM features — no separate keys for OCR, search, embeddings, image generation, or other services.

❓ Why choose llumen?

  • 🤝 We provide windows executable, docker image, linux binary
  • 🚢 Single API key requirement (OpenRouter) for model calls.
  • 🚀 starting time < 1s, disk usage < 100 MiB, memory usage < 128MB
  • 📘 Markdown rendering with code and math support.
  • 🔍 Multiple chat modes (normal, web-search-enabled).
  • 🧠 Deep-research and agentic modes (WIP 🚧 ).

🌟 Screenshots

in-chat

Demo

👉 Quickstart

Tip

Use reasoning-proxy to unlock advance feature(search, OCR) with normal openai endpoint

Important

The default account is admin, password is P@88w0rd

🐳 Docker (Recommended)

  • The repository includes a multi-stage Dockerfile that builds the frontend and the backend and produces a small image that serves static files and runs the server.
  • Example: build and run the container (binds port 80 by default).
docker run -it --rm \
  -e API_KEY="<YOUR_OPENROUTER_API_KEY>" \
  -p 80:80 \
  -v "$(pwd)/data:/data" \
  ghcr.io/pinkfuwa/llumen:latest
06:46:48.654Z INFO | Using endpoint https://openrouter.ai/api/v1/chat/completions for completions
06:46:48.675Z INFO | Listening on http://127.0.0.1:8001

📦 Without docker

Tip

Prebuild-binary is not up to dated, it only built on per-release basis

We also provided prebuild binary, download it and extract from release.

🔑 Environment variables

  • API_KEY (required) — OpenRouter or equivalent provider API key.
  • API_BASE — openai compatible api url. Default: https://openrouter.ai
  • DATABASE_URL — database connection string. Default in Docker: sqlite://data/db.sqlite?mode=rwc.
  • BLOB_URL — path for redb object storage. Default in Docker: /data/blobs.redb.
  • BIND_ADDR — address the backend binds to (default in Docker: 0.0.0.0:80).

📖 Where to look for more documentation

  • Development and build-from-source steps, advanced type generation and other developer-focused docs were moved to DEV.md. If you want to build locally or contribute code, read DEV.md first.
  • Backend source: backend/ (Rust).
  • Frontend source: frontend/ (SvelteKit).