Hermes AI-assistent - Installatie, configuratie, workflow en probleemoplossing
Installatie en quickstart van Hermes Agent voor ontwikkelaars
Hermes Agent is een zelfgehoste, model-onafhankelijke AI-assistent die op een lokale machine of een goedkope VPS draait, werkt via terminal- en messaginginterfaces en in de loop van de tijd verbetert door herhaalde taken om te zetten in herbruikbare vaardigheden.
Het is qua functionaliteit zeer vergelijkbaar met OpenClaw, een andere zelfgehoste assistent-stack die is gebouwd rond tools, geheugen en lokale controle. Veel ontwikkelaars vonden hun weg naar Hermes nadat Anthropic de toegang tot OpenClaw’s Claude-abonnement blokkeerde in april 2026 — de OpenClaw-tijdlijn van opkomst en val legt uit waarom Hermes het natuurlijke bestemming werd voor gebruikers die persistente, zelfgehoste automatisering wilden zonder afhankelijkheid van een provider.
Als je een breder beeld wilt van zelfgehoste assistenten, retrieval en lokale infrastructuur rondom Hermes, dan dit overzicht van AI-systemen verbindt deze onderwerpen met dezelfde problemen die Hermes probeert op te lossen.
Voor afwegingen bij het implementeren en runtime-keuze, biedt LLM Hosting in 2026: Lokaal, Zelfgehost & Cloud Infrastructuur Vergelijk de hostingkaart, terwijl LLM Prestaties in 2026: Benchmarks, Engtepunten & Optimalisatie de doorvoer en latentie behandelt zodra Hermes draait. Voor een compacte kaart van shell-commando’s (hermes gateway, hermes memory, hermes doctor, slash-shortcuts en meer), gebruik de Hermes Agent CLI-cheatsheet. Als je primaire toegangspunt messaging op mobiel is, gebruik dan Hermes Spraakbesturing vanaf je Telefoon voor de spraakstack en platformspecifieke instelling.

Mijn bevooroordeelde mening: Hermes is het meest interessant wanneer het wordt behandeld als infrastructuur, niet als een tab die je af en toe opent. Zodra het als een 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 belangrijk is
Hermes Agent is een open-source AI-agent gebouwd door Nous Research. Het is ontworpen om persistent te draaien, tools te gebruiken (terminal, bestanden, web en meer) en zijn eigen gedrag in de loop van de tijd te verbeteren met een vaardigheden- en geheugensysteem.
Twee ontwerpkeuze zijn het waard om uit te leggen omdat ze alles anders in deze gids bepalen.
Ten eerste is Hermes niet gebonden aan een enkele modelprovider. De officiële installatiestroom ondersteunt meerdere providers en elk OpenAI-compatibel eindpunt, en schakelen gebeurt via het hermes model-commando in plaats van codebewerkingen.
Ten tweede trekt Hermes een harde lijn tussen “conversatie” en “uitvoering”. De agent kan de hele dag praten, maar wanneer het iets moet doen, gebeurt dat via expliciete tools en een configureerbare uitvoeringsbackend. Daar wonen veiligheid, reproduceerbaarheid en probleemoplossing.
Kosten en licentie zijn verfrissend saai. Hermes Agent zelf is gratis software onder de MIT-licentie. Als je gehoste modellen gebruikt, is de lopende kosten wat je provider in rekening brengt. Als je lokale modellen draait, kun je API-kosten volledig vermijden.
Als je Hermes-instelling Claude gebruikt via externe tooling-lagen, is deze Anthropic-abonnementswijziging een nuttige referentie over waarom API-gebaseerde facturatie nu de verwachte route is.
Hermes Agent installeren
Hermes heeft een snelle installatieroute voor Linux, macOS en WSL2. De officiële documentatie houdt het bewust simpel.
Hermes installatie op Linux
sudo apt-get update
sudo apt-get upgrade
sudo apt-get curl git
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 slechts een dunne wrapper. Volgens de installatiegids stelt het afhankelijkheden in, de repo, een virtuele omgeving en het hermes-commando, en brengt het je naar een eerste chat-geredieerde staat.
Opmerkingen voor Windows en Android
Native Windows wordt niet ondersteund. De documentatie beveelt WSL2 aan en het draaien van Hermes daarbinnen.
Voor Android ondersteunt Hermes een Termux-installatieroute. Het is ontworpen om Termux te detecteren en zijn afhankelijkheids- en omgevinginstelling 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 biedt drie complementaire ingangspunten:
hermes modelom een provider en standaardmodel te kiezenhermes toolsom toolsets in- of uit te schakelenhermes setupom een interactieve wizard te draaien door de belangrijkste configuratiegebieden heen
Een minimale stroom ziet er zo uit:
hermes model
hermes tools
hermes
In termen van wat eigenlijk wordt ondersteund, noemt de officiële Quickstart een reeks providers en benadrukt ook dat Hermes werkt met OpenAI-compatibele API’s. Dat is belangrijk omdat het zowel gehoste services als zelfgehoste eindpunten omvat.
Bewijs tooluitvoering vroeg
Voordat je gewoonten bouwt rond Hermes, is het de moeite waard om te verifiëren dat toolgebruik werkt in je omgeving. De Quickstart stelt expliciet terminalgebruik voor als eerste feature om te proberen.
In de praktijk doet een kleine “smoke test”-prompt twee taken: het controleert de terminaltool en het valideert machtigingsprompts.
Voorbeeldprompt:
Toon mijn schijfgebruik en de vijf grootste directories.
Als Hermes de terminaltool niet kan uitvoeren, spring dan vooruit naar Probleemoplossing. Terminal-backend misconfiguratie is een van de meest voorkomende oorzaken, en de oplossing is meestal duidelijk zodra je naar de config kijkt.
Configuratie die schaleert
Hermes beloont mensen die begrijpen waar het staat opslaat en hoe het configuratie oplost. Dit is ook waar veel “het werkte gisteren”-problemen vandaan komen.
Waar configuratie en staat wonen
Hermes bewaart zijn instellingen en staat 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 geheugens, vaardigheden, cron, sessies en logs.
Dit is om twee redenen belangrijk.
- Debuggen wordt mechanisch omdat je precies weet waar je moet kijken.
- Back-ups worden eenvoudig omdat één directory het meeste agent-state vangt dat je belangrijk vindt.
Config-precedentie en geheimen buiten config.yaml houden
Hermes lost configuratie op met een precedentiële volgorde. Aan de top staan CLI-overrides, dan config.yaml, dan .env, met ingebouwde standaarden aan de onderkant.
Het 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 omgevingsvariabelsubstitutie binnen config.yaml via de ${VAR_NAME}-syntax. Dit is handig wanneer je bepaalde waarden in de omgeving wilt houden terwijl je ze nog steeds in gestructureerde config referentieert.
Sandbox en uitvoeringsbackends
Hermes ondersteunt meerdere terminalbackends die definiëren waar shell-commando’s eigenlijk draaien. De configgids noemt local, docker, ssh, modal, daytona en singularity.
De meningvol maar niet-evangelische manier om hierover na te denken is:
localis het snelst en eenvoudigst, maar het is niet geïsoleerddockeris een pragmatische veiligheids- en reproduceerbaarheidslaagsshis een schone manier om je chatapparaat te scheiden van je computerboxmodalendaytonapassen bij “serverless maar persistent genoeg” workflowssingularityis de HPC-vriendelijke optie
Een minimaal Docker-backendvoorbeeld:
# ~/.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 security hardening voor de Docker-backend, zoals het weghalen van capabilities en het uitschakelen van privilege escalation.
Vaardigheden, geheugen en profielen
Hermes heeft twee gerelateerde mechanismen voor het opstapelen van waarde.
Vaardigheden zijn procedureel geheugen. Hermes kan zijn eigen vaardigheden maken, bijwerken 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 diepere recall. De geheugendocs noemen meerdere providerplugins, en de geheugenprovidersgids documenteert een interactieve instellingstroom. Voor een volledige technische uitleg van hoe de geheugenarchitectuur werkt — bevroren snapshots, karakterlimieten, de acht externe providers en de filosofie achter gebonden geheugen — zie Hermes Agent Geheugensysteem: Hoe Persistent AI-Geheugen Echt Werkt.
Als je meerdere onafhankelijke agents op dezelfde machine wilt, bieden Hermes-profielen isolatie. Elk profiel krijgt zijn eigen directory met zijn eigen config, geheimen, geheugens, sessies, vaardigheden, cronjobs en gateway-state.
Voor een diepere blik op welke vaardigheden goed werken in productie per rol — engineers, onderzoekers, operators en executive workflows — zie Hermes AI-Assistent Vaardigheden voor Echte Productie-instellingen. Wanneer je klaar bent om SKILL.md-bestanden zelf te authoren of te debuggen — YAML-metadata, niveaus van progressieve openbaarmaking, conditionele zichtbaarheid en hub-instellingen — gebruik dan Hermes Agent Vaardigheid Authoring — SKILL.md Structuur en Best Practices.
Typische workflow
Als je Hermes behandelt als een agent die je zal behouden, begint de workflow eruit te zien als service-engineering.
Een stabiele basislijn
Een basislijn die neigt om niet te rotten is:
- Installeer en draai een eerste chat in de CLI.
- Kies een provider en model met
hermes model, en bevestig dan de kosten. - Configureer toolsets en beslis of terminaluitvoering lokaal of sandboxed is.
- Maak een snelle wijziging in
SOUL.mdpas nadat je de default een tijdje hebt gebruikt. Identiteitswijzigingen zijn belangrijker dan mensen verwachten omdat het “slot 1” is in de system prompt.
Dagelijks gebruik dat opstapelt
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 gestreamde tooloutput.
In de praktijk is een nuttige cadens:
- draai werk in een benoemde sessie voor een project
- comprimeer context wanneer het te groot wordt
- laat Hermes herhaalde routines omzetten in vaardigheden
- behoud een mentale grens tussen “vragen” en “doen” zodat tooluitvoering auditabel blijft
Messaging gateway voor 24/7 toegang
De messaging gateway is het stuk dat Hermes voelt als een assistent in plaats van een terminalapp. De documentatie beschrijft het als een enkel proces dat verbinding maakt met meerdere platforms, sessies afhandelt, cronjobs draait en berichten levert.
Instelling wordt aangeroepen via hermes gateway setup, en de gateway kan in de foreground draaien of als een userservice. De CLI-referentie documenteert gateway-subcommando’s zoals run, install, start, stop, status en restart.
Voor multi-agent backlogs en gecontroleerde planning, zie Kanban in Hermes Agent voor Zelfgehoste LLM Workflows, die dispatcher-limieten, afhankelijkheidsketens en cron-gebaseerde batching behandelt.
Veiligheid voor een tool-gebruikende bot is belangrijk. De gatewaydocs beschrijven allowlists voor specifieke platforms en een DM-pairingstroom die one-time pairingcodes uitgeeft en goedkeuring vereist via hermes pairing approve.
Updates zonder drama
Hermes-updates zijn een first-class commando. De updategids documenteert hermes update, config-migratiechecks 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 zien er mysterieus uit 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 kernlus:
hermes doctorvoor interactieve diagnostiekhermes statusvoor een snel overzichthermes dumpvoor een deelbare, geredigeerde setupsamenvatting
Voor logs, hermes logs tails bestanden die onder ~/.hermes/logs zijn opgeslagen.
hermes doctor --fix
hermes status
hermes dump --show-keys
hermes logs errors -f
Veelvoorkomende installatiefalen
De FAQ en probleemoplossingsgids noemt verschillende terugkerende problemen en hun oplossingen, inclusief Python-versieproblemen, uv niet gevonden, en machtigingsproblemen veroorzaakt door het mengen van sudo-instellingen met gebruikersinstellingen.
Als je deze fouten tegenkomt, bieden de documentatie specifieke herstelstappen zoals het upgraden van Python, het installeren van uv, en het opnieuw installeren van Hermes zonder sudo.
Provider- en modelproblemen
Wanneer API-sleutels niet werken, beveelt de FAQ aan om de configuratie te controleren, hermes model opnieuw te draaien, of een sleutel direct in te stellen via hermes config set. Het noemt ook een veelvoorkomende valkuil: sleutels zijn providerspecifiek.
Voor “model niet gevonden”-problemen, wijst de FAQ terug naar het gebruik van hermes model om een geldige identifier te kiezen en toont zowel config- als per-sessie overrides.
Rate limiting en contextlengteproblemen worden ook behandeld. De FAQ stelt voor om te wachten op 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 " veelvoorkomende terminal-backendproblemen" sectie en wijst naar de typische oorzaken per backend, inclusief Docker niet draaien en ontbrekende SSH-variabelen. Het merkt ook op dat terugvallen naar lokaal een geldige debugstap is wanneer sandbox-configuratie in vraag staat.
Voor gatewayproblemen, benadrukt de messaginggids allowlists en pairing als de veilige defaults, wat betekent dat veel “bot is stil” incidenten eigenlijk autorisatie zijn die zijn werk doet.