Workroom Local

AI should be simple.

A computer-use agent that runs entirely on your Mac. One model reads the screen, runs commands and edits files — with no account, no API key, and nothing leaving the machine.

Download for Mac View source

Apple silicon · macOS 14+ · 16 GB memory or more · needs uv · MIT licensed

Setup, start to finish — 38 seconds, no edits. Recorded just before the project was renamed, so the app still says “Lab” on screen.

What you need first

The app is the friendly front door, not the whole thing — the model and tools run in a Python runtime you keep on disk. Two commands, once.

# 1. uv, if you don't have it
$ curl -LsSf https://astral.sh/uv/install.sh | sh

# 2. the runtime
$ git clone https://github.com/IAMIbrahimmemon/mlx-llm-workroom
$ cd mlx-llm-workroom && uv sync

Then open the app — it finds that folder in the usual places, and asks you to point at it if you put it somewhere unusual. You can also skip the app entirely and run uv run workroom.

The app is not notarised — right-click, don't double-click

This is a free open-source project and Apple charges for a developer account, so macOS will refuse to open it on the first attempt.

  1. Unzip and drag Workroom.app to Applications.
  2. Right-click it (or Control-click) and choose Open.
  3. In the dialog that appears, click Open again.

After that it launches normally. If macOS still blocks it, go to System Settings → Privacy & Security and click Open Anyway. Every release lists a SHA-256 so you can check what you downloaded.

It uses what you already have

Onboarding looks at the machine before it offers you anything: models in your Hugging Face cache, models you have pulled with Ollama, and any OpenAI-compatible gateway already listening on localhost.

Choosing a model
If none of it means anything to you, take the recommendation.

You decide what it may use

On Apple silicon the model's weights and your browser tabs draw on the same memory. Workroom asks once where the ceiling goes, and tells you which answer needs an admin password.

Memory ceiling
PresetOn a 24 GB MacPasswordFor
Alongside your work12 GB · 16k ctx noyou keep using the Mac
All yours18 GB · 32k ctx once per bootyou walk away and let it run

Both run at the same speed. Decode is bound by memory bandwidth, not capacity, so a higher ceiling buys context — not tokens per second.

Measured on real hardware

Base M3, 24 GB, 12 GB ceiling. Every number in this project comes from a machine, not an estimate.

PromptTokens / secPeak memory
1 00016.36.54 GB
8 00016.87.70 GB
16 00015.78.48 GB

Everything stays here

Screenshots, keystrokes and file contents are handled in memory on your Mac. There is no server to trust.

One model, not five

Qwen3.5-9B reads your screen and writes your code from a single 5.98 GB set of 4-bit MLX weights.

It asks before it bites

sudo, recursive deletes and force pushes stop and ask. Disk formatting and keychain dumps never run at all.