Install
Binaries for x86_64 and aarch64, built on the runner from the same pinned toolchain the gates ran under. Linux only.
Get the binaries
gh release download v0.1.0 --repo ai-nerv/magi --pattern '*-amd64.tar.gz'
tar -xzf magi-linux-amd64.tar.gz -C ~/.local/bin
# the siblings are separate releases, and every one of them is optional
gh release download v0.1.0 --repo ai-nerv/casper --pattern '*-amd64.tar.gz'
gh release download v0.1.0 --repo ai-nerv/melchior --pattern '*-amd64.tar.gz'
gh release download v0.1.0 --repo ai-nerv/balthasar --pattern '*-amd64.tar.gz'
What each one buys you
| without it | |
|---|---|
| magi | nothing — this is the one you run |
| casper | a session with three builtin tools: read, write, edit |
| melchior | no model and no siblings. The session runs and says so. |
| balthasar | a journal file instead of a store. Everything else is the same. |
Check before you start
magi doctor
It answers everything a session decides at start-up: which configuration was read, which
of its lines were kept, what the registry holds and where each entry came from, and whether
the siblings actually answer. Asked, not looked for — a program on
$PATH is not a running one, and a socket that accepts is not one that
answers.
magi is the only command. It starts a balthasar and a melchior for each session and ends both. doctor reporting “balthasar installed, but not reachable: no socket to try” is correct output outside a session — there is no session, so there is no socket.Choosing a model
magi holds only the name. Which endpoint it lives at and what credential it takes are melchior's, so ask melchior what this machine can reach:
magi models | head
# then, in ~/.config/magi/init.lua
magi.model = "openrouter/anthropic/claude-sonnet-4.6"
A model that reports ready: false names the variable it wants. Set that, and
it becomes ready — nothing else has to change.
From source
git clone https://github.com/ai-nerv/magi && cd magi oslo make build # a release binary oslo make test # the suite oslo make verify # the whole local gate, which is what CI runs oslo make install # to ~/.local/bin, and the config to ~/.config/magi
make install overwrites ~/.config/magi/init.lua. Keep your edits somewhere, or expect to re-apply them after every install.