Review 3: Comparison

Which frontend works best for an external local LLM? Updated on 24 October 2026.

Validity and method: ZeroChat's data was checked in its code (version 9.11.0, commit 170ee03). The others' data comes from their official public documentation: the new rows (remote access and terminal runs) were consulted on 24 October 2026 and the rest between 4 and 16 October. What that documentation does not state is shown as "not stated", not as "no". Memory and performance were not measured.

1. What is compared

ZeroChat aims to be the single frontend for models served by their own engine (vLLM, llama.cpp, LM Studio, SGLang or Ollama), switching models by task. It is therefore compared with the interfaces usually placed in front of a local server, not with those aimed only at cloud providers.

Since the 9.2.3 review the comparison adds two dimensions where ZeroChat has changed: remote access to the working environment and running a prompt from the terminal.

2. Matrix

DimensionZeroChatOpen WebUILM Studiollama.cpp interfaceJan
DeploymentStatic web app and an optional single-file Python local serverServer (Docker or pip) with a databaseDesktop app with its own engineBundled with llama-serverDesktop app with embedded llama.cpp
Connect to a running serverYes: OpenAI compatible, Ollama and cloud APIsYesFocused on its own engine; configurableOnly its own serverYes, as a remote provider
Separate and forwarded reasoningYes, in a collapsible block and forwarded between agent stepsYesYesYesNot stated
MCPstdio services managed by the local server; remote HTTP ones through mcp-remote, with OAuthNative (Streamable HTTP)Yes, local and remoteNot statedYes
Model browsingbrowser_action or Playwright MCP with its own engines or the user's browserThrough tools or MCPThrough MCPNot statedThrough MCP
Tool permissionsGlobal policies, rules per directory and command, a signature per callBy administrator and rolesInteractive confirmation with editable argumentsNot statedBy configuration
Computer files and commandsYes, through the local server, without containers, plus a diff viewerThrough tools or MCPThrough MCPNot statedThrough MCP
DocumentsWord, PowerPoint, Excel, OpenDocument, .doc, .xls and PDF, in the chat and in RAGThrough server-side extractionDocument attachmentsNot statedBasic documents
Vision and web imagesYes, with web image downloads for the modelYes, image attachmentsYes, with vision modelsYes, with multimodal supportYes, with vision models
SubagentsYes, read-only (delegate_task)Not statedNot statedNot statedNot stated
RAGLexical in the browser (Orama in IndexedDB)Vector with a databaseDocument attachmentsNot statedLocal retrieval
Request inspection and editingEditable interceptor before each sendServer logsDeveloper logsConsole logsLimited
Remote accessThe full environment (agent, files and commands) from any browser, by SSH tunnel or reverse proxy, with sign-in through the system accountWeb server with its own user accountsThe model API on the local network or through LM Link (preview); the interface is a desktop appThe llama-server one; its API key protects the APIThe model API on the local network, with an API key; the interface is a desktop app
Prompt from the terminalzerochat --prompt: the full agent with tools and profile, answer on stdout and conversation exportNot statedlms chat -p: the model's answer on stdoutllama-cli, separate from the interfaceNot stated
Multi-userNo: one system accountYes, with roles and authenticationNoNoNo

3. Analysis

Versus the llama.cpp interface

It is the minimal option: it ships with the server and needs nothing else. It is good for trying a model, but it has no agent, computer tools, permissions or MCP. ZeroChat connects to the same llama-server and adds the whole working environment.

Versus LM Studio

LM Studio combines engine and desktop interface, supports MCP with a confirmation for each call, and its CLI answers a prompt from the terminal. Its remote access is that of the model API. ZeroChat does not depend on the engine and brings the agent with the computer's files and commands to the remote browser; its --prompt runs that full agent, not just the model.

Versus Open WebUI

Open WebUI is a client-server suite with a database, user accounts and vector RAG, designed for teams. ZeroChat is a static application without a server database, for one person, that starts without Docker, keeps data in the browser and also runs on Android with Termux.

Versus Jan

A desktop application for running GGUF models on the computer itself, with a local API that can be opened to the network. For people who already serve their models with vLLM or llama.cpp, ZeroChat offers more control over the connection, transparent requests and built-in technical tools.

4. What sets ZeroChat apart for this use

  • Engine independence: one client for vLLM, llama.cpp, LM Studio, SGLang or Ollama.
  • The working environment remotely: agent, files and commands of the computer from a phone or another computer, without exposing the local server and with the system account as sign-in.
  • The agent from the terminal: zerochat --prompt runs a complete task with tools and returns only the answer, suitable for scripts and cron.
  • Profiles that prepare the environment: each profile chooses the model, MCP services and browser.
  • Reasoning preserved between steps and native documents (office and PDF) without heavy server dependencies.
  • Editable interceptor for the exact JSON sent to the model.

Accepted trade-offs: lexical-only RAG, a single person, and data in the browser that should be exported.

5. When to choose each one

  • ZeroChat: one person who wants an agent for programming or technical work on a local model served separately, with controlled access to the computer, also away from home.
  • LM Studio: a graphical application that downloads, runs and serves the model.
  • llama.cpp interface: quick checks without installing anything else.
  • Open WebUI: several users, central administration or vector RAG.
  • Jan: simple personal use of GGUF models on the desktop.

6. Sources

Authorship

  • Review and writing: Claude Opus 5.5 in Claude Code, from the dated sources and ZeroChat's code at commit 170ee03.