fix(docs): update all install instructions everywhere
This commit is contained in:
@@ -6,80 +6,37 @@ description: "Install Hermes Agent on Linux, macOS, WSL2, native Windows, or And
|
||||
|
||||
# Installation
|
||||
|
||||
Get Hermes Agent up and running in under two minutes with the one-line installer.
|
||||
Get Hermes Agent up and running in under two minutes!
|
||||
|
||||
## Quick Install
|
||||
### With the Hermes Desktop installer on macOS or Windows (recommended)
|
||||
To easily install the command-line and desktop applications, [download the Hermes Desktop installer](https://hermes-agent.nousresearch.com/desktop) from our website and run it.
|
||||
|
||||
### Desktop App (macOS + Windows)
|
||||
|
||||
Prefer a native installer?
|
||||
|
||||
- **Desktop downloads:** [GitHub Releases](https://github.com/NousResearch/hermes-agent/releases/latest)
|
||||
|
||||
Desktop builds ship signed/notarized macOS artifacts and Windows installers with checksum files.
|
||||
|
||||
### One-Line CLI Installer (Linux / macOS / WSL2)
|
||||
|
||||
For a git-based install that tracks `main` and gives you the latest changes immediately:
|
||||
|
||||
### With the Hermes Desktop installer on Linux:
|
||||
```bash
|
||||
curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash
|
||||
curl -fsSL https://hermes-agent.nousresearch.com/install.sh --include-desktop | bash
|
||||
```
|
||||
|
||||
### Windows (native, PowerShell)
|
||||
### Without Hermes Desktop:
|
||||
For a command-line only install without Hermes Desktop, run:
|
||||
|
||||
Native Windows runs Hermes without WSL — the CLI, gateway, TUI, and tools all work natively. (Both native and WSL2 installs coexist cleanly; see the feature note below for the one WSL2-only feature.) Found a bug? Please [file issues](https://github.com/NousResearch/hermes-agent/issues).
|
||||
#### Linux / macOS / WSL2 / Android (Termux)
|
||||
```bash
|
||||
curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash
|
||||
```
|
||||
|
||||
Open PowerShell and run:
|
||||
#### Windows (native)
|
||||
|
||||
Run in powershell:
|
||||
```powershell
|
||||
iex (irm https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.ps1)
|
||||
iex (irm https://hermes-agent.nousresearch.com/install.ps1)
|
||||
```
|
||||
|
||||
The installer handles **everything**: `uv`, Python 3.11, Node.js 22, `ripgrep`, `ffmpeg`, **and a portable Git Bash** (PortableGit — a self-contained Git-for-Windows distribution that ships `bash.exe` and the full POSIX toolchain Hermes uses for shell commands; on 32-bit Windows the installer falls back to MinGit, which lacks bash and disables terminal-tool / agent-browser features). It clones the repo under `%LOCALAPPDATA%\hermes\hermes-agent`, creates a virtualenv, and adds `hermes` to your **User PATH**. Restart your terminal (or open a new PowerShell window) after the install so PATH picks up.
|
||||
|
||||
**How Git is handled:**
|
||||
1. If `git` is already on your PATH, the installer uses your existing install.
|
||||
2. Otherwise it downloads portable **PortableGit** (~50MB, from the official `git-for-windows` GitHub release) and unpacks it to `%LOCALAPPDATA%\hermes\git`. No admin rights required. Completely isolated — it won't interfere with any system Git install, broken or otherwise. (On 32-bit Windows it falls back to MinGit because PortableGit ships only 64-bit and ARM64 assets; bash-dependent Hermes features won't work on 32-bit hosts.)
|
||||
|
||||
**Why not use winget?** Earlier designs auto-installed Git via `winget install Git.Git`, but winget fails badly when a system Git install is in a partial or broken state (exactly when users need the installer to just work). The portable Git approach sidesteps winget, the Windows installer registry, and any existing system Git entirely. If the Hermes Git install itself ever breaks, `Remove-Item %LOCALAPPDATA%\hermes\git` and re-run the installer — no system impact, no uninstall drama.
|
||||
|
||||
The installer also sets `HERMES_GIT_BASH_PATH` to the located `bash.exe` so Hermes resolves it deterministically in fresh shells.
|
||||
|
||||
If you prefer WSL2, the Linux installer above works inside it; both native and WSL installs can coexist without conflict (native data lives under `%LOCALAPPDATA%\hermes`, WSL data lives under `~/.hermes`).
|
||||
|
||||
**Desktop installer (alternative):** A thin GUI installer is also available — download Hermes Desktop, run the `.exe`, and on first launch it calls `install.ps1` under the hood to provision Python (via `uv`), Node, PortableGit, and the rest of the dependencies. The desktop app and the PowerShell-installed CLI share the same install and data directories, so you can use either or both. See the [Windows (Native) guide](../user-guide/windows-native#desktop-installer-alternative) for details.
|
||||
|
||||
### Android / Termux
|
||||
|
||||
Hermes now ships a Termux-aware installer path too:
|
||||
|
||||
If you want to install & run Hermes Desktop after a command-line only install, simply run
|
||||
```bash
|
||||
curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash
|
||||
hermes desktop
|
||||
```
|
||||
|
||||
The installer detects Termux automatically and switches to a tested Android flow:
|
||||
- uses Termux `pkg` for system dependencies (`git`, `python`, `nodejs`, `ripgrep`, `ffmpeg`, build tools)
|
||||
- creates the virtualenv with `python -m venv`
|
||||
- exports `ANDROID_API_LEVEL` automatically for Android wheel builds
|
||||
- prefers the broad `.[termux-all]` extra and falls back to the smaller `.[termux]` extra (and finally a base install) if the first attempt fails to compile
|
||||
- skips the untested browser / WhatsApp bootstrap by default
|
||||
|
||||
If you want the fully explicit path, follow the dedicated [Termux guide](./termux.md).
|
||||
|
||||
:::note Windows Feature Parity
|
||||
|
||||
Everything except the browser-based dashboard chat terminal runs natively on Windows:
|
||||
- **CLI (`hermes chat`, `hermes setup`, `hermes gateway`, …)** — native, uses your default terminal
|
||||
- **Gateway (Telegram, Discord, Slack, …)** — native, runs as a background PowerShell process
|
||||
- **Cron scheduler** — native
|
||||
- **Browser tool** — native (Chromium via Node.js)
|
||||
- **MCP servers** — native (stdio and HTTP transports both supported)
|
||||
- **Dashboard `/chat` terminal pane** — **WSL2 only** (uses a POSIX PTY; native Windows has no equivalent). The rest of the dashboard (sessions, jobs, metrics) works natively — only the embedded PTY terminal tab is gated.
|
||||
|
||||
Set `HERMES_DISABLE_WINDOWS_UTF8=1` in your environment if you hit an encoding-related bug and want to fall back to the legacy cp1252 stdio path (useful for bisecting).
|
||||
:::
|
||||
|
||||
### What the Installer Does
|
||||
|
||||
The installer handles everything automatically — all dependencies (Python, Node.js, ripgrep, ffmpeg), the repo clone, virtual environment, global `hermes` command setup, and LLM provider configuration. By the end, you're ready to chat.
|
||||
@@ -129,9 +86,7 @@ That logs you in, sets Nous as your provider, and turns on the Tool Gateway in o
|
||||
|
||||
## Prerequisites
|
||||
|
||||
**pip install:** No prerequisites beyond Python 3.11+. Everything else is handled automatically.
|
||||
|
||||
**Git installer:** The only prerequisite is **Git**. The installer automatically handles everything else:
|
||||
**Installer:** On non-Windows platforms, the only prerequisite is **Git**. The installer automatically handles everything else:
|
||||
|
||||
- **uv** (fast Python package manager)
|
||||
- **Python 3.11** (via uv, no sudo needed)
|
||||
@@ -169,12 +124,12 @@ Running Hermes as a dedicated unprivileged user (e.g. a `hermes` systemd service
|
||||
|
||||
2. **As the unprivileged service user**, run the regular installer. It will detect the missing sudo, skip `--with-deps`, and install Chromium into the user's local Playwright cache:
|
||||
```bash
|
||||
curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash
|
||||
curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash
|
||||
```
|
||||
|
||||
If you want to skip the Playwright step entirely — for example because you're running headless and don't need browser automation — pass `--skip-browser`:
|
||||
```bash
|
||||
curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash -s -- --skip-browser
|
||||
curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash -s -- --skip-browser
|
||||
```
|
||||
|
||||
3. **Make `hermes` available to the service user's shells.** The installer writes the launcher to `~/.local/bin/hermes`. System service accounts often have a minimal PATH that doesn't include `~/.local/bin`. Either add it to the user's environment, or symlink the launcher into a system location:
|
||||
|
||||
@@ -47,35 +47,32 @@ Pick the row that matches your goal:
|
||||
---
|
||||
|
||||
## 1. Install Hermes Agent
|
||||
### With the Hermes Desktop installer on macOS or Windows (recommended)
|
||||
To easily install the command-line and desktop applications, [download the Hermes Desktop installer](https://hermes-agent.nousresearch.com/desktop) from our website and run it.
|
||||
|
||||
**Option A — pip (simplest):**
|
||||
|
||||
### With the Hermes Desktop installer on Linux:
|
||||
```bash
|
||||
pip install hermes-agent
|
||||
hermes postinstall # optional: installs Node.js, browser, ripgrep, ffmpeg + runs setup
|
||||
curl -fsSL https://hermes-agent.nousresearch.com/install.sh --include-desktop | bash
|
||||
```
|
||||
### Without Hermes Desktop:
|
||||
For a command-line only install without Hermes Desktop, run:
|
||||
|
||||
#### Linux / macOS / WSL2 / Android (Termux)
|
||||
```bash
|
||||
curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash
|
||||
```
|
||||
|
||||
PyPI releases track tagged versions (major/minor releases), not every commit on `main`. For bleeding-edge, use Option B.
|
||||
#### Windows (native)
|
||||
|
||||
**Option B — git installer (tracks main branch):**
|
||||
|
||||
```bash
|
||||
# Linux / macOS / WSL2 / Android (Termux)
|
||||
curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash
|
||||
Run in powershell:
|
||||
```powershell
|
||||
iex (irm https://hermes-agent.nousresearch.com/install.ps1)
|
||||
```
|
||||
|
||||
Prefer native installers for desktop use?
|
||||
|
||||
- **Desktop downloads:** [GitHub Releases](https://github.com/NousResearch/hermes-agent/releases/latest)
|
||||
|
||||
:::tip Android / Termux
|
||||
If you're installing on a phone, see the dedicated [Termux guide](./termux.md) for the tested manual path, supported extras, and current Android-specific limitations.
|
||||
:::
|
||||
|
||||
:::tip Windows Users
|
||||
Install [WSL2](https://learn.microsoft.com/en-us/windows/wsl/install) first, then run the command above inside your WSL2 terminal.
|
||||
:::
|
||||
|
||||
After it finishes, reload your shell:
|
||||
|
||||
```bash
|
||||
|
||||
@@ -46,7 +46,7 @@ That does not stop Hermes from working well as a phone-native CLI agent — it j
|
||||
Hermes now ships a Termux-aware installer path:
|
||||
|
||||
```bash
|
||||
curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash
|
||||
curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash
|
||||
```
|
||||
|
||||
On Termux, the installer automatically:
|
||||
|
||||
Reference in New Issue
Block a user