Installation¶
Nyia Keeper needs Docker and git. Pick your platform below, then head to the Quick Start to launch your first assistant.
Requirements¶
- Docker — Docker Engine (Linux) or Docker Desktop (macOS / Windows).
- git — your projects must be git repositories (the assistant works on a branch).
- bash — Linux/macOS ship it; on Windows use WSL2.
Linux¶
This installs Nyia Keeper to ~/.local/nyiakeeper and writes a PATH entry to
~/.config/nyiakeeper/env. Activate it (and add this line to your shell profile):
Docker Engine must be installed and running (docker info should succeed), and your user
should be in the docker group.
macOS¶
Install Docker Desktop, then run the same installer as Linux. See the macOS Setup guide for Docker Desktop installation, Apple-Silicon notes, and troubleshooting.
Windows (WSL2)¶
Nyia Keeper runs inside WSL2 with Docker Desktop's WSL2 backend. See the Windows (WSL2) Setup guide for the full walkthrough.
Channels¶
The installer follows the stable (latest) channel by default. To track a
pre-release channel instead, pass a channel name or set NYIA_CHANNEL:
# Positional channel name
curl -fsSL https://raw.githubusercontent.com/KaizendoFr/nyia-keeper/main/install.sh | bash -s -- alpha
curl -fsSL https://raw.githubusercontent.com/KaizendoFr/nyia-keeper/main/install.sh | bash -s -- beta
# Or via env var
NYIA_CHANNEL=beta bash -c "$(curl -fsSL https://raw.githubusercontent.com/KaizendoFr/nyia-keeper/main/install.sh)"
Selection precedence (highest first): positional version tag →
NYIA_VERSION → NYIA_CHANNEL → the installer's build-time default (latest).
The chosen channel is written to the installed CHANNEL state so nyia update
keeps following it.
Channels: latest (stable, default), alpha, and beta (a peer of alpha).
Channel selection at install time is supported by the Linux installer. On
macOS, prefer pinning an explicit version tag (see macOS Setup),
then use nyia update install <channel> afterwards to track a channel.
macOS behavior change (Plan 312c). The macOS installer does not resolve a prerelease channel manifest, so requesting
alphaorbetaby name — positionally (install-macos.sh beta) or viaNYIA_CHANNEL=beta— now fails closed with a clear message and a non-zero exit, instead of silently ignoring the request and installing the build's default tag.latestis still accepted by name and maps to GitHub's/releases/latest; to install a prerelease on macOS, pin its exact version tag.Beta is fail-closed by absence.
betais a valid channel name, but it has no manifest entry until the first beta release is cut. Requestingbetabefore then prints a clear "not available yet" message and fails — it never falls back to installinglatest.
Verify¶
nyia list # show available assistants
nyia-claude --check-requirements # verify Docker, git, permissions
Next: Quick Start →