Hermes Agent Installation

Summary

The installation of the Hermes Agent covers both manual setup (for dev environments and non-Nix systems) and the automated curl-to-bash installer. It requires Python 3.11 (via uv), Node.js v22, and several system utilities. Production deployment on NixOS appliances is handled by the nix-hermes module instead.

Details

Quick Install

The standard installation uses a remote script:

curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash
source ~/.bashrc  # or ~/.zshrc

Manual Install

  1. Clone with submodules: git clone --recurse-submodules from NousResearch/hermes-agent
  2. Create venv: uv venv venv --python 3.11
  3. Install with extras: uv pip install -e ".[messaging,slack,mcp,voice,tts-premium,honcho,cron]"
  4. Symlink binary: ln -s venv/bin/hermes ~/.local/bin/hermes (ensure ~/.local/bin is in PATH)

Prerequisites

  • Git: Required for clone
  • uv: Python package management and version pinning
  • Python 3.11: Managed via uv
  • Node.js v22: WhatsApp bridge and browser automation
  • ripgrep: Workspace file searching
  • ffmpeg: Audio processing and TTS format conversion

Directory Structure

State and configuration live in ~/.hermes/:

  • config.yaml: Main config (from cli-config.yaml.example)
  • .env: Credentials (OPENROUTER_API_KEY, FIRECRAWL_API_KEY, FAL_KEY, etc.)
  • sessions/: Conversation state
  • memories/: Long-term memory
  • skills/: Custom tool definitions
  • logs/: Execution logs
  • whatsapp/session: WhatsApp Web auth persistence

Post-Install Configuration

  • hermes setup: Interactive wizard (model, terminal, gateway, tools, agent)
  • hermes model: Select LLM provider
  • hermes tools: Configure enabled capabilities
  • hermes gateway setup: Connect messaging platforms
  • hermes doctor: Verify installation health
  • hermes config migrate: Update config schema between versions

Platform Support

Linux, macOS, and Windows (WSL2 only — no native Windows support). In the Sokrates project, dev boxes (sokrates-dev/GMKtec) may use manual install, while production (sokrates-box/Beelink EQ14) uses nix-hermes.