fix(docs): update all install instructions everywhere
This commit is contained in:
@ -33,7 +33,7 @@ Use any model you want — [Nous Portal](https://portal.nousresearch.com), [Open
|
||||
### Linux, macOS, WSL2, Termux
|
||||
|
||||
```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
|
||||
```
|
||||
|
||||
### Windows (native, PowerShell)
|
||||
@ -43,7 +43,7 @@ curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scri
|
||||
Run this 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, ripgrep, ffmpeg, **and a portable Git Bash** (MinGit, unpacked to `%LOCALAPPDATA%\hermes\git` — no admin required, completely isolated from any system Git install). Hermes uses this bundled Git Bash to run shell commands.
|
||||
@ -52,7 +52,7 @@ If you already have Git installed, the installer detects it and uses that instea
|
||||
|
||||
> **Android / Termux:** The tested manual path is documented in the [Termux guide](https://hermes-agent.nousresearch.com/docs/getting-started/termux). On Termux, Hermes installs a curated `.[termux]` extra because the full `.[all]` extra currently pulls Android-incompatible voice dependencies.
|
||||
>
|
||||
> **Windows:** Native Windows is fully supported — the PowerShell one-liner above installs everything. If you'd rather use WSL2, the Linux command works there too. Native Windows install lives under `%LOCALAPPDATA%\hermes`; WSL2 installs under `~/.hermes` as on Linux. The only Hermes feature that currently needs WSL2 specifically is the browser-based dashboard chat pane (it uses a POSIX PTY — classic CLI and gateway both run natively).
|
||||
> **Windows:** Native Windows is fully supported — the PowerShell one-liner above installs everything. If you'd rather use WSL2, the Linux command works there too. Native Windows install lives under `%LOCALAPPDATA%\hermes`; WSL2 installs under `~/.hermes` as on Linux. The only Hermes feature that currently needs WSL2 specifically is the browser-based dashboard chat pane (it uses a POSIX PTY — classic CLI and gateway both run natively).
|
||||
|
||||
After installation:
|
||||
|
||||
|
||||
@ -31,7 +31,7 @@
|
||||
## 快速安装
|
||||
|
||||
```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
|
||||
```
|
||||
|
||||
支持 Linux、macOS、WSL2 和 Android (Termux)。安装程序会自动处理平台特定的配置。
|
||||
|
||||
@ -27,7 +27,7 @@
|
||||
Add `--include-desktop` to the [one-line installer](../../README.md#quick-install) and it sets up the agent and builds the desktop app in one go:
|
||||
|
||||
```bash
|
||||
curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash -s -- --include-desktop
|
||||
curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash -s -- --include-desktop
|
||||
```
|
||||
|
||||
Already have the Hermes CLI? Just run:
|
||||
@ -40,7 +40,7 @@ It builds and launches the GUI against your existing install — same config, ke
|
||||
|
||||
### Prebuilt installers
|
||||
|
||||
When a release ships desktop installers they're attached to its [releases page](https://github.com/NousResearch/hermes-agent/releases) — `.dmg` (macOS), `.exe` / `.msi` (Windows), `.AppImage` / `.deb` / `.rpm` (Linux). These are published manually, so the install-with-Hermes path above is the most reliable way to get the latest.
|
||||
Prebuilt installers are built and distributed via [the Hermes Desktop website.](https://hermes-agent.nousresearch.com/desktop).
|
||||
|
||||
---
|
||||
|
||||
@ -56,10 +56,7 @@ hermes update
|
||||
|
||||
## Requirements
|
||||
|
||||
The installer handles everything for you (Python 3.11+, a portable Git, ripgrep). The only thing worth knowing:
|
||||
|
||||
- **Windows** — the installer bundles its own Git and Python; no admin rights or system changes required.
|
||||
- **macOS / Linux** — uses your system Python 3.11+ (installed automatically if missing).
|
||||
The installer handles everything for you (Python 3.11+, a portable Git, ripgrep).
|
||||
|
||||
---
|
||||
|
||||
|
||||
@ -10218,7 +10218,7 @@ def _cmd_update_impl(args, gateway_mode: bool):
|
||||
return
|
||||
print("✗ Not a git repository. Please reinstall:")
|
||||
print(
|
||||
" curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash"
|
||||
" curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash"
|
||||
)
|
||||
sys.exit(1)
|
||||
|
||||
|
||||
@ -734,9 +734,9 @@ def run_uninstall(args):
|
||||
print()
|
||||
print("To reinstall later with your existing settings:")
|
||||
if _is_windows():
|
||||
print(color(" iex (irm https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.ps1)", Colors.DIM))
|
||||
print(color(" iex (irm https://hermes-agent.nousresearch.com/install.ps1)", Colors.DIM))
|
||||
else:
|
||||
print(color(" curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash", Colors.DIM))
|
||||
print(color(" curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash", Colors.DIM))
|
||||
print()
|
||||
|
||||
if _is_windows():
|
||||
|
||||
@ -8,7 +8,7 @@ REM Usage:
|
||||
REM curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.cmd -o install.cmd && install.cmd && del install.cmd
|
||||
REM
|
||||
REM Or if you're already in PowerShell, use the direct command instead:
|
||||
REM iex (irm https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.ps1)
|
||||
REM iex (irm https://hermes-agent.nousresearch.com/install.ps1)
|
||||
REM ============================================================================
|
||||
|
||||
echo.
|
||||
@ -16,12 +16,12 @@ echo Hermes Agent Installer
|
||||
echo Launching PowerShell installer...
|
||||
echo.
|
||||
|
||||
powershell -ExecutionPolicy ByPass -NoProfile -Command "iex (irm https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.ps1)"
|
||||
powershell -ExecutionPolicy ByPass -NoProfile -Command "iex (irm https://hermes-agent.nousresearch.com/install.ps1)"
|
||||
|
||||
if %ERRORLEVEL% NEQ 0 (
|
||||
echo.
|
||||
echo Installation failed. Please try running PowerShell directly:
|
||||
echo powershell -ExecutionPolicy ByPass -c "iex (irm https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.ps1)"
|
||||
echo powershell -ExecutionPolicy ByPass -c "iex (irm https://hermes-agent.nousresearch.com/install.ps1)"
|
||||
echo.
|
||||
pause
|
||||
exit /b 1
|
||||
|
||||
@ -5,7 +5,7 @@
|
||||
# Uses uv for fast Python provisioning and package management.
|
||||
#
|
||||
# Usage:
|
||||
# iex (irm https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.ps1)
|
||||
# iex (irm https://hermes-agent.nousresearch.com/install.ps1)
|
||||
#
|
||||
# Or download and run with options:
|
||||
# .\install.ps1 -NoVenv -SkipSetup
|
||||
@ -2844,7 +2844,7 @@ try {
|
||||
Write-Err "Installation failed: $_"
|
||||
Write-Host ""
|
||||
Write-Info "If the error is unclear, try downloading and running the script directly:"
|
||||
Write-Host " Invoke-WebRequest -Uri 'https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.ps1' -OutFile install.ps1" -ForegroundColor Yellow
|
||||
Write-Host " Invoke-WebRequest -Uri 'https://hermes-agent.nousresearch.com/install.ps1' -OutFile install.ps1" -ForegroundColor Yellow
|
||||
Write-Host " .\install.ps1" -ForegroundColor Yellow
|
||||
Write-Host ""
|
||||
}
|
||||
|
||||
@ -6,7 +6,7 @@
|
||||
# Uses uv for desktop/server installs and Python's stdlib venv + pip on Termux.
|
||||
#
|
||||
# Usage:
|
||||
# curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash
|
||||
# curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash
|
||||
#
|
||||
# Or with options:
|
||||
# curl -fsSL ... | bash -s -- --no-venv --skip-setup
|
||||
@ -451,7 +451,7 @@ detect_os() {
|
||||
OS="windows"
|
||||
DISTRO="windows"
|
||||
log_error "Windows detected. Please use the PowerShell installer:"
|
||||
log_info " iex (irm https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.ps1)"
|
||||
log_info " iex (irm https://hermes-agent.nousresearch.com/install.ps1)"
|
||||
exit 1
|
||||
;;
|
||||
*)
|
||||
|
||||
@ -35,7 +35,7 @@ People use Hermes for software development, research, system administration, dat
|
||||
|
||||
```bash
|
||||
# Install
|
||||
curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash
|
||||
curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash
|
||||
|
||||
# Interactive chat (default)
|
||||
hermes
|
||||
|
||||
@ -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:
|
||||
|
||||
@ -42,14 +42,22 @@ Click **Start chatting**. That's it — you're talking to Nemotron 3 Ultra, free
|
||||
|
||||
## Option B — Command line
|
||||
|
||||
Prefer the terminal? You'll need macOS, Linux, or Windows via [WSL](https://learn.microsoft.com/en-us/windows/wsl/install) with `curl` installed (`curl` is preinstalled on most systems).
|
||||
Prefer the terminal?
|
||||
|
||||
### 1. Install Hermes Agent
|
||||
|
||||
On macOS/Linux/WSL2/Android, run
|
||||
|
||||
```bash
|
||||
curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash
|
||||
```
|
||||
|
||||
On Windows, run
|
||||
|
||||
```powershell
|
||||
iex (irm https://hermes-agent.nousresearch.com/install.ps1)
|
||||
```
|
||||
|
||||
Prefer to review first? Download [`install.sh`](https://hermes-agent.nousresearch.com/install.sh), inspect it, then run it.
|
||||
|
||||
After it finishes, reload your shell:
|
||||
|
||||
@ -7,34 +7,90 @@ hide_table_of_contents: true
|
||||
displayed_sidebar: docs
|
||||
---
|
||||
|
||||
import Link from '@docusaurus/Link';
|
||||
import Link from "@docusaurus/Link";
|
||||
|
||||
# Hermes Agent
|
||||
|
||||
The self-improving AI agent built by [Nous Research](https://nousresearch.com). The only agent with a built-in learning loop — it creates skills from experience, improves them during use, nudges itself to persist knowledge, and builds a deepening model of who you are across sessions.
|
||||
|
||||
<div style={{display: 'flex', gap: '1rem', marginBottom: '2rem', flexWrap: 'wrap'}}>
|
||||
<Link to="/getting-started/installation" style={{display: 'inline-block', padding: '0.6rem 1.2rem', backgroundColor: '#FFD700', color: '#07070d', borderRadius: '8px', fontWeight: 600, textDecoration: 'none'}}>Get Started →</Link>
|
||||
<a href="https://github.com/NousResearch/hermes-agent/releases/latest" style={{display: 'inline-block', padding: '0.6rem 1.2rem', border: '1px solid rgba(255,215,0,0.2)', borderRadius: '8px', textDecoration: 'none'}}>Download Desktop</a>
|
||||
<a href="https://github.com/NousResearch/hermes-agent" style={{display: 'inline-block', padding: '0.6rem 1.2rem', border: '1px solid rgba(255,215,0,0.2)', borderRadius: '8px', textDecoration: 'none'}}>View on GitHub</a>
|
||||
<div
|
||||
style={{
|
||||
display: "flex",
|
||||
gap: "1rem",
|
||||
marginBottom: "2rem",
|
||||
flexWrap: "wrap",
|
||||
}}
|
||||
>
|
||||
<Link
|
||||
to="/getting-started/installation"
|
||||
style={{
|
||||
display: "inline-block",
|
||||
padding: "0.6rem 1.2rem",
|
||||
backgroundColor: "#FFD700",
|
||||
color: "#07070d",
|
||||
borderRadius: "8px",
|
||||
fontWeight: 600,
|
||||
textDecoration: "none",
|
||||
}}
|
||||
>
|
||||
Get Started →
|
||||
</Link>
|
||||
<a
|
||||
href="https://hermes-agent.nousresearch.com/desktop"
|
||||
style={{
|
||||
display: "inline-block",
|
||||
padding: "0.6rem 1.2rem",
|
||||
border: "1px solid rgba(255,215,0,0.2)",
|
||||
borderRadius: "8px",
|
||||
textDecoration: "none",
|
||||
}}
|
||||
>
|
||||
Download Desktop
|
||||
</a>
|
||||
<a
|
||||
href="https://github.com/NousResearch/hermes-agent"
|
||||
style={{
|
||||
display: "inline-block",
|
||||
padding: "0.6rem 1.2rem",
|
||||
border: "1px solid rgba(255,215,0,0.2)",
|
||||
borderRadius: "8px",
|
||||
textDecoration: "none",
|
||||
}}
|
||||
>
|
||||
View on GitHub
|
||||
</a>
|
||||
</div>
|
||||
|
||||
## Install
|
||||
|
||||
**Linux / macOS / WSL2**
|
||||
### Windows or macOS
|
||||
|
||||
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.
|
||||
|
||||
### 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)** — *[details →](/user-guide/windows-native)*
|
||||
### 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
|
||||
```
|
||||
|
||||
#### 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)
|
||||
```
|
||||
|
||||
**Android (Termux)** — same curl one-liner as Linux; the installer auto-detects Termux.
|
||||
|
||||
See the full **[Installation Guide](/getting-started/installation)** for what the installer does, the per-user vs root layout, and Windows-specific notes.
|
||||
|
||||
:::tip Fastest path to a working agent
|
||||
@ -47,26 +103,26 @@ It's not a coding copilot tethered to an IDE or a chatbot wrapper around a singl
|
||||
|
||||
## Quick Links
|
||||
|
||||
| | |
|
||||
|---|---|
|
||||
| 🚀 **[Installation](/getting-started/installation)** | Install in 60 seconds on Linux, macOS, WSL2, or native Windows |
|
||||
| 📖 **[Quickstart Tutorial](/getting-started/quickstart)** | Your first conversation and key features to try |
|
||||
| 🗺️ **[Learning Path](/getting-started/learning-path)** | Find the right docs for your experience level |
|
||||
| ⚙️ **[Configuration](/user-guide/configuration)** | Config file, providers, models, and options |
|
||||
| 💬 **[Messaging Gateway](/user-guide/messaging)** | Set up Telegram, Discord, Slack, WhatsApp, Teams, or more |
|
||||
| 🔧 **[Tools & Toolsets](/user-guide/features/tools)** | 60+ built-in tools and how to configure them |
|
||||
| 🧠 **[Memory System](/user-guide/features/memory)** | Persistent memory that grows across sessions |
|
||||
| 📚 **[Skills System](/user-guide/features/skills)** | Procedural memory the agent creates and reuses |
|
||||
| 🔌 **[MCP Integration](/user-guide/features/mcp)** | Connect to MCP servers, filter their tools, and extend Hermes safely |
|
||||
| 🧭 **[Use MCP with Hermes](/guides/use-mcp-with-hermes)** | Practical MCP setup patterns, examples, and tutorials |
|
||||
| 🎙️ **[Voice Mode](/user-guide/features/voice-mode)** | Real-time voice interaction in CLI, Telegram, Discord, and Discord VC |
|
||||
| 🗣️ **[Use Voice Mode with Hermes](/guides/use-voice-mode-with-hermes)** | Hands-on setup and usage patterns for Hermes voice workflows |
|
||||
| 🎭 **[Personality & SOUL.md](/user-guide/features/personality)** | Define Hermes' default voice with a global SOUL.md |
|
||||
| 📄 **[Context Files](/user-guide/features/context-files)** | Project context files that shape every conversation |
|
||||
| 🔒 **[Security](/user-guide/security)** | Command approval, authorization, container isolation |
|
||||
| 💡 **[Tips & Best Practices](/guides/tips)** | Quick wins to get the most out of Hermes |
|
||||
| 🏗️ **[Architecture](/developer-guide/architecture)** | How it works under the hood |
|
||||
| ❓ **[FAQ & Troubleshooting](/reference/faq)** | Common questions and solutions |
|
||||
| | |
|
||||
| ----------------------------------------------------------------------- | --------------------------------------------------------------------- |
|
||||
| 🚀 **[Installation](/getting-started/installation)** | Install in 60 seconds on Linux, macOS, WSL2, or native Windows |
|
||||
| 📖 **[Quickstart Tutorial](/getting-started/quickstart)** | Your first conversation and key features to try |
|
||||
| 🗺️ **[Learning Path](/getting-started/learning-path)** | Find the right docs for your experience level |
|
||||
| ⚙️ **[Configuration](/user-guide/configuration)** | Config file, providers, models, and options |
|
||||
| 💬 **[Messaging Gateway](/user-guide/messaging)** | Set up Telegram, Discord, Slack, WhatsApp, Teams, or more |
|
||||
| 🔧 **[Tools & Toolsets](/user-guide/features/tools)** | 60+ built-in tools and how to configure them |
|
||||
| 🧠 **[Memory System](/user-guide/features/memory)** | Persistent memory that grows across sessions |
|
||||
| 📚 **[Skills System](/user-guide/features/skills)** | Procedural memory the agent creates and reuses |
|
||||
| 🔌 **[MCP Integration](/user-guide/features/mcp)** | Connect to MCP servers, filter their tools, and extend Hermes safely |
|
||||
| 🧭 **[Use MCP with Hermes](/guides/use-mcp-with-hermes)** | Practical MCP setup patterns, examples, and tutorials |
|
||||
| 🎙️ **[Voice Mode](/user-guide/features/voice-mode)** | Real-time voice interaction in CLI, Telegram, Discord, and Discord VC |
|
||||
| 🗣️ **[Use Voice Mode with Hermes](/guides/use-voice-mode-with-hermes)** | Hands-on setup and usage patterns for Hermes voice workflows |
|
||||
| 🎭 **[Personality & SOUL.md](/user-guide/features/personality)** | Define Hermes' default voice with a global SOUL.md |
|
||||
| 📄 **[Context Files](/user-guide/features/context-files)** | Project context files that shape every conversation |
|
||||
| 🔒 **[Security](/user-guide/security)** | Command approval, authorization, container isolation |
|
||||
| 💡 **[Tips & Best Practices](/guides/tips)** | Quick wins to get the most out of Hermes |
|
||||
| 🏗️ **[Architecture](/developer-guide/architecture)** | How it works under the hood |
|
||||
| ❓ **[FAQ & Troubleshooting](/reference/faq)** | Common questions and solutions |
|
||||
|
||||
## Key Features
|
||||
|
||||
|
||||
@ -33,7 +33,7 @@ Set your provider with `hermes model` or by editing `~/.hermes/.env`. See the [E
|
||||
**Not natively.** Hermes Agent requires a Unix-like environment. On Windows, install [WSL2](https://learn.microsoft.com/en-us/windows/wsl/install) and run Hermes from inside it. The standard install command works perfectly in WSL2:
|
||||
|
||||
```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
|
||||
```
|
||||
|
||||
### I run Hermes in WSL2. What's the best way to control my normal Windows Chrome?
|
||||
@ -61,7 +61,7 @@ Yes — Hermes now has a tested Termux install path for Android phones.
|
||||
Quick install:
|
||||
|
||||
```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
|
||||
```
|
||||
|
||||
For the fully explicit manual steps, supported extras, and current limitations, see the [Termux guide](../getting-started/termux.md).
|
||||
@ -225,7 +225,7 @@ source ~/.bashrc
|
||||
# If you previously installed with sudo, clean up:
|
||||
sudo rm /usr/local/bin/hermes
|
||||
# Then re-run the standard installer
|
||||
curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash
|
||||
curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash
|
||||
```
|
||||
|
||||
---
|
||||
@ -751,7 +751,7 @@ Skills with very long descriptions are truncated to 40 characters in the Telegra
|
||||
|
||||
1. Install Hermes Agent on the new machine:
|
||||
```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
|
||||
```
|
||||
|
||||
2. On the **source machine**, create a full backup:
|
||||
|
||||
@ -22,19 +22,7 @@ Pick whichever fits the moment. They share state, so you can start a session in
|
||||
|
||||
## Install
|
||||
|
||||
### With the Hermes Desktop installer on MacOS or Windows (recommended)
|
||||
|
||||
[Download the Hermes Desktop installer](https://hermes-agent.nousresearch.com/desktop) from our website and run it.
|
||||
|
||||
### With the CLI installer on Linux, MacOS, or Windows
|
||||
|
||||
Add `--include-desktop` to the regular install script.
|
||||
|
||||
```bash
|
||||
curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash -s -- --include-desktop
|
||||
```
|
||||
|
||||
### With an existing Hermes installation
|
||||
Follow the [installation instructions for Hermes Desktop](../getting-started/installation.md).
|
||||
|
||||
If you already have Hermes installed, simply run
|
||||
|
||||
|
||||
@ -52,7 +52,7 @@ People use Hermes for software development, research, system administration, dat
|
||||
|
||||
```bash
|
||||
# Install
|
||||
curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash
|
||||
curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash
|
||||
|
||||
# Interactive chat (default)
|
||||
hermes
|
||||
|
||||
@ -17,10 +17,12 @@ If you prefer a real POSIX environment (for the dashboard's embedded terminal, `
|
||||
|
||||
## Quick install
|
||||
|
||||
Open **PowerShell** (or Windows Terminal) and run:
|
||||
[Download the Hermes Desktop installer](https://hermes-agent.nousresearch.com/desktop) from our website and run it.
|
||||
|
||||
Or, for a command-line only install, open **PowerShell** (or Windows Terminal) and run:
|
||||
|
||||
```powershell
|
||||
iex (irm https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.ps1)
|
||||
iex (irm https://hermes-agent.nousresearch.com/install.ps1)
|
||||
```
|
||||
|
||||
No admin rights required. The installer goes to `%LOCALAPPDATA%\hermes\` and adds `hermes` to your **User PATH** — open a new terminal after it finishes.
|
||||
@ -28,38 +30,32 @@ No admin rights required. The installer goes to `%LOCALAPPDATA%\hermes\` and add
|
||||
**Installer options** (requires the scriptblock form to pass parameters):
|
||||
|
||||
```powershell
|
||||
& ([scriptblock]::Create((irm https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.ps1))) -NoVenv -SkipSetup -Branch main
|
||||
& ([scriptblock]::Create((irm https://hermes-agent.nousresearch.com/install.ps1))) -NoVenv -SkipSetup -Branch main
|
||||
```
|
||||
|
||||
| Parameter | Default | Purpose |
|
||||
|---|---|---|
|
||||
| `-Branch` | `main` | Clone a specific branch (useful for testing PRs) |
|
||||
| `-Commit` | unset | Pin install to a specific commit SHA (overrides `-Branch`) |
|
||||
| `-Tag` | unset | Pin install to a specific git tag (e.g. `v0.14.0`) |
|
||||
| `-NoVenv` | off | Skip venv creation (advanced — you manage Python yourself) |
|
||||
| `-SkipSetup` | off | Skip the post-install `hermes setup` wizard |
|
||||
| `-HermesHome` | `%LOCALAPPDATA%\hermes` | Override data directory |
|
||||
| `-InstallDir` | `%LOCALAPPDATA%\hermes\hermes-agent` | Override code location |
|
||||
| Parameter | Default | Purpose |
|
||||
| ------------- | ------------------------------------ | ---------------------------------------------------------- |
|
||||
| `-Branch` | `main` | Clone a specific branch (useful for testing PRs) |
|
||||
| `-Commit` | unset | Pin install to a specific commit SHA (overrides `-Branch`) |
|
||||
| `-Tag` | unset | Pin install to a specific git tag (e.g. `v0.14.0`) |
|
||||
| `-NoVenv` | off | Skip venv creation (advanced — you manage Python yourself) |
|
||||
| `-SkipSetup` | off | Skip the post-install `hermes setup` wizard |
|
||||
| `-HermesHome` | `%LOCALAPPDATA%\hermes` | Override data directory |
|
||||
| `-InstallDir` | `%LOCALAPPDATA%\hermes\hermes-agent` | Override code location |
|
||||
|
||||
The installer auto-retries flaky git fetches and strips BOM from any downloaded `install.ps1` payload, so a UTF-8 BOM picked up during HTTP transit no longer breaks the `[scriptblock]::Create((irm ...))` form.
|
||||
|
||||
### Desktop installer (alternative)
|
||||
|
||||
A thin GUI installer is also available — useful if you'd rather double-click an `.exe` than open PowerShell. Download Hermes Desktop, run the installer, and on first launch the GUI calls `install.ps1` under the hood to provision Python (via `uv`), Node, PortableGit, and the rest of the dependency bootstrap described below. After the first run, the desktop app and the PowerShell-installed `hermes` CLI share the same `%LOCALAPPDATA%\hermes\hermes-agent` install and `%USERPROFILE%\.hermes` data directory — switch between the GUI and the CLI freely.
|
||||
|
||||
Use the desktop installer when you want a familiar Windows install experience or you're handing Hermes to a non-developer; use the PowerShell one-liner when you're already in a terminal.
|
||||
|
||||
### Dependency bootstrap (`dep_ensure`)
|
||||
|
||||
On first launch (and on demand when a missing tool is detected), Hermes runs a small Python bootstrapper — `hermes_cli/dep_ensure.py` — that checks for and lazily installs the non-Python dependencies it needs. On Windows, the relevant ones are:
|
||||
|
||||
| Dependency | Why Hermes needs it |
|
||||
|---|---|
|
||||
| **PortableGit** | Provides `bash.exe` for the terminal tool and `git` for in-session clones. Provisioned at install time, not by `dep_ensure`. |
|
||||
| **Node.js 22** | Required for the browser tool (`agent-browser`), the TUI's web bridge, and the WhatsApp bridge. |
|
||||
| **ffmpeg** | Audio format conversion for TTS / voice messages. |
|
||||
| **ripgrep** | Fast file search — falls back to `grep` if unavailable. |
|
||||
| **npm packages** | `agent-browser`, Playwright Chromium, and any per-toolset Node deps are installed once at first browser-tool use. |
|
||||
| Dependency | Why Hermes needs it |
|
||||
| ---------------- | ---------------------------------------------------------------------------------------------------------------------------- |
|
||||
| **PortableGit** | Provides `bash.exe` for the terminal tool and `git` for in-session clones. Provisioned at install time, not by `dep_ensure`. |
|
||||
| **Node.js 22** | Required for the browser tool (`agent-browser`), the TUI's web bridge, and the WhatsApp bridge. |
|
||||
| **ffmpeg** | Audio format conversion for TTS / voice messages. |
|
||||
| **ripgrep** | Fast file search — falls back to `grep` if unavailable. |
|
||||
| **npm packages** | `agent-browser`, Playwright Chromium, and any per-toolset Node deps are installed once at first browser-tool use. |
|
||||
|
||||
Each dep has a `shutil.which(...)`-style check; if a binary is missing and the run is interactive, `dep_ensure` offers to install it (deferring to `scripts\install.ps1 -ensure <dep>` for the actual install logic). Non-interactive runs (gateway, cron, headless desktop launches) skip the prompt and surface a clear `this feature needs <dep>` error instead.
|
||||
|
||||
@ -86,18 +82,18 @@ On Windows, per-tool API key setup (Firecrawl, FAL, Browser Use, OpenAI TTS) is
|
||||
|
||||
Everything except the dashboard's embedded terminal pane runs natively on Windows.
|
||||
|
||||
| Feature | Native Windows | WSL2 |
|
||||
|---|---|---|
|
||||
| CLI (`hermes chat`, `hermes setup`, `hermes gateway`, …) | ✓ | ✓ |
|
||||
| Interactive TUI (`hermes --tui`) | ✓ | ✓ |
|
||||
| Messaging gateway (Telegram, Discord, Slack, WhatsApp, 15+ platforms) | ✓ | ✓ |
|
||||
| Cron scheduler | ✓ | ✓ |
|
||||
| Browser tool (Chromium via Node) | ✓ | ✓ |
|
||||
| MCP servers (stdio and HTTP) | ✓ | ✓ |
|
||||
| Local Ollama / LM Studio / llama-server | ✓ | ✓ (via WSL networking) |
|
||||
| Web dashboard (sessions, jobs, metrics, config) | ✓ | ✓ |
|
||||
| Dashboard `/chat` embedded terminal pane | ✗ (needs POSIX PTY) | ✓ |
|
||||
| Auto-start at login | ✓ (schtasks) | ✓ (systemd) |
|
||||
| Feature | Native Windows | WSL2 |
|
||||
| --------------------------------------------------------------------- | ------------------- | ---------------------- |
|
||||
| CLI (`hermes chat`, `hermes setup`, `hermes gateway`, …) | ✓ | ✓ |
|
||||
| Interactive TUI (`hermes --tui`) | ✓ | ✓ |
|
||||
| Messaging gateway (Telegram, Discord, Slack, WhatsApp, 15+ platforms) | ✓ | ✓ |
|
||||
| Cron scheduler | ✓ | ✓ |
|
||||
| Browser tool (Chromium via Node) | ✓ | ✓ |
|
||||
| MCP servers (stdio and HTTP) | ✓ | ✓ |
|
||||
| Local Ollama / LM Studio / llama-server | ✓ | ✓ (via WSL networking) |
|
||||
| Web dashboard (sessions, jobs, metrics, config) | ✓ | ✓ |
|
||||
| Dashboard `/chat` embedded terminal pane | ✗ (needs POSIX PTY) | ✓ |
|
||||
| Auto-start at login | ✓ (schtasks) | ✓ (systemd) |
|
||||
|
||||
The dashboard's `/chat` tab embeds a real terminal via a POSIX PTY (`ptyprocess`). Native Windows has no equivalent primitive; Python's `pywinpty` / Windows ConPTY would work but is a separate implementation — treat as future work. **The rest of the dashboard works natively** — only that one tab shows a "use WSL2 for this" banner.
|
||||
|
||||
@ -140,12 +136,12 @@ Hermes's Windows stdio shim now sets `EDITOR=notepad` as a default. Notepad ship
|
||||
|
||||
**User overrides still win** (they're checked before the setdefault):
|
||||
|
||||
| Editor | PowerShell command |
|
||||
|---|---|
|
||||
| VS Code | `$env:EDITOR = "code --wait"` |
|
||||
| Editor | PowerShell command |
|
||||
| --------- | ---------------------------------------------------------------------------------- |
|
||||
| VS Code | `$env:EDITOR = "code --wait"` |
|
||||
| Notepad++ | `$env:EDITOR = "'C:\Program Files\Notepad++\notepad++.exe' -multiInst -nosession"` |
|
||||
| Neovim | `$env:EDITOR = "nvim"` |
|
||||
| Helix | `$env:EDITOR = "hx"` |
|
||||
| Neovim | `$env:EDITOR = "nvim"` |
|
||||
| Helix | `$env:EDITOR = "hx"` |
|
||||
|
||||
The `--wait` flag on VS Code is critical — without it the editor returns immediately and Hermes gets a blank buffer back.
|
||||
|
||||
@ -200,13 +196,13 @@ Services require admin rights to install and tie the gateway's lifecycle to mach
|
||||
|
||||
## Data layout
|
||||
|
||||
| Path | Contents |
|
||||
|---|---|
|
||||
| `%LOCALAPPDATA%\hermes\hermes-agent\` | Git checkout + venv. Safe to `Remove-Item -Recurse` and reinstall. |
|
||||
| `%LOCALAPPDATA%\hermes\git\` | PortableGit (only if the installer provisioned it). |
|
||||
| `%LOCALAPPDATA%\hermes\node\` | Portable Node.js (only if the installer provisioned it). |
|
||||
| `%LOCALAPPDATA%\hermes\bin\` | `hermes.cmd` shim, added to User PATH. |
|
||||
| `%USERPROFILE%\.hermes\` | Your config, auth, skills, sessions, logs. **Survives reinstalls.** |
|
||||
| Path | Contents |
|
||||
| ------------------------------------- | ------------------------------------------------------------------- |
|
||||
| `%LOCALAPPDATA%\hermes\hermes-agent\` | Git checkout + venv. Safe to `Remove-Item -Recurse` and reinstall. |
|
||||
| `%LOCALAPPDATA%\hermes\git\` | PortableGit (only if the installer provisioned it). |
|
||||
| `%LOCALAPPDATA%\hermes\node\` | Portable Node.js (only if the installer provisioned it). |
|
||||
| `%LOCALAPPDATA%\hermes\bin\` | `hermes.cmd` shim, added to User PATH. |
|
||||
| `%USERPROFILE%\.hermes\` | Your config, auth, skills, sessions, logs. **Survives reinstalls.** |
|
||||
|
||||
The split is deliberate: `%LOCALAPPDATA%\hermes` is disposable infrastructure (you can blow it away and the one-liner restores it). `%USERPROFILE%\.hermes` is your data — config, memory, skills, session history — and is identical in shape to a Linux install. Mirror it between machines and your Hermes moves with you.
|
||||
|
||||
@ -248,11 +244,11 @@ Don't put secrets in User environment variables unless you specifically want eve
|
||||
|
||||
These only affect native Windows installs:
|
||||
|
||||
| Variable | Effect |
|
||||
|---|---|
|
||||
| `HERMES_GIT_BASH_PATH` | Override bash.exe discovery. Point at any bash — full Git-for-Windows, WSL bash via symlink, MSYS2, Cygwin. The installer sets this automatically. |
|
||||
| `HERMES_DISABLE_WINDOWS_UTF8` | Set to `1` to disable the UTF-8 stdio shim and fall back to the locale code page. Useful for bisecting an encoding bug. |
|
||||
| `EDITOR` / `VISUAL` | Your editor for `/edit` and `Ctrl-X Ctrl-E`. Hermes defaults to `notepad` if both are unset. |
|
||||
| Variable | Effect |
|
||||
| ----------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `HERMES_GIT_BASH_PATH` | Override bash.exe discovery. Point at any bash — full Git-for-Windows, WSL bash via symlink, MSYS2, Cygwin. The installer sets this automatically. |
|
||||
| `HERMES_DISABLE_WINDOWS_UTF8` | Set to `1` to disable the UTF-8 stdio shim and fall back to the locale code page. Useful for bisecting an encoding bug. |
|
||||
| `EDITOR` / `VISUAL` | Your editor for `/edit` and `Ctrl-X Ctrl-E`. Hermes defaults to `notepad` if both are unset. |
|
||||
|
||||
## Uninstall
|
||||
|
||||
@ -287,7 +283,7 @@ Consequence: any codepath that said "check if this PID is alive" via `os.kill(pi
|
||||
## Common pitfalls
|
||||
|
||||
**`hermes: command not found` right after install.**
|
||||
Open a new PowerShell window. The installer added `%LOCALAPPDATA%\hermes\bin` to User PATH, but existing shells need to be restarted to pick it up. In the meantime you can run `& "$env:LOCALAPPDATA\hermes\bin\hermes.cmd"`.
|
||||
Open a new PowerShell window. The installer added `%LOCALAPPDATA%\hermes\bin` to User PATH, but existing shells need to be restarted to pick it up.
|
||||
|
||||
**`WinError 193: %1 is not a valid Win32 application` when running a tool.**
|
||||
You hit a shebang-script invocation that bypassed the `.cmd` shim. Hermes resolves commands through `shutil.which(cmd, path=local_bin)` so PATHEXT picks up `.CMD` — if you're invoking the tool via a hardcoded path instead, switch to the `.cmd` variant (e.g., `npx.cmd`, not `npx`).
|
||||
|
||||
@ -100,7 +100,7 @@ The `metadata` mount option above is important — without it, files on `/mnt/c/
|
||||
Once you have a WSL2 shell open:
|
||||
|
||||
```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
|
||||
source ~/.bashrc
|
||||
hermes
|
||||
```
|
||||
|
||||
@ -114,7 +114,7 @@ const config: Config = {
|
||||
position: 'left',
|
||||
},
|
||||
{
|
||||
href: 'https://github.com/NousResearch/hermes-agent/releases/latest',
|
||||
href: 'https://hermes-agent.nousresearch.com/desktop',
|
||||
label: 'Download',
|
||||
position: 'left',
|
||||
},
|
||||
@ -155,14 +155,14 @@ const config: Config = {
|
||||
title: 'Community',
|
||||
items: [
|
||||
{ label: 'Discord', href: 'https://discord.gg/NousResearch' },
|
||||
{ label: 'GitHub Discussions', href: 'https://github.com/NousResearch/hermes-agent/discussions' },
|
||||
{ label: 'GitHub Issues', href: 'https://github.com/NousResearch/hermes-agent/issues' },
|
||||
{ label: 'Skills Hub', href: 'https://agentskills.io' },
|
||||
],
|
||||
},
|
||||
{
|
||||
title: 'More',
|
||||
items: [
|
||||
{ label: 'Desktop Download', href: 'https://github.com/NousResearch/hermes-agent/releases/latest' },
|
||||
{ label: 'Desktop Download', href: 'https://hermes-agent.nousresearch.com/desktop' },
|
||||
{ label: 'GitHub', href: 'https://github.com/NousResearch/hermes-agent' },
|
||||
{ label: 'Nous Research', href: 'https://nousresearch.com' },
|
||||
],
|
||||
|
||||
@ -15,7 +15,7 @@ description: "在 Linux、macOS、WSL2、原生 Windows 或通过 Termux 在 And
|
||||
基于 git 的安装方式,跟踪 `main` 分支,可立即获取最新变更:
|
||||
|
||||
```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
|
||||
```
|
||||
|
||||
### Windows(原生,PowerShell)
|
||||
@ -25,12 +25,13 @@ curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scri
|
||||
打开 PowerShell 并运行:
|
||||
|
||||
```powershell
|
||||
iex (irm https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.ps1)
|
||||
iex (irm https://hermes-agent.nousresearch.com/install.ps1)
|
||||
```
|
||||
|
||||
安装程序处理**一切**:`uv`、Python 3.11、Node.js 22、`ripgrep`、`ffmpeg`,**以及一个便携式 Git Bash**(PortableGit——一个自包含的 Git-for-Windows 发行版,附带 `bash.exe` 和 Hermes 用于 shell 命令的完整 POSIX 工具链;在 32 位 Windows 上安装程序会回退到 MinGit,后者缺少 bash,终端工具和 agent 浏览器功能将被禁用)。它将仓库克隆到 `%LOCALAPPDATA%\hermes\hermes-agent`,创建虚拟环境,并将 `hermes` 添加到**用户 PATH**。安装完成后请重启终端(或打开新的 PowerShell 窗口)以使 PATH 生效。
|
||||
|
||||
**Git 的处理方式:**
|
||||
|
||||
1. 如果 `git` 已在你的 PATH 中,安装程序将使用现有安装。
|
||||
2. 否则,它会下载便携式 **PortableGit**(约 50MB,来自官方 `git-for-windows` GitHub 发布页)并解压到 `%LOCALAPPDATA%\hermes\git`。无需管理员权限,完全隔离——不会干扰任何系统 Git 安装,无论其状态如何。(在 32 位 Windows 上会回退到 MinGit,因为 PortableGit 仅提供 64 位和 ARM64 资产;依赖 bash 的 Hermes 功能在 32 位主机上无法使用。)
|
||||
|
||||
@ -47,10 +48,11 @@ iex (irm https://raw.githubusercontent.com/NousResearch/hermes-agent/main/script
|
||||
Hermes 现在也提供 Termux 感知的安装路径:
|
||||
|
||||
```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
|
||||
```
|
||||
|
||||
安装程序会自动检测 Termux 并切换到经过测试的 Android 流程:
|
||||
|
||||
- 使用 Termux `pkg` 安装系统依赖(`git`、`python`、`nodejs`、`ripgrep`、`ffmpeg`、构建工具)
|
||||
- 使用 `python -m venv` 创建虚拟环境
|
||||
- 自动导出 `ANDROID_API_LEVEL` 以用于 Android wheel 构建
|
||||
@ -62,6 +64,7 @@ curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scri
|
||||
:::note Windows 功能对等性
|
||||
|
||||
除基于浏览器的 dashboard 聊天终端外,其余功能均可在 Windows 上原生运行:
|
||||
|
||||
- **CLI(`hermes chat`、`hermes setup`、`hermes gateway` 等)** — 原生,使用默认终端
|
||||
- **Gateway(Telegram、Discord、Slack 等)** — 原生,作为后台 PowerShell 进程运行
|
||||
- **Cron 调度器** — 原生
|
||||
@ -80,11 +83,11 @@ curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scri
|
||||
|
||||
安装程序的存放位置取决于你是以普通用户还是 root 身份安装:
|
||||
|
||||
| 安装方式 | 代码位置 | `hermes` 二进制 | 数据目录 |
|
||||
|---|---|---|---|
|
||||
| pip install | Python site-packages | `~/.local/bin/hermes`(console_scripts) | `~/.hermes/` |
|
||||
| 用户级(git 安装程序) | `~/.hermes/hermes-agent/` | `~/.local/bin/hermes`(符号链接) | `~/.hermes/` |
|
||||
| Root 模式(`sudo curl … \| sudo bash`) | `/usr/local/lib/hermes-agent/` | `/usr/local/bin/hermes` | `/root/.hermes/`(或 `$HERMES_HOME`) |
|
||||
| 安装方式 | 代码位置 | `hermes` 二进制 | 数据目录 |
|
||||
| --------------------------------------- | ------------------------------ | ---------------------------------------- | ------------------------------------- |
|
||||
| pip install | Python site-packages | `~/.local/bin/hermes`(console_scripts) | `~/.hermes/` |
|
||||
| 用户级(git 安装程序) | `~/.hermes/hermes-agent/` | `~/.local/bin/hermes`(符号链接) | `~/.hermes/` |
|
||||
| Root 模式(`sudo curl … \| sudo bash`) | `/usr/local/lib/hermes-agent/` | `/usr/local/bin/hermes` | `/root/.hermes/`(或 `$HERMES_HOME`) |
|
||||
|
||||
Root 模式的 **FHS 布局**(`/usr/local/lib/…`、`/usr/local/bin/hermes`)与其他系统级开发工具在 Linux 上的安装位置一致。适用于共享机器部署场景,一次系统安装可服务所有用户。每个用户的个人配置(认证、技能、会话)仍位于各自的 `~/.hermes/` 或显式指定的 `HERMES_HOME` 下。
|
||||
|
||||
@ -154,22 +157,27 @@ hermes setup --portal
|
||||
**推荐的分步方式(Debian/Ubuntu):**
|
||||
|
||||
1. **一次性操作,以具有 sudo 权限的管理员用户身份**,安装 Chromium 所需的系统库:
|
||||
|
||||
```bash
|
||||
sudo npx playwright install-deps chromium
|
||||
```
|
||||
|
||||
(可在任意位置运行——`npx` 会自动获取 Playwright。)
|
||||
|
||||
2. **以非特权服务用户身份**,运行常规安装程序。它会检测到缺少 sudo,跳过 `--with-deps`,并将 Chromium 安装到用户本地的 Playwright 缓存中:
|
||||
|
||||
```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
|
||||
```
|
||||
|
||||
如果想完全跳过 Playwright 步骤——例如在无头环境中运行且不需要浏览器自动化——传入 `--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. **使 `hermes` 对服务用户的 shell 可用。** 安装程序将启动器写入 `~/.local/bin/hermes`。系统服务账户通常具有不包含 `~/.local/bin` 的最小 PATH。可以将其添加到用户环境,或将启动器符号链接到系统位置:
|
||||
|
||||
```bash
|
||||
# 方案 A — 添加到服务用户的 profile
|
||||
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
|
||||
@ -186,14 +194,14 @@ hermes setup --portal
|
||||
|
||||
## 故障排查
|
||||
|
||||
| 问题 | 解决方案 |
|
||||
|---------|----------|
|
||||
| `hermes: command not found` | 重新加载 shell(`source ~/.bashrc`)或检查 PATH |
|
||||
| `API key not set` | 运行 `hermes model` 配置提供商,或 `hermes config set OPENROUTER_API_KEY your_key` |
|
||||
| 更新后配置丢失 | 运行 `hermes config check`,然后运行 `hermes config migrate` |
|
||||
| 问题 | 解决方案 |
|
||||
| --------------------------- | ---------------------------------------------------------------------------------- |
|
||||
| `hermes: command not found` | 重新加载 shell(`source ~/.bashrc`)或检查 PATH |
|
||||
| `API key not set` | 运行 `hermes model` 配置提供商,或 `hermes config set OPENROUTER_API_KEY your_key` |
|
||||
| 更新后配置丢失 | 运行 `hermes config check`,然后运行 `hermes config migrate` |
|
||||
|
||||
如需更多诊断信息,运行 `hermes doctor`——它会告诉你确切缺少什么以及如何修复。
|
||||
|
||||
## 安装方式自动检测
|
||||
|
||||
Hermes 会自动检测安装方式(`pip`、git 安装程序、Homebrew 或 NixOS),`hermes update` 会打印对应路径的更新命令。无需设置任何环境变量——检测基于安装目录结构(Python site-packages、`~/.hermes/hermes-agent/`、Homebrew 前缀或 Nix store 路径)。`hermes doctor` 也会在其环境摘要中显示检测到的安装方式。
|
||||
Hermes 会自动检测安装方式(`pip`、git 安装程序、Homebrew 或 NixOS),`hermes update` 会打印对应路径的更新命令。无需设置任何环境变量——检测基于安装目录结构(Python site-packages、`~/.hermes/hermes-agent/`、Homebrew 前缀或 Nix store 路径)。`hermes doctor` 也会在其环境摘要中显示检测到的安装方式。
|
||||
|
||||
@ -61,7 +61,7 @@ PyPI 发布版本跟踪带标签的版本(主/次版本发布),而非 `mai
|
||||
|
||||
```bash
|
||||
# Linux / macOS / WSL2 / Android (Termux)
|
||||
curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash
|
||||
curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash
|
||||
```
|
||||
|
||||
:::tip Android / Termux
|
||||
|
||||
@ -46,7 +46,7 @@ python -m pip install -e '.[termux]' -c constraints-termux.txt
|
||||
Hermes 现已内置 Termux 感知的安装路径:
|
||||
|
||||
```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
|
||||
```
|
||||
|
||||
在 Termux 上,安装程序会自动:
|
||||
|
||||
@ -7,15 +7,46 @@ hide_table_of_contents: true
|
||||
displayed_sidebar: docs
|
||||
---
|
||||
|
||||
import Link from '@docusaurus/Link';
|
||||
import Link from "@docusaurus/Link";
|
||||
|
||||
# Hermes Agent
|
||||
|
||||
由 [Nous Research](https://nousresearch.com) 构建的自我改进 AI 智能体。唯一内置学习循环的智能体——它从经验中创建技能,在使用过程中持续改进,主动提示自身持久化知识,并在会话间不断深化对你的建模。
|
||||
|
||||
<div style={{display: 'flex', gap: '1rem', marginBottom: '2rem', flexWrap: 'wrap'}}>
|
||||
<Link to="/getting-started/installation" style={{display: 'inline-block', padding: '0.6rem 1.2rem', backgroundColor: '#FFD700', color: '#07070d', borderRadius: '8px', fontWeight: 600, textDecoration: 'none'}}>快速开始 →</Link>
|
||||
<a href="https://github.com/NousResearch/hermes-agent" style={{display: 'inline-block', padding: '0.6rem 1.2rem', border: '1px solid rgba(255,215,0,0.2)', borderRadius: '8px', textDecoration: 'none'}}>在 GitHub 上查看</a>
|
||||
<div
|
||||
style={{
|
||||
display: "flex",
|
||||
gap: "1rem",
|
||||
marginBottom: "2rem",
|
||||
flexWrap: "wrap",
|
||||
}}
|
||||
>
|
||||
<Link
|
||||
to="/getting-started/installation"
|
||||
style={{
|
||||
display: "inline-block",
|
||||
padding: "0.6rem 1.2rem",
|
||||
backgroundColor: "#FFD700",
|
||||
color: "#07070d",
|
||||
borderRadius: "8px",
|
||||
fontWeight: 600,
|
||||
textDecoration: "none",
|
||||
}}
|
||||
>
|
||||
快速开始 →
|
||||
</Link>
|
||||
<a
|
||||
href="https://github.com/NousResearch/hermes-agent"
|
||||
style={{
|
||||
display: "inline-block",
|
||||
padding: "0.6rem 1.2rem",
|
||||
border: "1px solid rgba(255,215,0,0.2)",
|
||||
borderRadius: "8px",
|
||||
textDecoration: "none",
|
||||
}}
|
||||
>
|
||||
在 GitHub 上查看
|
||||
</a>
|
||||
</div>
|
||||
|
||||
## 安装
|
||||
@ -23,13 +54,13 @@ import Link from '@docusaurus/Link';
|
||||
**Linux / macOS / WSL2**
|
||||
|
||||
```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
|
||||
```
|
||||
|
||||
**Windows(原生,PowerShell)** — *早期测试版,[详情 →](/user-guide/windows-native)*
|
||||
**Windows(原生,PowerShell)** — _早期测试版,[详情 →](/user-guide/windows-native)_
|
||||
|
||||
```powershell
|
||||
iex (irm https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.ps1)
|
||||
iex (irm https://hermes-agent.nousresearch.com/install.ps1)
|
||||
```
|
||||
|
||||
**Android(Termux)** — 与 Linux 相同的 curl 一行命令;安装程序会自动检测 Termux。
|
||||
@ -42,26 +73,26 @@ iex (irm https://raw.githubusercontent.com/NousResearch/hermes-agent/main/script
|
||||
|
||||
## 快速链接
|
||||
|
||||
| | |
|
||||
|---|---|
|
||||
| 🚀 **[安装](/getting-started/installation)** | 在 Linux、macOS、WSL2 或原生 Windows(早期测试版)上 60 秒完成安装 |
|
||||
| 📖 **[快速入门教程](/getting-started/quickstart)** | 第一次对话及值得尝试的核心功能 |
|
||||
| 🗺️ **[学习路径](/getting-started/learning-path)** | 根据你的经验水平找到合适的文档 |
|
||||
| ⚙️ **[配置](/user-guide/configuration)** | 配置文件、提供商、模型及选项 |
|
||||
| 💬 **[消息网关](/user-guide/messaging)** | 配置 Telegram、Discord、Slack、WhatsApp、Teams 等平台 |
|
||||
| 🔧 **[工具与工具集](/user-guide/features/tools)** | 70+ 内置工具及其配置方式 |
|
||||
| 🧠 **[记忆系统](/user-guide/features/memory)** | 跨会话持续增长的持久记忆 |
|
||||
| 📚 **[技能系统](/user-guide/features/skills)** | 智能体创建并复用的程序性记忆 |
|
||||
| 🔌 **[MCP 集成](/user-guide/features/mcp)** | 连接 MCP 服务器、过滤其工具,并安全扩展 Hermes |
|
||||
| 🧭 **[在 Hermes 中使用 MCP](/guides/use-mcp-with-hermes)** | 实用的 MCP 配置模式、示例与教程 |
|
||||
| 🎙️ **[语音模式](/user-guide/features/voice-mode)** | 在 CLI、Telegram、Discord 及 Discord 语音频道中进行实时语音交互 |
|
||||
| 🗣️ **[在 Hermes 中使用语音模式](/guides/use-voice-mode-with-hermes)** | Hermes 语音工作流的实操配置与使用模式 |
|
||||
| 🎭 **[个性与 SOUL.md](/user-guide/features/personality)** | 通过全局 SOUL.md 定义 Hermes 的默认风格 |
|
||||
| 📄 **[上下文文件](/user-guide/features/context-files)** | 影响每次对话的项目上下文文件 |
|
||||
| 🔒 **[安全](/user-guide/security)** | 命令审批、授权与容器隔离 |
|
||||
| 💡 **[技巧与最佳实践](/guides/tips)** | 快速上手,充分发挥 Hermes 的潜力 |
|
||||
| 🏗️ **[架构](/developer-guide/architecture)** | 底层工作原理 |
|
||||
| ❓ **[常见问题与故障排查](/reference/faq)** | 常见问题及解决方案 |
|
||||
| | |
|
||||
| --------------------------------------------------------------------- | ------------------------------------------------------------------ |
|
||||
| 🚀 **[安装](/getting-started/installation)** | 在 Linux、macOS、WSL2 或原生 Windows(早期测试版)上 60 秒完成安装 |
|
||||
| 📖 **[快速入门教程](/getting-started/quickstart)** | 第一次对话及值得尝试的核心功能 |
|
||||
| 🗺️ **[学习路径](/getting-started/learning-path)** | 根据你的经验水平找到合适的文档 |
|
||||
| ⚙️ **[配置](/user-guide/configuration)** | 配置文件、提供商、模型及选项 |
|
||||
| 💬 **[消息网关](/user-guide/messaging)** | 配置 Telegram、Discord、Slack、WhatsApp、Teams 等平台 |
|
||||
| 🔧 **[工具与工具集](/user-guide/features/tools)** | 70+ 内置工具及其配置方式 |
|
||||
| 🧠 **[记忆系统](/user-guide/features/memory)** | 跨会话持续增长的持久记忆 |
|
||||
| 📚 **[技能系统](/user-guide/features/skills)** | 智能体创建并复用的程序性记忆 |
|
||||
| 🔌 **[MCP 集成](/user-guide/features/mcp)** | 连接 MCP 服务器、过滤其工具,并安全扩展 Hermes |
|
||||
| 🧭 **[在 Hermes 中使用 MCP](/guides/use-mcp-with-hermes)** | 实用的 MCP 配置模式、示例与教程 |
|
||||
| 🎙️ **[语音模式](/user-guide/features/voice-mode)** | 在 CLI、Telegram、Discord 及 Discord 语音频道中进行实时语音交互 |
|
||||
| 🗣️ **[在 Hermes 中使用语音模式](/guides/use-voice-mode-with-hermes)** | Hermes 语音工作流的实操配置与使用模式 |
|
||||
| 🎭 **[个性与 SOUL.md](/user-guide/features/personality)** | 通过全局 SOUL.md 定义 Hermes 的默认风格 |
|
||||
| 📄 **[上下文文件](/user-guide/features/context-files)** | 影响每次对话的项目上下文文件 |
|
||||
| 🔒 **[安全](/user-guide/security)** | 命令审批、授权与容器隔离 |
|
||||
| 💡 **[技巧与最佳实践](/guides/tips)** | 快速上手,充分发挥 Hermes 的潜力 |
|
||||
| 🏗️ **[架构](/developer-guide/architecture)** | 底层工作原理 |
|
||||
| ❓ **[常见问题与故障排查](/reference/faq)** | 常见问题及解决方案 |
|
||||
|
||||
## 核心功能
|
||||
|
||||
@ -83,4 +114,4 @@ iex (irm https://raw.githubusercontent.com/NousResearch/hermes-agent/main/script
|
||||
- **[`/llms.txt`](/llms.txt)** — 每个文档页面的精选索引,附简短描述。约 17 KB,可安全加载到 LLM 上下文中。
|
||||
- **[`/llms-full.txt`](/llms-full.txt)** — 所有文档页面拼接为单一 markdown 文件,支持一次性摄取。约 1.8 MB。
|
||||
|
||||
两个文件同样可通过 `/docs/llms.txt` 和 `/docs/llms-full.txt` 访问。每次部署时全新生成。
|
||||
两个文件同样可通过 `/docs/llms.txt` 和 `/docs/llms-full.txt` 访问。每次部署时全新生成。
|
||||
|
||||
@ -33,7 +33,7 @@ Hermes Agent 可与任何兼容 OpenAI 的 API 配合使用。支持的提供商
|
||||
**原生不支持。** Hermes Agent 需要类 Unix 环境。在 Windows 上,请安装 [WSL2](https://learn.microsoft.com/en-us/windows/wsl/install) 并在其中运行 Hermes。标准安装命令在 WSL2 中可完美运行:
|
||||
|
||||
```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
|
||||
```
|
||||
|
||||
### 我在 WSL2 中运行 Hermes,如何控制 Windows 上的普通 Chrome?
|
||||
@ -61,7 +61,7 @@ curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scri
|
||||
快速安装:
|
||||
|
||||
```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
|
||||
```
|
||||
|
||||
完整的手动步骤、支持的扩展及当前限制,请参阅 [Termux 指南](../getting-started/termux.md)。
|
||||
@ -225,7 +225,7 @@ source ~/.bashrc
|
||||
# 如果之前使用 sudo 安装,请先清理:
|
||||
sudo rm /usr/local/bin/hermes
|
||||
# 然后重新运行标准安装程序
|
||||
curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash
|
||||
curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash
|
||||
```
|
||||
|
||||
---
|
||||
@ -750,7 +750,7 @@ skills:
|
||||
|
||||
1. 在新机器上安装 Hermes Agent:
|
||||
```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
|
||||
```
|
||||
|
||||
2. 在**源机器**上创建完整备份:
|
||||
|
||||
@ -52,7 +52,7 @@ Hermes 的差异化特性:
|
||||
|
||||
```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
|
||||
|
||||
# 交互式聊天(默认)
|
||||
hermes
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
---
|
||||
P---
|
||||
title: "Windows(原生)指南"
|
||||
description: "在 Windows 10 / 11 上原生运行 Hermes Agent — 安装、功能矩阵、UTF-8 控制台、Git Bash、将 gateway 作为计划任务、编辑器处理、PATH、卸载及常见问题"
|
||||
sidebar_label: "Windows(原生)"
|
||||
@ -20,7 +20,7 @@ Hermes 可在 Windows 10 和 Windows 11 上原生运行——无需 WSL、Cygwin
|
||||
打开 **PowerShell**(或 Windows Terminal)并运行:
|
||||
|
||||
```powershell
|
||||
iex (irm https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.ps1)
|
||||
iex (irm https://hermes-agent.nousresearch.com/install.ps1)
|
||||
```
|
||||
|
||||
无需管理员权限。安装程序会写入 `%LOCALAPPDATA%\hermes\`,并将 `hermes` 添加到你的**用户 PATH**——安装完成后打开新终端即可使用。
|
||||
@ -28,18 +28,18 @@ iex (irm https://raw.githubusercontent.com/NousResearch/hermes-agent/main/script
|
||||
**安装程序选项**(需要使用 scriptblock 形式传递参数):
|
||||
|
||||
```powershell
|
||||
& ([scriptblock]::Create((irm https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.ps1))) -NoVenv -SkipSetup -Branch main
|
||||
& ([scriptblock]::Create((irm https://hermes-agent.nousresearch.com/install.ps1))) -NoVenv -SkipSetup -Branch main
|
||||
```
|
||||
|
||||
| 参数 | 默认值 | 用途 |
|
||||
|---|---|---|
|
||||
| `-Branch` | `main` | 克隆指定分支(用于测试 PR) |
|
||||
| `-Commit` | 未设置 | 将安装固定到指定 commit SHA(覆盖 `-Branch`) |
|
||||
| `-Tag` | 未设置 | 将安装固定到指定 git tag(如 `v0.14.0`) |
|
||||
| `-NoVenv` | 关闭 | 跳过 venv 创建(高级用法——由你自行管理 Python) |
|
||||
| `-SkipSetup` | 关闭 | 跳过安装后的 `hermes setup` 向导 |
|
||||
| `-HermesHome` | `%LOCALAPPDATA%\hermes` | 覆盖数据目录 |
|
||||
| `-InstallDir` | `%LOCALAPPDATA%\hermes\hermes-agent` | 覆盖代码存放位置 |
|
||||
| 参数 | 默认值 | 用途 |
|
||||
| ------------- | ------------------------------------ | ----------------------------------------------- |
|
||||
| `-Branch` | `main` | 克隆指定分支(用于测试 PR) |
|
||||
| `-Commit` | 未设置 | 将安装固定到指定 commit SHA(覆盖 `-Branch`) |
|
||||
| `-Tag` | 未设置 | 将安装固定到指定 git tag(如 `v0.14.0`) |
|
||||
| `-NoVenv` | 关闭 | 跳过 venv 创建(高级用法——由你自行管理 Python) |
|
||||
| `-SkipSetup` | 关闭 | 跳过安装后的 `hermes setup` 向导 |
|
||||
| `-HermesHome` | `%LOCALAPPDATA%\hermes` | 覆盖数据目录 |
|
||||
| `-InstallDir` | `%LOCALAPPDATA%\hermes\hermes-agent` | 覆盖代码存放位置 |
|
||||
|
||||
安装程序会自动重试不稳定的 git 拉取,并剥离下载的 `install.ps1` 内容中的 BOM,因此 HTTP 传输中携带的 UTF-8 BOM 不再会破坏 `[scriptblock]::Create((irm ...))` 形式。
|
||||
|
||||
@ -53,13 +53,13 @@ iex (irm https://raw.githubusercontent.com/NousResearch/hermes-agent/main/script
|
||||
|
||||
在首次启动时(以及检测到缺少工具时按需触发),Hermes 会运行一个小型 Python 引导程序——`hermes_cli/dep_ensure.py`——检查并懒加载安装所需的非 Python 依赖。在 Windows 上,相关依赖如下:
|
||||
|
||||
| 依赖 | Hermes 需要它的原因 |
|
||||
|---|---|
|
||||
| **PortableGit** | 为终端工具提供 `bash.exe`,为会话内克隆提供 `git`。在安装时配置,而非由 `dep_ensure` 负责。 |
|
||||
| **Node.js 22** | 浏览器工具(`agent-browser`)、TUI 的 web 桥接以及 WhatsApp 桥接所必需。 |
|
||||
| **ffmpeg** | TTS / 语音消息的音频格式转换。 |
|
||||
| **ripgrep** | 快速文件搜索——不可用时回退到 `grep`。 |
|
||||
| **npm 包** | `agent-browser`、Playwright Chromium 以及各工具集的 Node 依赖,在首次使用浏览器工具时安装一次。 |
|
||||
| 依赖 | Hermes 需要它的原因 |
|
||||
| --------------- | ----------------------------------------------------------------------------------------------- |
|
||||
| **PortableGit** | 为终端工具提供 `bash.exe`,为会话内克隆提供 `git`。在安装时配置,而非由 `dep_ensure` 负责。 |
|
||||
| **Node.js 22** | 浏览器工具(`agent-browser`)、TUI 的 web 桥接以及 WhatsApp 桥接所必需。 |
|
||||
| **ffmpeg** | TTS / 语音消息的音频格式转换。 |
|
||||
| **ripgrep** | 快速文件搜索——不可用时回退到 `grep`。 |
|
||||
| **npm 包** | `agent-browser`、Playwright Chromium 以及各工具集的 Node 依赖,在首次使用浏览器工具时安装一次。 |
|
||||
|
||||
每个依赖都有类似 `shutil.which(...)` 的检查;如果二进制文件缺失且当前为交互式运行,`dep_ensure` 会提示安装(实际安装逻辑委托给 `scripts\install.ps1 -ensure <dep>`)。非交互式运行(gateway、cron、无头桌面启动)会跳过提示,并直接给出清晰的 `this feature needs <dep>` 错误。
|
||||
|
||||
@ -86,18 +86,18 @@ iex (irm https://raw.githubusercontent.com/NousResearch/hermes-agent/main/script
|
||||
|
||||
除 dashboard 内嵌终端面板外,所有功能均可在 Windows 上原生运行。
|
||||
|
||||
| 功能 | 原生 Windows | WSL2 |
|
||||
|---|---|---|
|
||||
| CLI(`hermes chat`、`hermes setup`、`hermes gateway` 等) | ✓ | ✓ |
|
||||
| 交互式 TUI(`hermes --tui`) | ✓ | ✓ |
|
||||
| 消息 gateway(Telegram、Discord、Slack、WhatsApp,15+ 平台) | ✓ | ✓ |
|
||||
| Cron 调度器 | ✓ | ✓ |
|
||||
| 浏览器工具(通过 Node 驱动 Chromium) | ✓ | ✓ |
|
||||
| MCP 服务器(stdio 和 HTTP) | ✓ | ✓ |
|
||||
| 本地 Ollama / LM Studio / llama-server | ✓ | ✓(通过 WSL 网络) |
|
||||
| Web dashboard(会话、任务、指标、配置) | ✓ | ✓ |
|
||||
| Dashboard `/chat` 内嵌终端面板 | ✗(需要 POSIX PTY) | ✓ |
|
||||
| 登录时自动启动 | ✓(schtasks) | ✓(systemd) |
|
||||
| 功能 | 原生 Windows | WSL2 |
|
||||
| ------------------------------------------------------------ | ------------------- | ------------------ |
|
||||
| CLI(`hermes chat`、`hermes setup`、`hermes gateway` 等) | ✓ | ✓ |
|
||||
| 交互式 TUI(`hermes --tui`) | ✓ | ✓ |
|
||||
| 消息 gateway(Telegram、Discord、Slack、WhatsApp,15+ 平台) | ✓ | ✓ |
|
||||
| Cron 调度器 | ✓ | ✓ |
|
||||
| 浏览器工具(通过 Node 驱动 Chromium) | ✓ | ✓ |
|
||||
| MCP 服务器(stdio 和 HTTP) | ✓ | ✓ |
|
||||
| 本地 Ollama / LM Studio / llama-server | ✓ | ✓(通过 WSL 网络) |
|
||||
| Web dashboard(会话、任务、指标、配置) | ✓ | ✓ |
|
||||
| Dashboard `/chat` 内嵌终端面板 | ✗(需要 POSIX PTY) | ✓ |
|
||||
| 登录时自动启动 | ✓(schtasks) | ✓(systemd) |
|
||||
|
||||
Dashboard 的 `/chat` 标签页通过 POSIX PTY(`ptyprocess`)内嵌了真实终端。原生 Windows 没有等效的原语;Python 的 `pywinpty` / Windows ConPTY 可以实现,但需要单独的实现——视为未来工作。**dashboard 的其余部分均可原生运行**——只有该标签页会显示"请使用 WSL2"的提示横幅。
|
||||
|
||||
@ -140,12 +140,12 @@ Hermes 的 Windows stdio 垫片现在将 `EDITOR=notepad` 设为默认值。Note
|
||||
|
||||
**用户覆盖仍然优先**(在 setdefault 之前检查):
|
||||
|
||||
| 编辑器 | PowerShell 命令 |
|
||||
|---|---|
|
||||
| VS Code | `$env:EDITOR = "code --wait"` |
|
||||
| 编辑器 | PowerShell 命令 |
|
||||
| --------- | ---------------------------------------------------------------------------------- |
|
||||
| VS Code | `$env:EDITOR = "code --wait"` |
|
||||
| Notepad++ | `$env:EDITOR = "'C:\Program Files\Notepad++\notepad++.exe' -multiInst -nosession"` |
|
||||
| Neovim | `$env:EDITOR = "nvim"` |
|
||||
| Helix | `$env:EDITOR = "hx"` |
|
||||
| Neovim | `$env:EDITOR = "nvim"` |
|
||||
| Helix | `$env:EDITOR = "hx"` |
|
||||
|
||||
VS Code 的 `--wait` 标志至关重要——没有它,编辑器会立即返回,Hermes 收到的是空缓冲区。
|
||||
|
||||
@ -200,13 +200,13 @@ hermes gateway uninstall # 移除 schtasks 条目、Startup 快捷方式、pid
|
||||
|
||||
## 数据布局
|
||||
|
||||
| 路径 | 内容 |
|
||||
|---|---|
|
||||
| 路径 | 内容 |
|
||||
| ------------------------------------- | --------------------------------------------------------------- |
|
||||
| `%LOCALAPPDATA%\hermes\hermes-agent\` | Git 检出 + venv。可安全执行 `Remove-Item -Recurse` 后重新安装。 |
|
||||
| `%LOCALAPPDATA%\hermes\git\` | PortableGit(仅在安装程序配置时存在)。 |
|
||||
| `%LOCALAPPDATA%\hermes\node\` | 便携式 Node.js(仅在安装程序配置时存在)。 |
|
||||
| `%LOCALAPPDATA%\hermes\bin\` | `hermes.cmd` 垫片,已添加到用户 PATH。 |
|
||||
| `%USERPROFILE%\.hermes\` | 你的配置、认证、技能、会话、日志。**重装后保留。** |
|
||||
| `%LOCALAPPDATA%\hermes\git\` | PortableGit(仅在安装程序配置时存在)。 |
|
||||
| `%LOCALAPPDATA%\hermes\node\` | 便携式 Node.js(仅在安装程序配置时存在)。 |
|
||||
| `%LOCALAPPDATA%\hermes\bin\` | `hermes.cmd` 垫片,已添加到用户 PATH。 |
|
||||
| `%USERPROFILE%\.hermes\` | 你的配置、认证、技能、会话、日志。**重装后保留。** |
|
||||
|
||||
这种分离是有意为之:`%LOCALAPPDATA%\hermes` 是可丢弃的基础设施(可以删除后用一行命令恢复)。`%USERPROFILE%\.hermes` 是你的数据——配置、记忆、技能、会话历史——其结构与 Linux 安装完全相同。在机器间同步它,你的 Hermes 就随之迁移。
|
||||
|
||||
@ -248,11 +248,11 @@ TELEGRAM_BOT_TOKEN=...
|
||||
|
||||
这些变量仅影响原生 Windows 安装:
|
||||
|
||||
| 变量 | 效果 |
|
||||
|---|---|
|
||||
| `HERMES_GIT_BASH_PATH` | 覆盖 bash.exe 的发现逻辑。可指向任意 bash——完整 Git-for-Windows、通过符号链接的 WSL bash、MSYS2、Cygwin。安装程序会自动设置此变量。 |
|
||||
| `HERMES_DISABLE_WINDOWS_UTF8` | 设为 `1` 可禁用 UTF-8 stdio 垫片,回退到区域设置代码页。用于排查编码 bug。 |
|
||||
| `EDITOR` / `VISUAL` | 用于 `/edit` 和 `Ctrl-X Ctrl-E` 的编辑器。如果两者均未设置,Hermes 默认使用 `notepad`。 |
|
||||
| 变量 | 效果 |
|
||||
| ----------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `HERMES_GIT_BASH_PATH` | 覆盖 bash.exe 的发现逻辑。可指向任意 bash——完整 Git-for-Windows、通过符号链接的 WSL bash、MSYS2、Cygwin。安装程序会自动设置此变量。 |
|
||||
| `HERMES_DISABLE_WINDOWS_UTF8` | 设为 `1` 可禁用 UTF-8 stdio 垫片,回退到区域设置代码页。用于排查编码 bug。 |
|
||||
| `EDITOR` / `VISUAL` | 用于 `/edit` 和 `Ctrl-X Ctrl-E` 的编辑器。如果两者均未设置,Hermes 默认使用 `notepad`。 |
|
||||
|
||||
## 卸载
|
||||
|
||||
@ -322,4 +322,4 @@ UTF-8 stdio 垫片未激活。检查 `HERMES_DISABLE_WINDOWS_UTF8` 是否**未**
|
||||
- **[Windows(WSL2)指南](./windows-wsl-quickstart.md)** — 如果你需要 POSIX 语义或 dashboard 终端面板。
|
||||
- **[CLI 参考](../reference/cli-commands.md)** — 所有 `hermes` 子命令。
|
||||
- **[FAQ](../reference/faq.md)** — 常见的非 Windows 专属问题。
|
||||
- **[消息 Gateway](./messaging/index.md)** — 在 Windows 上运行 Telegram/Discord/Slack。
|
||||
- **[消息 Gateway](./messaging/index.md)** — 在 Windows 上运行 Telegram/Discord/Slack。
|
||||
|
||||
@ -100,7 +100,7 @@ wsl --shutdown
|
||||
打开 WSL2 shell 后执行:
|
||||
|
||||
```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
|
||||
source ~/.bashrc
|
||||
hermes
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user