Documentation

Remuda

A desktop app for running, testing and tuning your local Ollama models. Chats on the left, the loaded model in the top bar, the Modelfile one click away.

What it is

Ollama is a good runtime with a terminal-shaped workflow: getting a model to behave means bouncing between ollama list, ollama run, ollama show, and a Modelfile in another editor — a round trip slow enough that most people try one system prompt and settle.

Remuda closes that loop in one window: load a model, chat to test it, edit its Modelfile beside the chat, save. Remuda rebuilds the model through ollama create and reloads it, so your very next message uses the change.

Then it makes the loop worth running more than once. Every save is snapshotted and diffable. Two configurations can answer the same prompt side by side on a pinned seed, so you're reading the change and not sampling noise — and a benchmark does the same across a whole set of prompts, so the verdict stops resting on the one example you happened to try. If a model claims tool support, you can find out whether it actually emits well-formed calls.

Nothing leaves your machine. Remuda is a client for the Ollama you already run on 127.0.0.1.

Ollama runs separately. Remuda owns no models and runs no inference itself. It talks to an Ollama server you start yourself — by default http://127.0.0.1:11434 — and if it can't reach one, it says so plainly rather than pretending to work.

Install

brew install --cask magna-nz/tap/remuda

That pulls in magna-nz/homebrew-tap on the way through, so there's no separate brew tap step. The build is unsigned — no Apple Developer program — so the cask clears the quarantine flag as part of the install, and the app just launches.

brew upgrade --cask remuda     # move to the latest release
brew uninstall --cask remuda   # remove it

Remuda needs Ollama itself, installed and running:

brew install ollama
ollama serve

Requirements: macOS 12+ on Apple Silicon.

What you get

Load paneEvery installed model, with tuned variants grouped under their base. Pick a Modelfile, hit Load, watch real progress. Eject hands the memory back without waiting out keep_alive.
ChatSaved sessions that remember the model they ran on, and offer to load it again rather than silently swapping. Streaming replies, cancel, and a warming indicator.
Modelfile editorA form for the common fields, synced both ways with the raw text, which stays the source of truth. Save or Save as…, plus a history of every save and restore.
CompareRun two Modelfile configurations against the same prompt, side by side, on a pinned seed — sequentially, so each lane's tokens per second still means something.
BenchmarkOne saved set of prompts, run against several configurations at once — two models against each other, or one model under two Modelfiles. One row per prompt, one column per lane, every answer on the same pinned seed. It shows what differs and never scores a lane.
Tool playgroundFor models that claim tool support: write schemas, chat against them, and see every tool call validated field by field — wrong type, not in enum, unknown key, missing. The verdict is the feature, not the pretty-printing.
Memory readoutThe VRAM/RAM split for whatever is loaded, and a fit predictor that estimates whether a model and context length will fit before you load it.
PullPer-layer progress, cancel and retry, plus a curated list of popular models with the installed ones marked.
Per-reply statsGeneration and prompt-eval tokens per second, load time, total time, and context used, under every reply.
Leave with itCopy any reply as the curl or ollama run that produced it, promote a good answer straight into SYSTEM, or re-roll holding the seed — or changing only the seed.