-
Notifications
You must be signed in to change notification settings - Fork 60
Installation
This page covers every supported installation path: the shell installer, PowerShell, npm/bun global install, building from source, and the desktop app. Pick the path that matches your environment.
| Requirement | Minimum version | Notes |
|---|---|---|
| Node.js | 22.12.0 | The installer will offer to install this for you via nvm, fnm, or your distro package manager |
| npm or bun | any current | npm ships with Node; bun is optional but preferred for build speed |
| curl or wget | any | Required only for the shell installer |
The .nvmrc in the repo pins Node 22. If you use nvm, running nvm use inside the repo directory will select the correct version automatically.
curl -fsSL https://milady-ai.github.io/milady/install.sh | bashWhat the script does, in order:
- Detects your OS, architecture, and shell environment (WSL, Git Bash, MSYS2, etc.)
- Checks for Node.js >= 22.12.0 and offers to install it if missing
- Detects your package manager (npm preferred; bun if
MILADY_USE_BUN=1) - Runs
npm install -g miladyai(orbun install -g miladyai) - Runs
milady setupto initialize your workspace
| Variable | Effect |
|---|---|
MILADY_SKIP_SETUP=1 |
Skip the milady setup step after install |
MILADY_USE_BUN=1 |
Use bun instead of npm for installation |
MILADY_VERSION=<ver> |
Install a specific version instead of latest |
MILADY_LOCAL_TARBALL=<path> |
Install from a local .tgz file (dev/testing) |
MILADY_NONINTERACTIVE=1 |
Skip all interactive prompts (assume yes) |
If Node.js is missing or too old, the installer tries:
macOS: nvm (if present) → fnm (if present) → Homebrew (brew install node@22) → MacPorts → offers to install nvm
Linux: nvm (if present) → fnm (if present) → distro package manager (NodeSource apt/rpm, apk, pacman, zypper) → offers to install nvm
Windows (Git Bash / MSYS2 / WSL): fnm → nvm-windows → winget → Chocolatey → Scoop → offers to install fnm
irm https://milady-ai.github.io/milady/install.ps1 | iexUse this for native Windows PowerShell. The bash installer will not work without Git Bash, MSYS2, WSL, or Cygwin.
npm install -g miladyai
milady setupThe package name on npm is miladyai. The CLI binary is registered under multiple aliases: milady, milady.ai, milady-ai, miladyai, and milaidy.
bun install -g miladyai
milady setupgit clone https://github.com/milady-ai/milady.git
cd milady
bun install
bun run build
bun run milady startThe bun install step runs a postinstall script that initializes git submodules, ensures skill/avatar assets are present, links the browser server, and patches certain dependencies (see scripts/patch-deps.mjs). Do not skip it.
The build script (scripts/rt.sh) prefers bun but falls back to npm automatically. To force Node-only:
bun run build:nodeFor hot-reload dev mode:
bun run devDownload signed and notarized binaries directly from GitHub Releases:
| Platform | File |
|---|---|
| macOS (Apple Silicon) | Milady-arm64.dmg |
| macOS (Intel) | Milady-x64.dmg |
| Windows | Milady-Setup.exe |
| Linux |
Milady.AppImage or .deb
|
The shell installer can also download and install the macOS desktop app:
curl -fsSL https://milady-ai.github.io/milady/install.sh | bash -s -- --desktopThis downloads the correct .dmg for your architecture, mounts it, copies the .app to /Applications, and removes the quarantine attribute. The --desktop flag is macOS-only via this script; Windows users should download the .exe from Releases directly.
cd ~/Downloads
curl -fsSLO https://github.com/milady-ai/milady/releases/latest/download/SHA256SUMS.txt
shasum -a 256 --check --ignore-missing SHA256SUMS.txtAfter any install method, run:
milady setup
miladymilady setup initializes the workspace at ~/.milady/ and walks you through onboarding (agent name, vibe, model provider, API key). On subsequent runs, milady setup can also be used to refresh your workspace after an update.
Once running, the dashboard is available at http://localhost:2138 and the Gateway WebSocket at ws://localhost:18789/ws.
All user data lives in ~/.milady/:
-
~/.milady/milady.json— main config file (JSON5, owner-read-write only, mode 0600) -
~/.milady/.env— optional secrets file -
~/.milady/workspace/— elizaOS runtime workspace -
~/.milady/logs/— log files (used in headless/daemon mode) -
~/.eliza/skills.json— local skills extra-directory config (auto-created on first run)
Re-run the installer or:
npm install -g miladyai@latest
milady setupmilady setup after an update refreshes the workspace for any structural changes introduced in the new version.