v0.11.4 · Browser GUI · Agents & Skills · MCP Tools · 4 Backends

Which local LLMs will
run on your machine?

A hardware-aware CLI that scores your machine and gives every model a straight answer — yes, slow, or no, with an estimated tok/s range — before you download a thing. Then it pulls, serves, chats, and migrates memory, all locally.

local-llmup model performance view showing recommendation score, hardware fit, throughput evidence, memory and context sizing, quantizations, and catalog sources

Open any catalog model to inspect the complete recommendation score, fit and throughput evidence, context cost, quantizations, integrity status, and sources before starting it.

$ npm install -g local-llmup
$ docker pull ghcr.io/shashankswe2020-ux/local-llmup:latest
✓ yes Fits in memory, meets bandwidth
⚠ slow Fits but bandwidth-limited
✗ no Won’t fit — binding reason shown

Everything you need to run LLMs locally

From hardware profiling to integrity-verified installs, interactive TUI to portable memory — a complete local-LLM workflow in one CLI.

Hardware-accurate verdicts

An AI Hardware Score (0–100) names your bottleneck. Every model in the catalog gets a yes / slow / no verdict with est. tok/s — before any download. Unknown figures render as unknown, never fabricated.

Browser GUI workspace

Run local-llmup gui for a loopback-only local AI workspace — a Maka-inspired interface that reuses the same recommend, up, and ls internals. Pick a recommended model, bring one online, and chat — all in your browser.

Interactive terminal UI

A full Ink-rendered TUI activates automatically in capable terminals — searchable model list, keyboard navigation, doctor dashboard, real-time lifecycle progress. Falls back to plain text in CI or piped mode.

4 backends

Ollama, llama.cpp, MLX (Apple Silicon), and LM Studio — auto-selected or user-chosen. All bind 127.0.0.1 only. Override with --backend.

Integrity-verified installs

SHA-256 digest checks on every pull. The up and switch commands fail closed on any mismatch — no silently corrupt weights.

Context-window sizing

KV-cache-aware memory math with GQA-correct attention geometry. Pass --context N to re-rank at a given window, or --max-context for each model’s ceiling.

Agents & skills

Build reusable agents (personas / system prompts) and skills (instruction blocks) right in the workspace — stored locally as markdown. Bundle skills into an agent and load them per message from a dropdown.

MCP connectors & tools

Attach Model Context Protocol servers — local stdio commands or loopback HTTP/SSE — to give the chat real tools. Enable, disable, and inspect each connector’s tools; the model calls them in an agentic loop.

Inline images & graphs

Let an agent run code in your workspace and render the result — the chat panel displays generated images and graphs inline, served safely from a loopback-only artifacts endpoint.

66 models. Evidence attached.

The catalog is an offline, reviewable dataset — not a scrape. Every entry ties model identity and capabilities to architecture, context, quantization, artifact size, integrity, and official sources.

66curated variants
4runtime targets
SHA-256artifact integrity
weeklycoverage audit
  1. 01

    Curate

    Architecture, license, capabilities, context, quantization, and official sources are reviewed and pinned.

  2. 02

    Bootstrap

    The snapshot deterministically generates the same offline advice dataset on every machine.

  3. 03

    Enrich

    Known Ollama artifacts gain exact model-layer bytes and content digests without rewriting curated facts.

  4. 04

    Audit

    Freshness and upstream repository coverage produce review candidates, never automatic admissions.

Honesty gate: missing attention geometry stays unknown. Repository coverage cannot enumerate missing tags inside a model already represented in the catalog.

Your local AI workspace, in the browser

Prefer point-and-click? local-llmup gui launches a Maka-inspired, local-first workspace on 127.0.0.1 — and manages models through the very same engine as the CLI. Bring your own model by picking a recommended local model for your machine, or start one directly, then chat. Nothing leaves your machine.

gui · models

Pick a recommended model — then start it

The Models view ranks models that fit your hardware with the same yes / slow / no verdicts and est. tok/s as the CLI. A Start button brings your chosen model online through the verified up lifecycle — recommendations, integrity checks, and active-server state all flow through the same deterministic engine.

loopback-only host-header checked managed by local-llmup pluggable harnesses
local-llmup browser workspace showing recommended models with verdicts

Or install it as a native app

Prefer an app in your Dock over a browser tab? The desktop build wraps the exact same loopback Runtime Host in a hardened, native window. It boots the same GUI server the CLI serves, binds 127.0.0.1 only, ships zero Node integration in the renderer, and blocks any navigation off-loopback. Same engine, same verdicts, same privacy — now one click away.

local-llmup desktop app icon
local-llmup Electron · loopback-only

Installers build for macOS, Windows & Linux on every release via CI. They're ad-hoc signed, not notarized: on macOS right-click ▸ Open (or if it's blocked, clear quarantine with xattr -dr com.apple.quarantine /Applications/local-llmup.app); on Windows choose “More info ▸ Run anyway”. Prefer source? Build any target:

git clone https://github.com/shashankswe2020-ux/local-llmup
cd local-llmup/apps/desktop
npm install && npm start          # run the app
npm run package:mac              # or :win / :linux

Agents that use skills & run tools

Build an agent (a persona / system prompt), give it reusable skills, and connect tools that run code in your workspace. Select the agent in chat and its skills load automatically — here it solves a quadratic with SymPy, plots it with Matplotlib, and renders the graph right in the panel. Everything stays on 127.0.0.1.

Equation Solver agent solving x^2-5x+6=0 with a code tool and rendering the graph inline in the chat

Create, bundle, and load per message

Author agents and skills in the workspace — each stored locally as markdown with YAML frontmatter, the same convention Claude Code and Codex use. Full create / edit / enable / delete. An agent can bundle the skills it always needs, and any skill can be toggled per message from a chip bar.

local markdown per-message skills bundled skills system-prompt compose

Give the chat real tools with MCP

Attach Model Context Protocol servers to the workspace — local stdio commands or loopback HTTP/SSE only. Enable a connector and its tools become available to the model, which calls them in an agentic loop. Below: two WHOOP tools are proposed, explicitly approved, and used to build a live health briefing with actual values.

Approving two live WHOOP MCP calls and rendering an actual health briefing

Run models
locally.
Keep control.

Advice commands make zero network calls and use a curated, cited, offline dataset. Servers bind 127.0.0.1. Weights are integrity-verified and fail closed. Your conversations stay on your machine.

A real TUI — not just pretty text

v0.6 brings a full Ink 5 + React 18 terminal UI that activates automatically when your terminal is ≥60×16. Screen-reader accessible mode and plain-text fallback always available.

recommend

Searchable ranked model list

Every model in the catalog scored for your hardware. Navigate with arrow keys, search with /, mark models for comparison, inspect evidence panels. Verdicts update live.

↑↓ navigate / search m mark c compare d details q quit
local-llmup recommend TUI showing ranked model list
doctor

Hardware diagnostics dashboard

Box-drawn diagnostics show ✓ OK / ! WARN / ✗ FAIL for every check. AI Hardware Score (0–100) with sub-scores for VRAM, RAM, compute, and storage. Backend version table with install status.

q quit --json output
local-llmup doctor TUI showing hardware diagnostics
can-run

Instant single-model verdict

A focused answer for one model — verdict, binding reason, and est. tok/s range. Exits non-zero only on no, so it works as a CI gate without extra parsing.

exit 0 on yes/slow exit 1 on no --json
local-llmup can-run showing yes and no verdicts

From zero to running in minutes

Node.js 18+. No API keys, no cloud accounts. For lifecycle commands you need at least one backend — Ollama is the recommended default.

01

Install

npm install -g local-llmup

Or try without installing: npx local-llmup

02

See what fits

local-llmup

Interactive TUI opens in a capable terminal. Ranked models with verdicts and est. tok/s.

03

Check one model

local-llmup can-run qwen3:8b

Instant yes / slow / no verdict with est. tok/s. Works as a CI gate.

04

Pull and serve

local-llmup up qwen3:8b

Integrity-verified pull via Ollama, then a loopback-only server endpoint.

05

Chat

local-llmup chat

Multi-line input, streaming responses, session recorded to local memory.

06

Migrate memory

local-llmup migrate --from qwen3:8b --to qwen3:14b

Carry conversation memory when upgrading models. No data left behind.

11 commands, full lifecycle

Every command supports --json for machine-readable output and --help for usage. Advice commands make zero network calls.

command
what it does
recommend
Default. Ranks the catalog for your machine with yes/slow/no verdicts and est. tok/s. Filter with --task, size context with --context N.
can-run
Yes/slow/no for one model with binding reason and est. tok/s. Exits non-zero only on no — scripts cleanly.
doctor
AI Hardware Score (0–100), bottleneck diagnosis, backend status, and actionable environment checks.
catalog
Browse the curated model catalog with quantization, size, context lengths, and backend availability.
gui
Launch the loopback-only browser workspace — pick a recommended model, bring one online, and chat, all managed by local-llmup.
up
Pull a model (SHA-256 integrity-verified), then bring up the loopback-only server endpoint.
chat
Interactive TUI chat with streaming responses, multi-line input (Ctrl+J), and session memory.
ls
Show the currently active model and server endpoint.
switch
Change the active model without re-pulling. Keyboard-navigable model picker in TUI mode.
migrate
Move local conversation memory from one model to another. Preview with --dry-run.
down
Stop the local server cleanly when you are done.

4 runtimes, one workflow

Auto-selected based on your platform and installed runtimes. Override with --backend. All bind 127.0.0.1 only.

Ollama
macOS · Linux · Windows

Managed daemon. Recommended default. Handles pull, serve, and stop.

Full lifecycle
llama.cpp
macOS · Linux · Windows

Self-managed GGUF with HuggingFace acquisition. Maximum control.

Full lifecycle
MLX
macOS (Apple Silicon only)

mlx-lm Python package. Preferred on Apple Silicon when installed.

Full lifecycle
LM Studio
macOS · Linux · Windows

Attach-only — user manages the server, llmup attaches.

Attach-only

Chat with any runtime — from the workspace

A backend picker in the workspace lets you reach every runtime directly — the same model chatting locally through Ollama, llama.cpp, MLX, and LM Studio.

local-llmup vs. Ollama

Ollama is an excellent runtime. local-llmup adds the hardware-aware intelligence layer on top of it (and three other runtimes).

FeatureOllamalocal-llmup
Run inference
Hardware-aware model recommendations
yes / slow / no verdicts + est. tok/s
AI Hardware Score (0–100)
Context-window sizing (KV-cache aware)
Interactive terminal UI
Browser GUI (loopback-only workspace)
Agents & skills library
MCP connectors & tools
Inline images & graphs in chat
Accessible mode (screen readers)
Multi-backend (4 runtimes)
SHA-256 integrity verification
Portable memory migration
Offline deterministic advice