local-only desktop app · linux & windows · MIT
Find out how loud a model will be before you download it.
Every local-model tool tells you whether a model fits. Quiesce also tells you how loud it will be on your card, then paces the work so it stays that way — and checks the prediction against your actual fan instead of asking you to trust it.
Quiesce · kwee-ESS · what databases and filesystems do to bring a running system to a quiet, consistent state. Stop accepting new work, let what is in flight finish, keep it quiet.
- no account
- no telemetry
- no cloud
- nothing to compile
Three numbers per model, and only one of them is common
Will it fit?
Full, partial or CPU-only, with the layer split and the exact context length that leaves headroom. Nobody should commit to a 47 GB download to find out.
How fast?
Decode and prefill from memory bandwidth and the shape of the model — then checked against the engine's own counters on the first real run.
How loud?
A noise band from Silent to Jet engine, from power draw, cooling headroom and sustained load. No other local-model app scores this at all.
Checked, not asserted
A prediction you cannot falsify is a slogan. So the governor samples the card while a model runs and records what actually happened — fan duty, temperature, power — against the band that was predicted. A model whose prediction was wrong says so, in the table, with the size of the miss.
This machine's last real measurement
| Model | qwen3:8b on a 3090 capped to 280 W |
|---|---|
| Predicted | 90.5 tok/s |
| Measured | 106.2 tok/s (4 samples: 109.7, 103.7, 106.5, 105.0) |
| Difference | 17% conservative — inside the ±25% the estimator claims |
| Predicted noise | Quiet |
| Observed | fan peaked at 0%, 65 °C, 253.8 W peak |
| Verdict | agrees |
Recorded by the app on the machine it was built on, and still in
~/.config/quiesce/measured.json. Fan percentage is a proxy for loudness
rather than a decibel reading, so what is checked is the falsifiable thing: did it go
louder than the band claimed.
The time it was wrong
A long unpaced session on the same machine reached 67% fan at 74 °C while the row still said Quiet — a band whose ceiling is 40%. The app's own check recorded the miss, which is the only reason anyone knew: the numbers were right, and the question was wrong. That band described one reply, and the person was asking six questions in a row.
So every model now predicts both — Quiet for one reply,
Noticeable over a session — and the check picks the claim the observation
actually belongs to, from whether the card was pinned at its power limit rather than
from a stopwatch. The same run is now judged against a 70% ceiling and agrees.
That is what a checked prediction is for: it argues back.
Numbers that cannot drift
- 231 models, every architecture number read from the registry
your engine pulls from — not typed in by hand. Each row carries the
sha256digest it was measured from. - 34 assessed, 197 measured. The two are kept apart on purpose: an interpolated score is flagged as an estimate and can never become the basis for another estimate.
- 18,294 assertions across eleven synthetic machines, running in CI on every push.
- Four packages built and checked on every tag:
.deb,.rpm, AppImage,setup.exe— with publishedSHA256SUMS.
Cross-checking those 231 entries against the registry found 32 of the original 34 were wrong — a context length overstated by 3.2×, one entry describing a different architecture than the model it named, and one tag that did not exist upstream at all. That is why the catalogue is measured now.
How the machine stays quiet
Scoring a model is the easy half. The hard half is not letting it cook your room once it is running, and this is where the name comes from.
Duty-cycle pacing
Ask for 50% and the job takes twice as long while the card is busy half the time. Measured as active seconds over wall clock, and reported back to the model, so the number it sees is the number the machine held.
Thermal pause
Above your temperature threshold it stops admitting work instead of pushing harder. A card at 88 °C refuses a new request — including one from your code editor.
One thing at a time
Sub-agents and flow steps run in sequence under a single shared budget. Four agents at 50% is not 50% of a card, so they do not get to run at once and pretend otherwise.
Power cap, with the arithmetic
Capping tells you what it costs before it does it: on a 3090, 420 W → 280 W is about 4% of decode speed and drops the predicted noise from Noticeable to Quiet. Applied by you, never silently.
It is also a working desktop app
The quiet part is the reason it exists. Everything else is the reason you would keep it open: a native window with Setup, Models, Chat, Agent, Library, Tools, Governor and Connect.
Coding tools, under the governor
An OpenAI-compatible endpoint on loopback, so Continue, Cline, Aider or Zed can drive the same models. It is not a side door: requests are gated exactly like a turn in the Chat tab.
An agent that asks first
A governed tool loop confined to one folder. Anything that writes or runs a command stops and asks, every time, and a remembered answer is scoped to one tool for one session — never blanket.
Flows, on a canvas
Several steps written down once and run in order. A node's position is what decides when it runs, so the drawing cannot lie about the order — the server sorts by it and the runner walks that list.
Scheduled jobs
An interval or a cron expression, or a flow on either. Every run keeps a step-by-step trace, and a run that stops raises a desktop notification — because that is the case where silence costs you a night's work.
MCP, for real
Servers over stdio or HTTP, their tools and their resources, every call confirmed first. Sampling is deliberately not advertised: a server driving your card is the one thing the governor cannot pace on your behalf.
An advisor on the command line
The same engine detection and scoring, without the window —
python3 -m advisor --auto picks a model and explains why, including the
alternatives it rejected.
Compared, including where it loses
A comparison table that only has one winner in it is an advertisement. Here is the honest one, as of this release.
| Asking | Quiesce | Who is better |
|---|---|---|
| How loud will this model be on my hardware? | A quiet band, per model, checked against your fan | nobody else scores loudness at all |
| Keep a sustained job from cooking the machine | A duty cycle held across agents and flows, with a measured figure | CoolMind reacts to heat on Windows; it does not pace |
| How many models are scored before download | 231 — the library, measured | llmfit has ~497 across more providers |
| Signed installers | Unsigned, with published checksums | llmfit and LM Studio ship signed binaries |
| Retrieval, documents, workspaces | Via a fork of the AnythingLLM MIT core | AnythingLLM, plainly |
| Users, bug reports from other machines | One machine: the one it was built on | everyone. This is a young project. |
| Nothing leaves the machine | No telemetry, no account, no cloud, no leaderboard | llmfit's leaderboard is a feature; this one refuses it |
| Learning what a model does on somebody else's card | Export a file, import theirs; their figures are labelled as theirs | a leaderboard is quicker — this needs two people to agree on a filename |
Download
Four packages per release, attached to
the releases, with
SHA256SUMS beside them.
.deb
Debian, Ubuntu, Pop!_OS, Mint
.rpm
Fedora, RHEL, openSUSE
AppImage
Any Linux. No install step.
setup.exe
Windows, with a native window
The AppImage needs chmod +x first — GitHub release assets do not carry Unix
permission bits, so it arrives non-executable. That is a property of the download, not the
build. The desktop app needs GTK and WebKit from your distribution; the Linux packages
install both.
They are unsigned. Windows will show a SmartScreen warning, which is what
an unsigned installer gets. Check the file against SHA256SUMS. Signing needs
a certificate bought and identity-checked in a person's name, and this project is free.
Or run it from a checkout
Python 3.9+ and nothing else. No dependencies, nothing to compile, no root.
git clone https://github.com/kennethyork/quiesce
cd quiesce
./install.sh # puts `quiesce` on your PATH and adds a menu entry
./run-app.sh # or launch Quiesce from your application menu
python3 -m advisor --auto # pick a model, and explain why
python3 -m advisor --auto --apply # free the VRAM first, then pick
python3 -m advisor --fix # what is wrong, and the ordered fix plan
--apply only ever asks the engine to unload a model, which is reversible.
Power limits, swap and the rest are reported with exact commands, never applied
silently.
What it does not do
Written down here rather than discovered at eleven at night. This section is the reason to believe the rest of the page.
- "No cloud" means no service, not no network. Your engine fetches a model you chose to download, and the app reads that model's manifest to tell you the size before you agree to it — the same request your engine was going to make, made twice. Nothing about you or this machine is sent anywhere, and there is no account to send it to.
- Nothing is signed. A certificate in a person's name is the whole cost, and it is not a code change.
- The Windows window has never run on Windows. The installer is built and its contents verified on every push, but this was written on one Linux machine, and no amount of releases fixes that. Verified on Linux; unverified on Windows.
- No macOS, and that is a decision rather than an oversight.
- The noise score is a relative index, not a decibels measurement. The band ceilings are a convention — fan duty is a proxy for loudness — and they are documented as one.
- 197 of 231 models have an estimated capability, interpolated from the
34 a person assessed, and shown as
≈. It can get a model considered; it is not a verdict on quality. - MCP sampling is declined on purpose, because a server driving your card is the one thing the governor cannot pace.
- Scheduled jobs need the app open, or an opt-in
systemd --usertimer. A desktop app that is not running cannot schedule anything, and saying otherwise would cost somebody a night's work. - One user. Every quality claim here rests on one machine — the one it was built on.