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

  1. Install Ollama locally and have it listening (default http://localhost:11434).
  2. Install Bun (or Node 20) and clone the repo.
  3. bun install && bun run dev – the dev server proxies /api to Ollama, so no CORS changes are needed.
  4. Open http://localhost:5173.

Deployment options

  • Static build – bun run build creates a dist/ 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 /api to an Ollama instance. You can run both Ollama and the GUI together via the supplied docker‑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 to OLLAMA_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