Addaly is in open beta. Things will change, and AI answers can be wrong — check anything that matters.

Interfaces: what each one is for

Running Models Yourself · lesson 8 of 10 · 6 min

Four things people call "the app". They do different jobs, and none of them changes how good the model is. Pick by who is using it.

Open WebUI — for more than one person

Self-hosted, runs in Docker, points at any OpenAI-compatible backend. It has user accounts and roles, conversation history per user, document upload with retrieval, web search, model switching, and a plugin system for custom pipelines.

bash
docker run -d -p 3000:8080 \
  -v open-webui:/app/backend/data \
  -e OPENAI_API_BASE_URL=http://host.docker.internal:8080/v1 \
  -e OPENAI_API_KEY=local \
  ghcr.io/open-webui/open-webui:main

Choose it when a team needs something ChatGPT-shaped and you need to know who used what. It is the only one here designed for multiple users.

LM Studio — for one person getting started

A desktop application for macOS, Windows and Linux. Its real strength is discovery: it browses Hugging Face, shows you every quant of a model, and tells you which ones fit your machine — the arithmetic from lesson 2, done for you. Every llama.cpp setting has a slider, and it runs a local server on demand.

Free, but not open source. Choose it when you are one person on one machine trying models quickly, or when you are helping someone non-technical get started. Nothing else has an onboarding this good.

SillyTavern — for control over the prompt

Marketed for character chat and roleplay, which puts people off. Look past that: it is the most complete prompt-construction and sampler interface that exists. Every knob from lesson 7 is exposed, including DRY and XTC, along with exact control over what goes into the context in which order, per-character templates, and conditional injected text.

It connects to llama.cpp, Ollama, TabbyAPI, vLLM and hosted APIs alike. Choose it when you need to see and control the literal prompt string, whatever your actual use case.

The plain API — for anything you will automate

Everything above is a client of this. It is the only interface you can script, test, version-control and put in CI.

bash
curl http://localhost:8080/v1/chat/completions \
  -H 'Content-Type: application/json' \
  -d '{"model":"local","messages":[{"role":"user","content":"One sentence on tides."}],"temperature":0.7}'

Or the OpenAI SDK in any language with base_url pointed at your server. Because every engine speaks this dialect, code written against a local server runs unchanged against a hosted one, which makes the comparison in lesson 1 trivial to perform.

The thing to hold on to

Swapping interfaces does not change speed and does not change quality. People reinstall front-ends hoping for better answers, and get the same model back.

What interfaces do change is what gets sent: the system prompt, the context length, sampler defaults, retrieved documents, and background calls the UI makes on its own (conversation titles, tag generation). When the same model behaves differently in two apps, that difference is in the request, and every one of these tools will show you the request if you look.

Before you move on

The same model, served by the same local llama.cpp instance, gives clearly worse answers through Open WebUI than through LM Studio. What is the right first move?

Pick the one you would defend. Nobody sees your answer.

No ads. No data sale. No public scores on people. Ever.

© 2026 Addaly