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.
What makes Hermes different
Each agent keeps its own profile — preferences, project context and environment persist across sessions. No need to re-explain your stack on every task.
When Hermes solves a complex problem it creates a reusable skill document automatically. Agents improve with every task dispatched from CTRL NODE.
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.
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)
Quick start
Step 1 — Install Hermes
One-line install. Requires Python 3.11+ with ACP support.
Step 2 — Run the Bridge
./ctrlnode
No extra env vars needed. The Bridge detects the hermes binary automatically.
.env file
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:
- The Bridge spawns
hermes acpas a subprocess over stdio and establishes an ACP session. - The agent's persistent profile (
~/.hermes/profiles/{agentId}/) is set viaHERMES_HOME— memory and skills from previous tasks are loaded automatically. - If a model is configured for the agent in the UI, the Bridge sets it via ACP before sending the prompt.
- 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.