All providers
PROVIDER GUIDE

Hermes

Nous Research's Hermes is a self-hosted agent with persistent memory and auto-generated skills. The Bridge connects via the ACP protocol — Hermes runs on your machine, learns from every session, and streams output back live.

ACP protocol Persistent memory 300+ models MIT license · Nous Research

What makes Hermes different

Persistent memory

Each agent keeps its own profile — preferences, project context and environment persist across sessions. No need to re-explain your stack on every task.

Auto-generated skills

When Hermes solves a complex problem it creates a reusable skill document automatically. Agents improve with every task dispatched from CTRL NODE.

300+ models

Supports Nous Portal, OpenRouter, custom OpenAI-compatible endpoints and local vLLM. Pick the model per agent in the CTRL NODE UI — no Bridge config change needed.

Zero telemetry

All memory and skills are stored locally in each agent's profile on your machine. Combined with the outbound-only Bridge, nothing leaves your hardware.

Requirements

  • Hermes agent installed and available in PATH. Works on Linux, macOS and WSL2.
  • Hermes configured with your preferred LLM provider (Nous Portal, OpenRouter, local vLLM, or custom endpoint). See hermes-agent.org for setup.
  • CTRL NODE Bridge installed on your machine (GitHub)
Model selection: Set the model per agent from the CTRL NODE UI — the Bridge passes it to Hermes via ACP at dispatch time. No env var needed per model.

Quick start

Step 1 — Install Hermes

One-line install. Requires Python 3.11+ with ACP support.

$pip install "hermes-agent[acp]"

Step 2 — Run the Bridge

$ PAIRING_TOKEN=your-pairing-token \
  ./ctrlnode

No extra env vars needed. The Bridge detects the hermes binary automatically.

.env file

PAIRING_TOKEN=your-pairing-token
# Optional overrides
HERMES_HOME=/custom/hermes/home # global override; per-agent profiles are set automatically
HERMES_TIMEOUT_MINUTES=15
HERMES_USE_ACP=false # force CLI fallback (hermes chat)

Environment variables

Variable Required Description
HERMES_HOME No Global Hermes home override. In normal operation the Bridge sets per-agent profiles automatically — only needed for advanced setups.
HERMES_TIMEOUT_MINUTES No Max execution time per task. Defaults to 15 minutes.
HERMES_USE_ACP No Set to false to force the CLI fallback (hermes chat -Q -q) instead of ACP.

How the Bridge dispatches to Hermes

When CTRL NODE dispatches a task to a Hermes agent:

  1. The Bridge spawns hermes acp as a subprocess over stdio and establishes an ACP session.
  2. The agent's persistent profile (~/.hermes/profiles/{agentId}/) is set via HERMES_HOME — memory and skills from previous tasks are loaded automatically.
  3. If a model is configured for the agent in the UI, the Bridge sets it via ACP before sending the prompt.
  4. Output streams back through the Bridge WebSocket to CTRL NODE in real time. New skills generated during the task are saved to the agent's profile on disk.

If hermes acp is unavailable, the Bridge falls back to hermes chat -Q -q automatically.

Ready to run Hermes tasks remotely?