Hermes AI-assistent: installatie, configuratie, werkwijze en probleemoplossing

Installatie en snelstart voor ontwikkelaars van de Hermes Agent

Inhoud

Hermes Agent is een zelfgehoste, model-onafhankelijke AI-assistent die lokaal op een machine of een goedkope VPS draait, werkt via terminal- en messaging-interfaces en in de loop der tijd verbetert door herhaalde taken om te zetten in herbruikbare vaardigheden.

Het is qua functionaliteit zeer vergelijkbaar met OpenClaw, een andere zelfgehoste assistent-stack gebouwd rondom tools, geheugen en lokale controle.

Als je het bredere beeld wilt van zelfgehoste assistenten, retrieval en lokale infrastructuur rondom Hermes, dan verbindt dit overzicht van AI-systemen die onderwerpen aan dezelfde problemen die Hermes probeert op te lossen.

Voor trade-offs bij implementatie en runtime-keuzes, biedt LLM Hosting in 2026: Lokaal, Zelfgehost & Cloud Infrastructuur vergeleken de hosting-kaart, terwijl LLM Prestaties in 2026: Benchmarks, Flessenhalsen & Optimalisatie de kant van throughput en latentie behandelt zodra Hermes draait.

peronal-ai-assistant on laptop

Mijn bevooroordeelde mening: Hermes is het meest interessant wanneer het als infrastructuur wordt behandeld, niet als een tabblad dat je af en toe opent. Zodra het als service draait en een stabiele home-directory heeft, beginnen je prompts er minder uitzien als “chat” en meer als “ops”.

Wat Hermes Agent is en waarom het ertoe doet

Hermes Agent is een open-source AI-agent ontwikkeld door Nous Research. Het is ontworpen om persistent te draaien, tools te gebruiken (terminal, bestanden, web, enz.) en zijn eigen gedrag in de tijd te verbeteren met een systeem voor vaardigheden en geheugen.

Twee ontwerpkeuzes verdienen het om uit te worden geschreven, omdat ze alles else in deze gids bepalen.

Ten eerste is Hermes niet gekoppeld aan één enkele modelprovider. De officiële setup-flow ondersteunt meerdere providers en elk OpenAI-compatibel eindpunt, en het wisselen gebeurt via de hermes model command in plaats van code-aanpassingen.

Ten tweede trekt Hermes een harde lijn tussen “gesprek” en “executie”. De agent kan de hele dag praten, maar als het nodig is om te handelen, doet het dit via expliciete tools en een configureerbare uitvoeringsbackend. Dat is waar veiligheid, reproduceerbaarheid en probleemoplossing leven.

Kosten en licentie zijn verfrissend saai. Hermes Agent zelf is gratis software onder de MIT-licentie. Als je gehoste modellen gebruikt, zijn de lopende kosten wat je provider in rekening brengt. Als je lokale modellen draait, kun je API-gebruikskosten volledig vermijden.

Als je Hermes-setup Claude gebruikt via externe tooling-laag, is deze Anthropic-abonnementswijziging een nuttige referentie over waarom API-gebaseerde facturatie nu het verwachte pad is.

Hermes Agent installeren

Hermes heeft een snelle installatiepad voor Linux, macOS en WSL2. De officiële documentatie houdt het opzettelijk simpel.

Eén-lijn installatie

curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash

Na installatie, herlaad je shell en start de CLI.

source ~/.bashrc   # of source ~/.zshrc
hermes

De installer is niet alleen een dunne wrapper. Volgens de installatiegids installeert het afhankelijkheden, de repo, een virtuele omgeving en het hermes-commando, en brengt het je naar een eerste chat-klaar status.

Opmerkingen voor Windows en Android

Native Windows wordt niet ondersteund. De documentatie beveelt WSL2 aan en het draaien van Hermes daarin.

Voor Android ondersteunt Hermes een Termux-installatiepad. Het is ontworpen om Termux te detecteren en de afhankelijkheden en omgevingsoverleg dienovereenkomstig aan te passen.

Quickstart

De snelste eerste run is letterlijk gewoon hermes, maar een zinvolle quickstart betekent twee extra beslissingen: welke modelprovider te gebruiken en welke tools ingeschakeld moeten worden.

Kies een provider en model

Hermes exposeert drie complementaire toegangspunten:

  • hermes model om een provider en standaardmodel te kiezen
  • hermes tools om toolsets in- of uit te schakelen
  • hermes setup om een interactieve wizard te draaien over belangrijke configuratiegebieden

Een minimale flow ziet er zo uit:

hermes model
hermes tools
hermes

In termen van wat daadwerkelijk wordt ondersteund, lijst de officiële Quickstart een reeks providers op en wijst er ook op dat Hermes werkt met OpenAI-compatibele API’s. Dat maakt uit omdat het zowel gehoste diensten als zelfgehoste eindpunten omvat.

Bewijs tool-uitvoering vroeg

Voordat je gewoonten rondom Hermes opbouwt, is het de moeite waard om te verifiëren dat toolgebruik werkt in je omgeving. De Quickstart stelt expliciet terminalgebruik voor als eerste functie om te proberen.

In de praktijk doet een kleine “smoke test” prompt twee taken: het controleert het terminaltool en valideert machtigingsprompts.

Voorbeeld prompt:

Toon mijn schijfgebruik en de vijf grootste mappen.

Als Hermes het terminaltool niet kan uitvoeren, sla dan vooruit naar Probleemoplossing. Terminal-backend misconfiguratie is een van de meest voorkomende oorzaken, en de oplossing is meestal duidelijk zodra je naar de configuratie kijkt.

Configuratie die schaalbaar is

Hermes belooft mensen die begrijpen waar het staat en hoe het configuratie oplost. Dit is ook waar veel “het werkte gisteren” problemen vandaan komen.

Waar configuratie en staat leven

Hermes slaat zijn instellingen en staat op onder ~/.hermes. De officiële configuratiegids documenteert de lay-out, inclusief config.yaml voor instellingen, .env voor geheimen, auth.json voor OAuth-gegevens, SOUL.md voor identiteit, en mappen voor geheugen, vaardigheden, cron, sessies en logs.

Dit maakt uit om twee redenen.

  • Problemen oplossen wordt mechanisch omdat je precies weet waar je moet kijken.
  • Back-ups worden eenvoudig omdat één map de meeste agent-statussen bevat die je belangrijk vindt.

Configuratie prioriteit en geheimen buiten config.yaml houden

Hermes lost configuratie op met een prioriteitsvolgorde. Bovenaan staan CLI-overrides, dan config.yaml, dan .env, met ingebouwde default instellingen onderaan.

De leuke detail is dat hermes config set waarden naar het juiste bestand stuurt: API-sleutels naar .env en niet-geheime instellingen naar config.yaml.

hermes config set model openrouter/meta-llama/llama-3.1-70b-instruct
hermes config set terminal.backend docker
hermes config set OPENROUTER_API_KEY sk-or-v1-xxxxxxxx

Hermes ondersteunt ook omgevingsvariabele substitutie binnen config.yaml via ${VAR_NAME} syntax. Dit is nuttig als je bepaalde waarden in de omgeving wilt houden terwijl je ze nog steeds in gestructureerde configuratie refereert.

Sandbox en uitvoeringsbackends

Hermes ondersteunt meerdere terminalbackends die definiëren waar shell-commando’s daadwerkelijk worden uitgevoerd. De config gids lijst local, docker, ssh, modal, daytona en singularity op.

De mening maar niet evangelistische manier om hierover na te denken is:

  • local is het snelst en simpelst, maar het is niet geïsoleerd
  • docker is een pragmatische veiligheid en reproduceerbaarheidslaag
  • ssh is een schone manier om je chat-apparaat te scheiden van je compute-box
  • modal en daytona passen “serverless maar persistent genoeg” workflows
  • singularity is de HPC-vriendelijke optie

Een minimaal Docker-backend voorbeeld:

# ~/.hermes/config.yaml
terminal:
  backend: docker
  docker_image: "nikolaik/python-nodejs:python3.11-nodejs20"
  docker_volumes:
    - "/home/user/projects:/workspace/projects"
  docker_forward_env:
    - "GITHUB_TOKEN"

De documentatie beschrijft ook beveiligingsversterking voor de Docker-backend, zoals het verwijderen van capaciteiten en het uitschakelen van privilege-escalatie.

Vaardigheden, geheugen en profielen

Hermes heeft twee gerelateerde mechanismen voor het opbouwen van waarde.

Vaardigheden zijn procedureel geheugen. Hermes kan zijn eigen vaardigheden maken, updaten en verwijderen en kan voorstellen om een aanpak op te slaan als vaardigheid na het voltooien van een complexe taak.

Ingebouwd geheugen wordt opgeslagen als bestanden zoals MEMORY.md en USER.md onder ~/.hermes, en Hermes kan ook externe geheugenproviders gebruiken voor dieper herinneren. De geheugendocumentatie lijst meerdere provider-plugins op, en de geheugenproviders gids documenteert een interactieve setup-flow.

Als je meerdere onafhankelijke agents op dezelfde machine wilt, bieden Hermes-profielen isolatie. Elk profiel krijgt zijn eigen map met zijn eigen configuratie, geheimen, geheugens, sessies, vaardigheden, cron-jobs en gateway-status.

Voor een dieper kijk op welke vaardigheden goed werken in productie per rol — ingenieurs, onderzoekers, operators en executive workflows — zie Hermes AI Assistant Skills for Real Production Setups.

Typische workflow

Als je Hermes behandelt als een agent die je blijft behouden, begint de workflow eruit te zien als service-engineering.

Een stabiele baseline

Een baseline die neigt om niet te rotten is:

  1. Installeer en voer een eerste chat uit in de CLI.
  2. Kies een provider en model met hermes model, bevestig dan de kosten.
  3. Configureer toolsets en beslis of terminal-uitvoering lokaal of gesandbox is.
  4. Maak een snelle wijziging in SOUL.md pas nadat je de default een tijdje hebt gebruikt. Identiteitsveranderingen tellen meer dan mensen verwachten omdat het “slot 1” is in de systeem-prompt.

Dagelijks gebruik dat zich opbouwt

Hermes heeft een terminal-UI in plaats van een web-UI, en het is ontworpen voor lange sessies met slash-commando’s, hervatbare sessies en gestroomde tool-output.

In de praktijk is een nuttig ritme:

  • werk in een genummerde sessie voor een project
  • compresseer context als het te groot wordt
  • laat Hermes herhaalde routines omzetten in vaardigheden
  • houd een mentale grens tussen “vragen” en “handelen” zodat tool-uitvoering auditbaar blijft

Messaging gateway voor 24/7 toegang

De messaging gateway is het stuk dat Hermes voelbaar maakt als een assistent in plaats van een terminal-app. De documentatie beschrijft het als één proces dat verbindt met meerdere platforms, sessies behandelt, cron-jobs uitvoert en berichten levert.

Setup wordt aangeroepen via hermes gateway setup, en de gateway kan in de voorgrond of als een userservice draaien. De CLI-referentie documenteert gateway-subcommando’s zoals run, install, start, stop, status en restart.

Beveiliging voor een tool-gebruikende bot is belangrijk. De gateway-documentatie beschrijft allowlists voor specifieke platforms en een DM-pairing-flow die eenmalige pairing-codes uitgeeft en goedkeuring vereist via hermes pairing approve.

Updates zonder drama

Hermes-updates zijn een eerste-klas commando. De updategids documenteert hermes update, config-migratiecontroles en een kleine post-update validatieroutine inclusief hermes doctor en hermes gateway status.

hermes update
hermes doctor
hermes gateway status

Probleemoplossing en diagnostiek

De meeste Hermes-falen zijn niet mysterieus. Ze lijken mysterieus omdat mensen alleen de model-laag controleren en de runtime-laag negeren.

Snelle triage-commando’s

De CLI-referentie positioneert expliciet drie commando’s als de kernloop:

  • hermes doctor voor interactieve diagnostiek
  • hermes status voor een snel overzicht
  • hermes dump voor een deelbare, gecensureerde setup-samenvatting

Voor logs, hermes logs staart bestanden opgeslagen onder ~/.hermes/logs.

hermes doctor --fix
hermes status
hermes dump --show-keys
hermes logs errors -f

Veelvoorkomende installatiefalen

De FAQ en probleemoplossingsgids lijst verschillende terugkerende problemen en hun oplossingen op, inclusief Python-versieproblemen, uv niet gevonden, en machtigingsproblemen veroorzaakt door het mengen van sudo-installs met user-installs.

Als je deze fouten tegenkomt, bieden de documenten specifieke herstelstappen zoals Python upgraden, uv installeren en Hermes opnieuw installeren zonder sudo.

Provider en modelproblemen

Wanneer API-sleutels niet werken, beveelt de FAQ aan om configuratie te controleren, hermes model opnieuw te draaien, of een sleutel direct in te stellen via hermes config set. Het wijst ook op een veelgemaakte valstrik: sleutels zijn provider-specifiek.

Voor “model niet gevonden” problemen, verwijst de FAQ terug naar het gebruik van hermes model om een geldige identifier te kiezen en toont zowel config als per-sessie-overschrijvingen.

Rate-limiting en context-lengteproblemen worden ook behandeld. De FAQ suggereert om te wachten voor 429-fouten, van provider of model te wisselen, en contextdruk te verminderen via compressie of een nieuwe sessie.

Terminal-backend en gatewayproblemen

Als terminalcommando’s direct falen, bevat de configuratiegids een sectie “veelvoorkomende terminal-backend problemen” en wijst naar de typische oorzaken per backend, inclusief Docker niet draaien en ontbrekende SSH-variabelen. Het merkt ook op dat terugvallen naar local een geldige debug-stap is wanneer sandbox-configuratie in vraag staat.

Voor gateway-problemen, benadrukt de messaging-gids allowlists en pairing als de veilige defaults, wat betekent dat veel “bot is stil” incidenten eigenlijk autorisatie zijn die zijn werk doet.

Referenties

Abonneren

Ontvang nieuwe berichten over systemen, infrastructuur en AI-engineering.