Yes, Grux Local is a local model trained for Grux AI, the open source AI agent for macOS, on the jobs Grux actually gives a model. It is trained to call the right Grux tool with the right details, to say so when no tool can do what you asked, to ignore instructions hidden in text you paste, and to do the background work: fixing dictation, sorting mail, titling chats and summarizing meetings. It runs on your Mac through Ollama, so there is no API key, no account, and no model provider sees what you ask. It comes in two sizes, the 2B for 8 GB Macs and the 4B for 16 GB Macs and up. On a 16 GB Mac mini, across 464 held-out Grux tasks, the 4B got 454 right, against 396 for the same model before training. It works with Grux AI 3.1 today: pull it with Ollama, then turn on Route chat to a local model in Settings and enter its name.
| Tag | Made for | Loaded on the 16 GB Mac mini, measured |
|---|---|---|
gruxai.com/grux/grux-local:2b | 8 GB Macs | 2.65 GB |
gruxai.com/grux/grux-local:4b, also latest | 16 GB Macs and up | 4.44 GB |
A 9B for 32 GB Macs is next. It ships once its loaded size is within 10% of the stock 9B's, not before.
None of these is perfect. Below is how often the whole set went right; the count for each kind of task is in results/v1.json, linked under Where to check this.
The setup: a 16 GB Mac mini with an Apple M4, Ollama 0.40.8, one request at a time, thinking off as Grux sends it. The test: 464 held-out Grux tasks, written separately and never used in training, scored by Grux's own parsers. Each size is compared with the same model before training, the qwen3.5 build from the Ollama library.
| Test | Before training | Grux Local |
|---|---|---|
| 4B, all 464 tasks | 396 (85%) | 454 (98%) |
| 4B, hidden instructions ignored | 55 of 70 | 65 of 70 |
| 2B, all 464 tasks | 295 (64%) | 435 (94%) |
| 2B, hidden instructions ignored | 43 of 70 | 66 of 70 |
Chat replies from Grux Local on that Mac mini: 95% came back within 3.4 seconds on the 4B and within 1.6 seconds on the 2B.
Every task count here compares Grux Local with the same model before training, on Grux's own tasks, on one Mac mini. It is not a comparison with any other model, and it says nothing about jobs Grux does not give a model.
It needs a Mac with Apple silicon and Ollama 0.40.8 or later.
ollama pull gruxai.com/grux/grux-local:4b
gruxai.com/grux/grux-local:2b instead.gruxai.com/grux/grux-local:4b, or gruxai.com/grux/grux-local:2b on an 8 GB Mac.With the route on and Ollama running, chat goes to Grux Local. Next up: the local model picker will suggest it for your Mac on its own. The model card, license and files are at github.com/dotcomjack/grux-local.
Grux Local is a LoRA fine-tune of Qwen 3.5, at 2B and 4B, on synthetic Grux tasks. The expected result of each task was set when the task was made, never by a model. Gemma 4 26B wrote the reply text, and a reply was kept only when Grux's own checker passed it and it was right on top of that: exact dictation, no promised actions, no refusal of the harmless request. No personal data was used. Qwen 3.5 and Gemma 4 are both Apache-2.0, and Grux Local is licensed Apache-2.0 too. It runs on Ollama's MLX runner in nvfp4. Built by DotcomJack.
| Claim | Source |
|---|---|
| The tags, the sizes and how it was made | Grux Local on GitHub |
| Every measurement on this page, with the count for each kind of task | results/v1.json |
| Route chat to a local model, in Settings, Models, Offline mode (local model) | SettingsView.swift |
| Using Grux Local with Grux AI | Grux README, Grux Local |