docs: add pip install path to installation, quickstart, updating, and CLI reference

Document pip install hermes-agent as a first-class install option.
Clarify that PyPI releases track tagged versions (major/minor),
not every commit on main — git installer is for bleeding-edge.
This commit is contained in:
alt-glitch 2026-05-15 13:45:46 +00:00 committed by Teknium
parent 99b81cd54b
commit 164a77dec9
4 changed files with 69 additions and 7 deletions

View file

@ -10,7 +10,30 @@ Get Hermes Agent up and running in under two minutes with the one-line installer
## Quick Install
### Linux / macOS / WSL2
### pip (recommended for most users)
```bash
pip install hermes-agent
```
This gives you the full Hermes Agent — CLI, web dashboard, and TUI — with zero external dependencies for core usage. Node.js, browser engines, and other optional tools are bootstrapped lazily on first use (e.g. when you run `hermes --tui` or use browser tools).
PyPI releases track **tagged versions** (major and minor releases), not every commit on `main`. If you want bleeding-edge changes as they land, use the git install below.
After installing, run:
```bash
hermes setup # interactive wizard — configures your LLM provider and API key
hermes # start chatting
```
:::tip
If you have [uv](https://docs.astral.sh/uv/) installed, `uv pip install hermes-agent` is faster.
:::
### One-Line Installer (Linux / macOS / WSL2)
For a git-based install that tracks `main` and gives you the latest changes immediately:
```bash
curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash
@ -80,7 +103,8 @@ Where the installer puts things depends on whether you're installing as a normal
| Installer | Code lives at | `hermes` binary | Data directory |
|---|---|---|---|
| Per-user (normal) | `~/.hermes/hermes-agent/` | `~/.local/bin/hermes` (symlink) | `~/.hermes/` |
| pip install | Python site-packages | `~/.local/bin/hermes` (console_scripts) | `~/.hermes/` |
| Per-user (git installer) | `~/.hermes/hermes-agent/` | `~/.local/bin/hermes` (symlink) | `~/.hermes/` |
| Root-mode (`sudo curl … \| sudo bash`) | `/usr/local/lib/hermes-agent/` | `/usr/local/bin/hermes` | `/root/.hermes/` (or `$HERMES_HOME`) |
The root-mode **FHS layout** (`/usr/local/lib/…`, `/usr/local/bin/hermes`) matches where other system-wide developer tools land on Linux. It's useful for shared-machine deployments where one system install should serve every user. Per-user config (auth, skills, sessions) still lives under each user's `~/.hermes/` or explicit `HERMES_HOME`.
@ -108,7 +132,9 @@ hermes setup # Or run the full setup wizard to configure everything at
## Prerequisites
The only prerequisite is **Git**. The installer automatically handles everything else:
**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:
- **uv** (fast Python package manager)
- **Python 3.11** (via uv, no sudo needed)

View file

@ -48,7 +48,15 @@ Pick the row that matches your goal:
## 1. Install Hermes Agent
Run the one-line installer:
**Option A — pip (simplest):**
```bash
pip install hermes-agent
```
PyPI releases track tagged versions (major/minor releases), not every commit on `main`. For bleeding-edge, use Option B.
**Option B — git installer (tracks main branch):**
```bash
# Linux / macOS / WSL2 / Android (Termux)

View file

@ -8,19 +8,36 @@ description: "How to update Hermes Agent to the latest version or uninstall it"
## Updating
### Git installs
Update to the latest version with a single command:
```bash
hermes update
```
This pulls the latest code, updates dependencies, and prompts you to configure any new options that were added since your last update.
This pulls the latest code from `main`, updates dependencies, and prompts you to configure any new options that were added since your last update.
### pip installs
PyPI releases track **tagged versions** (major and minor releases), not every commit on `main`. Check for updates and upgrade with:
```bash
hermes update --check # see if a newer release is on PyPI
hermes update # runs pip install --upgrade hermes-agent
```
Or manually:
```bash
pip install --upgrade hermes-agent # or: uv pip install --upgrade hermes-agent
```
:::tip
`hermes update` automatically detects new configuration options and prompts you to add them. If you skipped that prompt, you can manually run `hermes config check` to see missing options, then `hermes config migrate` to interactively add them.
:::
### What happens during an update
### What happens during an update (git installs)
When you run `hermes update`, the following steps occur:
@ -189,12 +206,21 @@ See [Nix Setup](./nix-setup.md) for more details.
## Uninstalling
### Git installs
```bash
hermes uninstall
```
The uninstaller gives you the option to keep your configuration files (`~/.hermes/`) for a future reinstall.
### pip installs
```bash
pip uninstall hermes-agent
rm -rf ~/.hermes # Optional — keep if you plan to reinstall
```
### Manual Uninstall
```bash

View file

@ -76,7 +76,7 @@ hermes [global-options] <command> [subcommand/options]
| `hermes profile` | Manage profiles — multiple isolated Hermes instances. |
| `hermes completion` | Print shell completion scripts (bash/zsh/fish). |
| `hermes version` | Show version information. |
| `hermes update` | Pull latest code and reinstall dependencies. `--check` prints commit diff without pulling; `--backup` takes a pre-pull `HERMES_HOME` snapshot. |
| `hermes update` | Pull latest code and reinstall dependencies (git installs), or check PyPI and `pip install --upgrade` (pip installs). `--check` previews without installing; `--backup` takes a pre-pull `HERMES_HOME` snapshot. |
| `hermes uninstall` | Remove Hermes from the system. |
## `hermes chat`
@ -1188,6 +1188,8 @@ hermes update [--check] [--backup] [--restart-gateway]
Pulls the latest `hermes-agent` code and reinstalls dependencies in your venv, then re-runs the post-install hooks (MCP servers, skills sync, completion install). Safe to run on a live install.
**pip installs:** `hermes update` detects pip-based installations automatically — it queries PyPI for the latest release and runs `pip install --upgrade hermes-agent` instead of `git pull`. PyPI releases track tagged versions (major/minor releases), not every commit on `main`. Use `--check` to see if a newer PyPI release is available without installing.
| Option | Description |
|--------|-------------|
| `--check` | Print the current commit and the latest `origin/main` commit side by side, and exit 0 if in sync or 1 if behind. Does not pull, install, or restart anything. |