HelgeSverre/ollama-gui
A Web Interface for chatting with your local LLMs via the ollama API
Ollama GUI – A Browser‑Based Chat Front‑end for Local LLMs
What it is – A single‑page web app that lets you talk to any model served by the Ollama engine. The UI runs entirely in the browser; it does not host its own backend. All chat history is kept locally in the browser’s IndexedDB, so nothing leaves your machine unless you point the app at a remote Ollama server.
Key capabilities
- Chat experience – streaming replies, stop‑generation, regenerate, edit messages. Every edit creates a version you can switch back to, and any reply can be branched into a new conversation.
- “Thinking” models – for models that expose a reasoning trace (e.g., qwen3, deepseek‑r1, gpt‑oss) the UI shows a collapsible block with the model’s internal chain‑of‑thought. You can toggle this on/off or adjust effort levels for gpt‑oss.
- Attachments – drop images for vision models (llava, gemma3) or attach text/code files; they are sent together with the prompt.
- Model management – search the Ollama model catalog, pick a size, pull with progress, delete, inspect capabilities, view context length, and unload models from memory.
- Fine‑grained settings – system prompt, temperature,
num_ctx,top_p, seed, etc., configurable globally, per model, or per chat. - History UI – chats are grouped by date, can be pinned, archived, renamed, auto‑titled, and searched full‑text (⌘K).
- Rich markdown – syntax‑highlighted code blocks, KaTeX math rendering.
- Appearance – light/dark themes, locale‑aware dates and numbers.
- Import/Export – dump all chats as JSON or a single chat as Markdown.
How to run it
- Install Ollama locally and have it listening (default
http://localhost:11434). - Install Bun (or Node 20) and clone the repo.
bun install && bun run dev– the dev server proxies/apito Ollama, so no CORS changes are needed.- Open
http://localhost:5173.
Deployment options
- Static build –
bun run buildcreates adist/folder you can serve behind any web server (nginx example provided). The UI still talks directly to Ollama, either via same‑origin proxy or cross‑origin URL. - Docker – pre‑built images serve the UI with nginx and proxy
/apito an Ollama instance. You can run both Ollama and the GUI together via the supplieddocker‑compose.yml, or run only the GUI and point it at an external Ollama. - Hosted demo – a Vercel‑hosted version (
https://ollama-gui.vercel.app) works with a local Ollama instance after you add the origin toOLLAMA_ORIGINS.
Development & testing
- Linting (
bun run lint), unit/integration tests (bun run test), coverage, and Playwright end‑to‑end tests. A special flag (OLLAMA_REAL=1) runs the e2e suite against a real Ollama server. - Model catalog is generated from the public Ollama library via a separate scraper; update with
bun run catalog:update.
Tech stack – Vue 3 + Vite, Tailwind CSS, VueUse, Dexie (IndexedDB wrapper), markdown‑it, highlight.js, KaTeX, Tabler Icons.
License – MIT.
In short, Ollama GUI is a polished, locally‑hosted web front‑end for chatting with any Ollama‑served LLM, offering versioned editing, reasoning visualisation, file attachments, and full model management without needing a separate server.
Related
- Project
- Project
- Project
- Project
- Project