Single Go binary ยท macOS ยท Linux ยท Windows
An AI coding agent that asks first.
GopherMind points at a model you run โ local llama.cpp, Ollama, LM Studio, vLLM, or any hosted OpenAI-compatible endpoint โ or at a free provider that needs no API key at all. It reads, searches, edits and runs commands in your repo, and every action that changes something stops for your approval.
It stopped. That is the whole design. Nothing mutates without a yes.
Why this one
Your model, your machine
Anything that speaks the OpenAI /v1 API. Models are
discovered from the endpoint, and named provider profiles switch
backends without editing config.
No account. No telemetry to us. Point it at
localhost and unplug the network.
Safe at every layer
File paths are contained to your repo and checked through symlinks. Shell commands pass a deny-list. Mutating tools hit the approval gate unless you opt into auto.
Plus a read-only mode, per-role tool restrictions that
fail closed, and --dry-run to preview a whole run.
Small enough to read
Pure Go, no CGO, one static binary. Adding a tool is still one struct and one function โ the codebase stays legible as it grows.
Signed and notarized on macOS. Every release ships an
SBOM and checksums.txt.
A window, if you want one
The same harness in a desktop app: chat, a queue of pending approvals you can act on, and a model picker showing what allowance each model has left.
Signed, notarized and stapled, so it opens without a Gatekeeper prompt even offline. The window talks to the same local server the CLI runs, over HTTP. Nothing new is trusted.
Pick a model, or let it pick
Order your preferences, filter by what is reachable or has capacity, and exclude providers whose terms you will not accept. Cycle to the next model automatically when one runs out.
Usage is metered per model against the limit that model publishes. Where a provider publishes none, none is shown.
Batteries, all switched off
A local semantic index and RAG, a read-only SQL/Parquet/CSV toolkit, multi-agent strategies, an MCP client and server, WASM plugins, Prometheus metrics.
Every integration is inert until you configure it, so the default install stays small and quiet.
Install
macOS
brew install jbrahy/tap/gophermind
A signed and notarized universal binary โ no Gatekeeper warning.
Desktop app
brew install --cask jbrahy/tap/gophermind-desktop
The window, if you want one. Signed, notarized and stapled, so it opens cleanly even on a machine that is offline.
Any platform
npm install -g gophermind
Downloads the prebuilt binary for your platform. x64 and arm64.
Linux packages
.deb ยท .rpm ยท .apk ยท .tar.gz
Grab
one from the latest release. Windows users, a .zip.
From source
git clone https://github.com/jbrahy/gophermind.com cd gophermind.com make build
Go 1.25 or newer.
First run
No key needed
gophermind --profile free-ovhcloud ask "hello"
Runs against a free provider with no API key and no local server.
gophermind free list shows all of them, what each free tier
allows, and which need a key — no-key ones first.
Interactive
gophermind
A wizard asks for your endpoint, an optional key, a model from a live list, and your approval mode — then saves it.
One shot
gophermind run "add a --json flag"
Non-interactive. Same gate, same tools.
Read only
gophermind ask "how does retry work?"
Answers questions about the repo. Never edits.