Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Python and Dependencies

2.2. Python and Dependencies — What Runs Underneath

The core dependency set

Whether installed via script or Docker, Hermes needs: Python 3.11+ (managed via uv for fast, isolated installs), Node.js 22 (for JS components such as the WhatsApp bridge and some npx-based MCP servers), ripgrep (fast code search inside the file tools), and ffmpeg (audio processing for voice messages, TTS/STT).

Installing extra dependencies for the messaging gateway

If you only use the CLI, the default install set is enough. But to fully enable the Telegram/Discord/Slack gateway, you need to install a separate dependency group:

cd ~/.hermes/hermes-agent && uv pip install -e ".[messaging]"

Why this section stands on its own instead of being folded into 2.1

This is the most common source of “installed but not working correctly” errors — for example, a background service (launchd on macOS, systemd on Linux) starts with a minimal PATH that cannot see the Homebrew, nvm, or cargo you installed afterwards, leading to “node not found” errors when running the WhatsApp bridge, or “ffmpeg not found” when processing voice.

Notes

  • If you install system tools (Homebrew, nvm…) after the gateway service is already installed, you must rerun hermes gateway install to capture a fresh PATH snapshot — this is the most easily forgotten step.
  • When you hit a port conflict, check quickly with lsof -i :8080 before guessing at other causes.
  • hermes config show is the fastest way to verify that the configuration is actually being loaded correctly, before going deeper into debugging.