Skip to content

Releases: dotcomjack/grux

Grux 3.0

Choose a tag to compare

@dotcomjack dotcomjack released this 29 Sep 14:20
v3.0.0
d724b42

Grux 3.0

Grux is a Mac agent that listens, decides, and does things on your machine. It
runs locally, it is MIT licensed, and it does not need an account.

The thing you see first: one Command Panel.

The sidebar is gone. Grux opens on a 420 point panel: one input, a Now list of
what needs you, and the Optimize Grux card. Anything you open (Chat, Today,
Settings, Mail) slides in as one pane beside it and closes back down. The old
sidebar stays for one release under Settings, General, Shell.

The thing that changed underneath: Grux now decides in one place.

Every small judgment Grux makes for you (was that meant for me, does this mail
need you, is this command dangerous, is now a bad moment to interrupt) used to
be a keyword list or a hand-written rule scattered through the code. In 3.0
they all go through one decision engine, and you can see and tune every one of
them on a single page.

What you will notice first

  • Only you answer a workflow's question. A workflow waiting on you takes
    its answer from a message you send after it asked, in a word it asked for.
    An older reply makes it ask again, and an agent's message never answers it.
  • Dry runs change nothing. Any workflow, including the App Store ones, can
    run dry end to end. No tool call, command, webhook, banner or phone push
    leaves Grux, and every line it says starts with "Dry run".
  • Chat opens on your newest message and keeps your place through Show
    earlier and window resizes.
  • First run is one question. "What do you want to do with Grux?" The rest
    of setup is built from your answer, one thing at a time.
  • Tuning. One page for everything Grux does on your behalf: how sure it
    must be before acting, how it talks back, when it may interrupt, what it
    does on its own, what it spends, what it remembers, and what always asks
    first. Opened from the orb.
  • A spoken command you say outright now runs without touching the network.
    It used to take a 368ms round trip to be told what your Mac already knew. It
    is now about 1ms.
  • Grux stops asking permission to do nothing. 72 of its 116 tools had no
    safety classification, so reading a list of files or opening an app queued up
    and waited for you. Only the 44 that change something now ask.

Two things we got wrong and fixed

We said, in this app's own settings and in the dialog that asks for your
microphone, that listening makes Music and YouTube go tinny. We measured it.
It is not true, and it never was. What listening actually did was take the
microphone away from any other app that was recording. That is fixed, and the
claim is gone from every screen that carried it.

Grux could also lose its audio feed mid-session and keep reporting itself as
listening, with every indicator saying it was fine. Found on a real machine
after 1 hour 40 minutes of it. It now notices in eight seconds.

Speed, said plainly

A spoken command reaches execution in about 1.5 seconds, down from 3.1. We
were aiming at 600ms and did not get there. The reason is worth stating
instead of burying: transcription has a floor of about 750ms on the model Grux
uses, and the pause Grux waits out before acting is another 600ms. Trimming
the audio was measured and changed nothing. Getting to 600ms needs recognition
that runs while you are still speaking, which is a build, not a setting, and
it is what 3.1 is for.

Full notes: CHANGELOG.md.

Grux 1.2.1

Choose a tag to compare

@dotcomjack dotcomjack released this 30 Aug 19:46
18c7ddb

Grux 1.2.1 for Apple silicon. Notarized and stapled by Apple, so it opens on a Mac that has never seen it.

Requires macOS 14 or later, Apple silicon. sha256 a711dfe417f1bac640eebf5f2032bcb456c47fd8bc9cce10601006eac8efc84c

What is new since the last public release

Grux has a command line. It can be set up and driven entirely from the terminal, without opening a window. The point is not that a terminal is faster. It is that the coding agent already sitting in that terminal can do the work with you: install Grux, wire it into the rest of your machine, and go on extending it long after setup is done. Every command runs unattended and every command can print itself as a prompt instead of running, so you can hand the job to whichever agent you already use. There is an MCP bridge for agents that speak it. Reads answer with Grux closed, writes go over a local Unix socket, and Grux still opens no network port.

A first launch is quiet now. Forty nine services start when Grux opens. Twenty five of them used to do something nobody had asked for: creating folders, reading a keychain, speaking out loud at seven in the morning on a Mac that had never been set up. Auditing the launch path afterwards found eight more. Nothing in that work is a feature. Every line of it is Grux doing less, or doing the same thing behind a switch you can find and that survives a restart.

Setup stops claiming things that are not true. The last day before this release was one repeated shape: a readiness check consulting a value that nothing updates. A key in the Keychain read as proof that setup had finished, so a reinstall dropped you into the app with permissions never asked for. The Automation screen read a value nothing in the app had ever written, so granting Automation could not satisfy it no matter what you did. A refusal from the model provider was waved through, so setup reported success and the first message failed. And the local path checked that a model server was running without checking it held the model being asked for.

All 41 of those readiness checks were audited afterwards. Exactly two are stored rather than read live, and both were among the broken ones. A test now asserts that a stored answer has something that writes it.

You do not need a key. Pick nothing during setup and Grux asks for nothing beyond a model to answer with, and that can be a local one with no key at all, once Ollama is installed. Grux fetches the model that fits your Mac; you supply the runtime. A key is worth adding when you have one, and Grux says so once rather than nagging.

Full detail in CHANGELOG.md.