Naar de inhoud
NLEN
← Apps-overzicht

Hermes Agent: technische tutorial

Hermes Agent: ReviewInstalleren & instellenNieuws

Stand september 2026, samengesteld uit onze eigen notities en nieuwsarchief; tekst machinaal opgesteld en redactioneel gecontroleerd. Controleer versies en commando's in de officiële documentatie.

Deze tutorial richt Hermes Agent in als serieuze, langlopende agent: modellen en een goedkoop hulpmodel, een afgeschermde terminal-backend, MCP-servers, skills, geplande taken en de messaging-gateway, met de beveiliging die daarbij hoort. Sleutels en commando's zijn gecontroleerd tegen de officiële documentatie van Nous Research (stand september 2026).

Configuratie: config.yaml en .env

Alles staat in ~/.hermes/. Het uitgangspunt: geheimen in .env, al het andere in config.yaml. In config.yaml verwijs je naar een geheim met ${NAAM}.

Handige commando's:

hermes config set KEY VAL    # waarde zetten (HOOFDLETTERS gaan automatisch naar .env)
hermes config get KEY        # de uiteindelijke waarde bekijken
hermes config edit           # config.yaml openen in je editor
hermes config check          # configuratie controleren, vooral na een update

Modellen: hoofdmodel en hulpmodel

Hermes gebruikt een hoofdmodel voor het echte werk en kan voor bijtaken, zoals het samenvatten van lange contexten (compressie), een apart, goedkoper model gebruiken:

model: anthropic/<model-id>
providers:
  anthropic:
    api_key: ${ANTHROPIC_API_KEY}

auxiliary:
  compression:
    model: <goedkoop-model>
    provider: openrouter

Wil je al het verkeer via een eigen OpenAI-compatibel endpoint laten lopen, zoals een lokale server of je eigen LLM-router? Geef dan een base_url op, zoals de documentatie voor de hulpmodellen laat zien:

auxiliary:
  compression:
    model: <alias-bij-je-router>
    base_url: https://router.example.com/v1

hermes model laat je interactief een provider en model kiezen en schrijft de configuratie voor je weg. Dat is minder foutgevoelig dan handwerk.

De terminal-backend: waar commando's draaien

Standaard voert Hermes shellcommando's uit op je eigen machine (local). Voor een agent die veel zelfstandig doet, is een afgeschermde omgeving verstandiger. De beschikbare backends:

Een Docker-opzet waarin alleen je projectmap zichtbaar is:

terminal:
  backend: docker
  docker_image: nousresearch/hermes-sandbox:desktop
  docker_volumes:
    - "/home/jij/projects:/workspace/projects"
  container_memory: 5120        # MB
  container_persistent: true    # container blijft bestaan tussen sessies

Koppel alleen de mappen die de agent echt nodig heeft. Een volume op je thuismap maakt de sandbox zinloos.

Veiligheid en goedkeuring

agent:
  dangerous_command_approval: true   # risicovolle shellcommando's eerst voorleggen
  disabled_toolsets:                 # hele groepen tools uitschakelen
    - web
skills:
  write_approval: true               # wijzigingen aan skills eerst goedkeuren
  guard_agent_created: true          # zelfgemaakte skills scannen op gevaarlijke patronen
memory:
  write_approval: false              # op true: elke geheugenupdate eerst goedkeuren

Met disabled_toolsets haal je complete categorieën weg. Een agent die alleen code hoeft te lezen en te schrijven, heeft bijvoorbeeld geen webtoegang nodig.

MCP-servers

In config.yaml onder mcp_servers. Een lokale server (stdio):

mcp_servers:
  github:
    command: "npx"
    args: ["-y", "@modelcontextprotocol/server-github"]
    env:
      GITHUB_PERSONAL_ACCESS_TOKEN: "${GITHUB_TOKEN}"

Een externe server (HTTP):

mcp_servers:
  docs:
    url: "https://mcp.example.com/mcp"
    headers:
      Authorization: "Bearer ${DOCS_TOKEN}"

Stdio is geschikt voor servers die lokaal draaien; HTTP voor servers die ergens anders gehost worden.

Skills: het procedurele geheugen

Skills staan in ~/.hermes/skills/, elk in een eigen map met een SKILL.md. Ze volgen de open standaard van agentskills.io, zodat je ze ook in andere agents kunt gebruiken. Een minimale skill:

---
name: release-notes
description: Schrijf release notes uit git-log
version: 1.0.0
platforms: [macos, linux]
---
## When to Use
Als er om release notes voor een nieuwe versie wordt gevraagd.

## Procedure
1. Lees `git log` sinds de laatste tag.
2. Groepeer per type: features, fixes, overig.
3. Schrijf beknopte Nederlandse zinnen per wijziging.

## Pitfalls
- Merge-commits niet dubbel opnemen.

## Verification
- Elke genoemde wijziging staat in de git-log.

Geplande taken

Hermes heeft een ingebouwde planner. Je maakt taken op drie manieren aan:

De definities staan in ~/.hermes/cron/jobs.json, de uitvoer per run in ~/.hermes/cron/output/<job_id>/. Met deliver: bepaal je waar het resultaat heen gaat: terug naar waar de taak is aangemaakt, alleen naar lokale bestanden, of naar een chatkanaal.

De messaging-gateway

De gateway maakt je agent bereikbaar via Telegram, Discord, Slack, WhatsApp, Signal, Matrix, Teams en meer.

hermes gateway setup     # interactief platforms instellen
hermes gateway install   # als dienst installeren (systemd op Linux, launchd op macOS)
hermes gateway start

Standaard weigert de gateway iedereen, behalve:

Zet nooit GATEWAY_ALLOW_ALL_USERS=true op een bot met toegang tot een terminal: dan kan iedereen die de bot vindt commando's laten uitvoeren.

Onderhoud

Problemen oplossen

Documentatie: hermes-agent.nousresearch.com/docs.