Manual installation¶
Mycel needs three things before it can start: a Go toolchain to build the project, Ollama to run the model(s), and Docker (i.e., Redis to store conversations, etc.). This page walks through them one by one, then builds and configures the agent.
1. Go¶
Mycel is built with Go — see go.mod for the version the module targets.
The binary lands in $GOPATH/bin (usually ~/go/bin), so make sure that directory is on your PATH:
2. Ollama¶
The model runs locally through Ollama.
You do not need to start it or pull the model yourself: on startup Mycel runs ollama serve if nothing is listening, then ollama pull <LLM_MODEL> and streams the download progress to the terminal. All it needs is the ollama binary on your PATH.
Pick the model with LLM_MODEL (see Configuration). Mycel inspects the model's capabilities at startup and warns you about what it cannot do — for example a model without vision support will reject images, and one without tools support will ignore the email tool.
Choosing a model
A model with tools, vision and thinking support gets you every feature. Smaller models
work fine for plain conversation but often drop tool calling first.
3. Redis¶
Conversation history lives in Redis. The repo ships a docker-compose.yml with everything you need:
To also get Redis Commander, a web UI for inspecting what Mycel has stored:
Already have a Redis instance? Point REDIS_ADDR at it instead and skip Docker entirely.
4. Configure¶
Copy the sample config, then fill in your values — every variable is documented in the configuration reference:
5. Build the binary¶
go install compiles the agent and writes the mycel binary to $GOPATH/bin, the directory you put on your PATH in step 1:
Confirm your shell can find it:
6. Set config¶
Mycel reads a single fixed path ~/.config/mycel/.env. Copy your filled-in .env (or .env.sample) there:
From now on, ~/.config/mycel/.env is the file to edit when you want to change how the installed agent runs. Variables already exported in your shell take precedence over it, so LLM_MODEL=llama3.2 mycel works as a one-off override.
You are done — run mycel from anywhere:
Optional toolchains¶
Only needed if you plan to work on Mycel itself:
- Docs —
make docsbuilds MkDocs into its own virtualenv, so it needs Python 3.9+ with thevenvandpipmodules (on Debian and Ubuntu those live in the separatepython3-venvandpython3-pippackages). - Lint —
make lintneeds golangci-lint:brew install golangci-lint.