Marktmannen wiki Agentic OS

Hermes Agent

Laatst bijgewerkt

TL;DR: Open-source persoonlijke AI-assistent op eigen infrastructuur (VPS/Docker) met tientallen meegeleverde skills en bereikbaar via onder meer Telegram, Discord, WhatsApp en Signal.

Hermes Agent is een open-source persoonlijke AI-assistent die draait op je eigen infrastructuur (VPS, Mac Mini, laptop of Docker container) en bereikbaar is via berichtenapps zoals Telegram. Vergelijkbaar met OpenClaw, maar lichter, sneller en gericht op zelfverbetering.

  • Licentie: MIT (open source), van Nous Research
  • GitHub: 252.969 stars (peildatum 12-10-2026), een van de snelst groeiende open-source projecten
  • Interfaces: Telegram, Discord, Slack, WhatsApp, Signal, SMS, e-mail, Teams, LINE, iMessage (via BlueBubbles), CLI
  • Skills: 58 meegeleverde + 155 optionele skills (repo-telling 12-10-2026)
  • Overstappen en draaien: hermes claw migrate voor migratie vanaf OpenClaw; zeven terminal-backends

De vijf pijlers

1. Memory (geheugen)

Twee kernbestanden (MEMORY.md en USER.md in ~/.hermes/memories/) die bij elke sessiestart als frozen snapshot worden geladen:

Bestand Inhoud
user.md Wie je bent, stijl, voorkeuren, dislikes
memory.md Projectomgeving, business context, lopende zaken

Hermes slaat ook alle sessies op in een SQLite-database (state.db, FTS5) voor terugzoeken. Daarnaast zijn externe memory providers aan te sluiten, zoals Honcho. Sla geen geheimen of tijdelijke status op in memory.

2. Skills (vaardigheden)

Procedureel geheugen — herbruikbare playbooks voor terugkerende taken. Werkt als Skills en Plugins in Claude Code: - YAML-frontmatter beschrijft wanneer de skill van toepassing is (progressive disclosure) - Hermes leest de volledige skill pas als hij hem nodig heeft (context-efficiënt) - Hermes maakt automatisch nieuwe skills van herhaalde werkstromen - Skills zijn uitwisselbaar met Claude Code voor de velden van de agentskills.io-spec; de Claude Code-specifieke extensies niet (Codex niet getoetst)

3. Soul (persoonlijkheid)

soul.md geeft de assistent een karakter en toon; het staat als eerste blok in de systeemprompt, los van de memory-cap. Meerdere Hermes-agents kunnen zo elk een andere "vibe" hebben. Evolueert op basis van feedback.

4. Crons (geplande taken)

Hermes verandert van reactief naar proactief via cron-jobs: - Instelbaar in natuurlijke taal: "Elke ochtend om 6:00 doe X" - Elke cron draait als geïsoleerde sessie (erft geen lopende context) - Cron-sessies kunnen standaard zelf geen nieuwe crons aanmaken (veiligheidsregel); aan te zetten met cron: allow_agent_scheduling: true - Voorbeelden: dagelijks AI-nieuwsbriefing, YouTube-reactiemonitoring, nachtelijke GitHub-backup

5. Zelfverbeterende loop

Werk uitvoeren
    → Leer (sla op in memory/skills)
    → Zoek terug in vorige sessies
    → Herhaal — agent wordt beter over tijd

De loop werkt het best als je fouten direct corrigeert en Hermes vraagt om memory/skills te updaten.


Kritische blik: zelf bouwen vs. Hermes overnemen

Volgens Nate Herk ging Hermes in 46 dagen van 0 naar 40.000 GitHub-stars — sneller dan OpenClaw (61 dagen). Maar een kant-en-klaar systeem overnemen heeft drie verborgen kosten:

  1. Je erft aannames die je niet kent — de zelflerende loop heeft geen externe guardrails: hetzelfde model dat een skill schrijft, beoordeelt ook of hij goed is (zelfvalidatie-probleem). Resultaat: het overschrijft stilletjes je eigen verbeteringen, zonder versiebeheer of audit-log.
  2. Je kunt niet repareren wat je niet begrijpt — bij OpenClaw zijn t/m 12-10-2026 722 GitHub security advisories gepubliceerd (alleen in februari al 220), en OpenSourceMalware vond 386 kwaadaardige skill-packages in de marketplace, verspreid over 7 accounts, waarvan 354 van één account.
  3. Het schaalt niet over je business — Hermes is gebouwd voor één persoon/business; meerdere klanten of merken betekent meerdere losse installaties, elk met eigen memory en skills die niet gedeeld worden.

Conclusie: Hermes is sneller om te starten, een zelfgebouwd systeem in Claude Code is sneller om te schalen — omdat je elke laag begrijpt, kunt aanpassen en kunt repareren wanneer iets breekt.

Multi-client/brand architectuur

Hermes' memory.md + user.md gaan uit van één persoon, één business. Voor bureaus of meerdere merken is dat een mismatch — elke klant zou een eigen Hermes-installatie nodig hebben met eigen memory en skills, die niet gedeeld worden.

Een betere aanpak: injecteer per klant een eigen map met gedeelde brand context (voice, ICP, visuele identiteit), maar houd skills/procedures gedeeld over klanten heen. Zo onderhoud je herbruikbare logica op één plek, terwijl elke klant zijn eigen identiteit behoudt. Zie Skill Systems voor het onderliggende principe (één bron van waarheid per concept).

Mem search: voorbij keyword-recall

Hermes' geheugensysteem kent drie niveaus: opslag (elke sessie wordt samengevat), injectie (memory.md en user.md, gecapt op 2.200 + 1.375 tekens, samen ~1.300 tokens; soul.md valt buiten die cap) en recall (terugzoeken in oudere memories).

De zwakte zit in recall: Hermes zoekt op keyword, niet op betekenis. Als je je niet meer herinnert met welke woorden je 6 maanden geleden iets besprak, vind je het niet terug.

Mem search is volgens Simon Scrapes de aanvulling hierop: betekenisgebaseerde (semantische) recall naast de keyword-injectie. De geïnjecteerde recente memory (memory.md) blijft hetzelfde patroon als Hermes, maar wanneer informatie daar niet in staat, zoekt het systeem dieper op betekenis in plaats van exacte woorden. Zie ook Geheugen en Context (laag 4: cross-sessiegeheugen).

Hermes' geheugen zelf nabouwen in Claude Code: storage/injectie/recall

Volgens Simon Scrapes is de reden dat mensen van OpenClaw naar Hermes overstappen, op basis van zijn analyse van 1.300 Reddit-reacties, vooral geheugen (~30% noemt dit expliciet als reden), niet integraties. Elk geheugensysteem — Hermes, Claude Code eigen automemory, of een zelfgebouwd alternatief — laat zich beoordelen op drie vragen:

  1. Storage — wat wordt bewaard en waar?
  2. Injectie — wat laadt automatisch bij sessiestart als kortetermijngeheugen?
  3. Recall — hoe vind je iets terug als je ernaar vraagt, en hoe goed werkt dat?

Simon Scrapes beoordeelt het eigen geheugen van Claude Code als zwak op alle drie. Volgens de docs werkt het anders dan hij schetst: auto memory schrijft notities in vier typen (user, feedback, project, reference) en laadt elke sessie de eerste 200 regels of 25KB van MEMORY.md; "willekeurig" en "injecteert nauwelijks" kloppen dus niet. Dat recall alleen op keyword over de laatste 30 dagen werkt, staat niet in de docs.

De rebuild hieronder is van Simon Scrapes, niet van Hermes zelf; details als de cap van ~2.500 tekens, pgvector en het importcommando zijn zijn keuzes (Hermes' eigen cap is 2.200 + 1.375 tekens).

Wat je van Hermes overneemt volgens Simon Scrapes (concept 1-3): 1. Frozen snapshot bij injectie — een omvangbegrensd memory.md (max ~2.500 tekens) laadt stil mee bij elke sessie, naast soul/profiel/dagmemories. De cap voorkomt context-bloat. 2. Agent beslist zelf wat blijvend is — een hook na elke beurt bepaalt of iets (beslissing, prijswijziging, voorkeur) promotie verdient naar het gecapte kortetermijngeheugen; duplicaten worden vervangen door het meest recente/relevante. Een aparte "memory write"-skill legt de bewaarregels vast en is door de gebruiker aan te passen. 3. Alles vastleggen, niets verliezen — elke beurt genereert een samenvatting mét volledig transcript, ongeacht belang, zodat je altijd naar het exacte gesprek kunt terugvallen.

Wat je toevoegt bovenop Hermes (concept 4-7, Hermes' zwakke recall): 4. Semantisch zoeken i.p.v. alleen keyword (FTS5) — Hermes zoekt via FTS5 op exacte woorden; semantisch zoeken staat alleen als feature request open (het door Simon Scrapes genoemde open issue is niet teruggevonden). De rebuild embedt alles als vectoren (lokale pgvector-setup), zoekt op zowel betekenis als keyword, re-rankt resultaten en expandeert naar het volledige gesprek eromheen. 5. Citeren van de bron — geïnspireerd op Gary Tans (Y Combinator) GBrain: elk teruggehaald feit citeert het exacte transcript, wie het besliste en de datum. Weet het niet zeker, dan zegt het dat — het verzint niets. Cruciaal zodra geheugen gedeeld wordt in een team. 6. Bestaande sessiehistorie importeren — Hermes (en Claude Code zelf) start leeg; maanden aan opgebouwde context blijven onbenut. Eén commando (npm run memory:import-sessions) detecteert alle bronnen (huidige workspace, alle Claude Code-historie), vat samen via Haiku, en embedt alles met volledige transcripten als long-term memory — vanaf dag één doorzoekbaar en citeerbaar. 7. TeamOS: gescheiden geheugen per teamlid/klant — één gedeeld brein waarin elke memory getagd is per eigenaar, en elke query gefilterd op wie ernaar vraagt, zodat een teamlid alleen ziet wat voor hen bedoeld is. Vult het multi-client-gat hierboven (zie "Multi-client/brand architectuur") concreter in dan de eerdere aanbeveling van gedeelde skills/losse context — hier is het dezelfde geheugen-infrastructuur met toegangscontrole, in plaats van losse installaties per klant.

Drie voordelen t.o.v. Hermes overnemen (volgens Simon Scrapes): volledig portable (bestanden in mappen, werkt net zo goed in Claude Code, Cowork of Codex), goedkoop (geen VPS, geen los model, draait op het bestaande abonnement), en volledig eigendom (lokaal, geen extra securityoppervlak).


Hermes vs. Claude Code vs. OpenClaw

Claude Code Hermes / OpenClaw
Primair gebruik Bureauwerk, codering, knowledge work Onderweg, snelle taken, geplande automaties
Interface Terminal, IDE Telegram, WhatsApp, CLI
Context-controle Volledig (slash commands, context window zichtbaar) Beperkt in Telegram (autocompactie minder inzichtelijk)
Crons Routines in de cloud: min. interval 1 uur, max. 100 geplande runs per uur per account; /loop vervalt na 7 dagen Onbeperkt op eigen VPS

Hermes vs. OpenClaw: - Hermes: lichter, sneller, sterke focus op zelfverbetering, beter voor open-source modellen (Qwen, Llama) - OpenClaw: groter team, frequentere updates, 391.749 stars (peildatum 12-10-2026) - Nvidia NemoClaw is een sandbox-referentiestack met OpenClaw als default; die ondersteunt ook Hermes en LangChain


Setup (VPS via Hostinger)

  1. Kies een VPS-plan (KVM 2 aanbevolen om mee te beginnen)
  2. Installeer via one-click Docker of direct op root
  3. Configureer Hermes: kies LLM-provider (bijv. OpenAI Codex/ChatGPT-abonnement)
  4. Verbind met Telegram via BotFather (nieuw bot aanmaken → token kopiëren)
  5. Geef je eigen Telegram user-ID op als toegestane gebruiker

API-sleutels veilig opslaan:

hermes config set GITHUB_TOKEN <token>
# Slaat op in /opt/data/.env, NIET in de chatgeschiedenis

Best practices

  • Beheer-project in Claude Code: houd wachtwoorden, IP-adressen en configuratie bij in een apart Claude Code-project per agent
  • Eigen accounts per agent: geef elke agent een eigen e-mailadres en API-sleutels (principe van least privilege)
  • GitHub-backup: stel een nachtelijke cron in die alle agentbestanden naar een privé-repo pusht
  • Firewall op VPS: vergrendel onnodige poorten; laat Hermes of Claude Code helpen met de configuratie
  • Fouten direct corrigeren: zeg altijd "update de skill" of "sla dit op in memory" bij het geven van feedback
  • Begin met één agent: ga pas schalen als je de basis goed beheerst

Schalen naar meerdere agents

Elk agent in een eigen Docker-container op dezelfde VPS = eigen memory, tools en API-sleutels zonder conflicten. Dat is de keuze van de bron; de Hermes-docs bevelen één container voor alle profielen aan.

Wanneer een nieuw agent aanmaken? - Heeft andere rechten of API-sleutels nodig - Vereist apart langetermijngeheugen - Is bedoeld voor doorlopend, herhaald werk met een eigen publiek

Slechte patroon: één mega-agent met alle keys en alle skills → hoge risico's en debugproblemen.


Verwante concepten

  • OpenClaw — vergelijkbaar alternatief (groter team, andere focus)
  • Agentic OS — het conceptuele kader achter persoonlijke AI-assistenten
  • Geheugen en Context — de lagen van geheugen die ook in Hermes terugkomen
  • Skills en Plugins — skills werken in Hermes en Claude Code op dezelfde manier
  • Claude Code — aanbevolen voor bureauwerk en codering naast Hermes

Bronnen