Hermes Agent zelf hosten op een VPS
Zet Hermes Agent van Nous Research op je eigen VPS. Maak een afgeschermde gebruiker, installeer met een commando, kies je LLM-provider, koppel Telegram en draai het als service.
Hermes Agent is een project dat snel beweegt. Sinds de lancering in februari 2026 heeft Nous Research negen releases in zeven weken uitgebracht. v0.9.0 verscheen op 13 april en is een heel ander beest: een lokaal webdashboard voor het beheren van instellingen en sessies vanuit je browser, 16 berichtenplatforms (waaronder iMessage en WeChat), native Android/Termux-ondersteuning, ingebouwde backup- en importcommando's, een fast mode voor lage-latentie inferentie en een uitbreidbare context-engine. Het project ging van ‘interessant experiment’ naar ‘productieklare persoonlijke agent’ in minder dan twee maanden.
Lokaal draaien werkt voor snelle experimenten. Maar een agent die slaapt als je je laptop dichtklapt, die je alleen vanaf je toetsenbord bereikt en die zijn werkruimte vergeet na een herstart is niet erg nuttig op de lange termijn. Een VPS lost alle drie op: de agent blijft 24/7 online, je bereikt hem via elk van die 16 platforms op je telefoon en zijn geheugen en vaardigheden blijven bewaard tussen sessies.
De setup is eenvoudig. Draai een VM op, maak een niet-root gebruiker aan voor isolatie, installeer Hermes, kies je model en gateway en verpak alles in een systemd-service. Dat is de hele procedure.
AI-agents zelf hosten op een VPS
Waarom nu zelf hosten? De les van vendor lock-in
Op 4 april 2026 heeft Anthropic externe AI-agents de toegang tot Claude Pro- en Max-abonnementen ontzegd. Tot die dag lieten tools zoals OpenClaw je zware agentworkloads draaien voor een vast maandelijks bedrag. Van de ene op de andere dag kregen die gebruikers een 400-fout en een migratiemelding. De overgebleven opties: overstappen naar per-token API-facturering (mogelijk 10 keer zo duur voor intensieve gebruikers), enterprise-gebruikspakketten kopen, of overgaan op Anthropics eigen Claude Code Channels, een eerstepartij-concurrent van OpenClaw die dezelfde maand lanceerde.
Het patroon is duidelijk. Bouw je workflow op het platform van een enkele leverancier, en een beleidswijziging kan alles breken. Zelf gehoste agents zoals Hermes ontwijken die val volledig. Hermes is provider-onafhankelijk: het ondersteunt meer dan 15 inference-backends out of the box, van OpenRouter tot Nous Portal tot een lokale Ollama-server. Als een provider zijn voorwaarden of prijzen wijzigt, wissel je hem met een commando en werk je gewoon door. Je herinneringen, vaardigheden en sessies blijven op je server, ongeacht welk LLM erachter zit.
Wat is Hermes Agent en waarom zelf hosten?
Hermes Agent is een open-source (MIT-licentie) AI-agent gebouwd door Nous Research. Het verbindt met LLM-providers, voert terminalopdrachten uit, browst het web en onthoudt wat het leert tussen sessies. Het bouwt herbruikbare vaardigheden uit voltooide taken en ondersteunt 16 berichtengateways: Telegram, Discord, Slack, WhatsApp, Signal, Matrix, iMessage, WeChat, WeCom, Email, SMS, DingTalk, Feishu, Mattermost, Home Assistant en Webhooks.
Zelf hosten betekent dat je prompts en data op je eigen server blijven. Geen extern agentplatform ziet je gesprekken. De agent draait continu, bouwt context op over tijd en kost alleen VPS-hosting plus de LLM API-calls die je maakt.
Wat heeft Hermes Agent nodig om op een VPS te draaien?
Een Linux-server met Git geïnstalleerd. Dat is de enige voorvereiste. De installer haalt automatisch Python 3.11+, Node.js v22, ripgrep en ffmpeg binnen. Qua hardware: 2 GB RAM en 10 GB schijfruimte is het minimum. 4 GB RAM is beter als je meerdere gateway-sessies wilt draaien of het webdashboard naast de agent wilt gebruiken.
| Vereiste | Minimum | Aanbevolen |
|---|---|---|
| OS | Ubuntu 22.04 / Debian 12 | Ubuntu 24.04 |
| RAM | 2 GB | 4 GB+ |
| Schijf | 10 GB vrij | 20 GB+ |
| CPU | 1 vCPU | 2+ vCPU |
Voorvereisten
Voordat je Hermes Agent installeert, maak een niet-root gebruiker aan en stel een basisfirewall in. Als je al een beveiligde VPS hebt, ga door naar de installatiesectie.
Maak een dedicated gebruiker aan
SSH naar je server als root en maak een gebruiker aan voor Hermes:
adduser hermes --disabled-password --gecos ""
usermod -aG sudo hermes
Geef deze gebruiker sudo zonder wachtwoord (nodig voor servicebeheer):
echo "hermes ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/hermes
chmod 440 /etc/sudoers.d/hermes
Kopieer je SSH-sleutel zodat je als deze gebruiker kunt inloggen:
mkdir -p /home/hermes/.ssh
cp ~/.ssh/authorized_keys /home/hermes/.ssh/
chown -R hermes:hermes /home/hermes/.ssh
chmod 700 /home/hermes/.ssh
chmod 600 /home/hermes/.ssh/authorized_keys
Werk vanaf nu als de hermes-gebruiker:
su - hermes
Configureer de firewall
Installeer UFW en sta alleen SSH toe:
sudo apt-get install -y ufw
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow ssh
sudo ufw --force enable
Controleer de actieve regels:
sudo ufw status verbose
De output zou SSH als toegestaan moeten tonen en al het andere inkomende verkeer als geweigerd. De Hermes-gateway maakt uitgaande verbindingen naar de Telegram-API, dus er hoeven geen inkomende poorten geopend te worden voor berichten.
Hoe installeer ik Hermes Agent op Ubuntu?
Eén commando. Voer het uit als de hermes-gebruiker, niet als root.
Installatie met één commando
Virtua.Cloud onderhoudt een kant-en-klaar installatiescript dat Hermes Agent instelt met systemd-persistentie in één keer:
curl -fsSL https://virtua.sh/i/hermes-ssh | bash
Het script regelt alles wat in de volgende secties wordt behandeld: Hermes installeren en de systemd-service aanmaken. Ga daarna direct door naar de LLM-provider configureren.
Handmatige installatie
Als je liever stap voor stap installeert, download het upstream installerscript en bekijk het voordat je het uitvoert:
curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh -o /tmp/hermes-install.sh
less /tmp/hermes-install.sh
Het script installeert Python 3.11+ via uv, Node.js v22, ripgrep, ffmpeg en de hermes CLI. Als je tevreden bent:
bash /tmp/hermes-install.sh
Herlaad je shell om het nieuwe hermes-commando beschikbaar te maken:
source ~/.bashrc
Controleer de geïnstalleerde versie:
hermes --version
Verwachte output:
Hermes Agent v0.9.0 (2026.4.13)
Project: /home/hermes/.hermes/hermes-agent
Python: 3.11.15
...
Voer de diagnostische tool uit om ontbrekende dependencies te controleren:
hermes doctor
Let op groene vinkjes. Waarschuwingen over niet-geconfigureerde API-sleutels zijn op dit punt normaal. Rode items over Python of Git moeten opgelost worden voordat je verdergaat.
Hoe configureer ik de LLM-provider?
Hermes Agent bevat geen model. Je koppelt het aan een provider-API en betaalt per token. De snelste manier om alles in te stellen is de setup-wizard:
hermes setup
Deze wizard leidt je door het kiezen van een provider, het invoeren van je API-sleutel, het inschakelen van tools en het configureren van je gateway in één interactieve sessie. Wil je elk onderdeel handmatig configureren, lees dan verder. Je kunt ook op elk moment van provider wisselen met hermes model.
Optie 1: OpenRouter (aanbevolen om te starten)
Maak een account aan op openrouter.ai en genereer een API-sleutel.
De installer heeft ~/.hermes/.env aangemaakt met een volledig template. Beperk eerst de permissies:
chmod 600 ~/.hermes/.env
Open het bestand en vul je API-sleutel in op de OPENROUTER_API_KEY=-regel:
nano ~/.hermes/.env
Zoek de regel OPENROUTER_API_KEY= en voeg je sleutel toe na het =-teken. Sla op en sluit af (Ctrl+X, dan Y, dan Enter).
Stel het standaardmodel in:
hermes config set model.provider openrouter
hermes config set model.default anthropic/claude-sonnet-4
Controleer dat het bestand niet leesbaar is voor andere gebruikers:
ls -la ~/.hermes/.env
De permissies moeten -rw------- (600) tonen. Alleen de hermes-gebruiker kan dit bestand lezen.
Optie 2: Nous Portal
Nous Research draait een eigen inference-portal met meer dan 400 modellen. Als je binnen het Nous-ecosysteem wilt blijven:
hermes config set model.provider nous
Het hermes model-commando begeleidt je door de authenticatie.
Optie 3: Eigen OpenAI-compatibel endpoint
Als je een eigen inferenceserver draait (Ollama, vLLM, llama.cpp) of een andere provider gebruikt:
echo 'OPENAI_BASE_URL=http://localhost:11434/v1' >> ~/.hermes/.env
echo 'OPENAI_API_KEY=ollama' >> ~/.hermes/.env
echo 'LLM_MODEL=llama3.1:70b' >> ~/.hermes/.env
LLM-providervergelijking
| Provider | Env-variabele | Prijsmodel | Opmerkingen |
|---|---|---|---|
| OpenRouter | OPENROUTER_API_KEY |
Per token, varieert per model (zie prijzen) | 200+ modellen, enkele sleutel |
| Nous Portal | via hermes model |
Per token (zie prijzen) | 400+ modellen, native integratie |
| Anthropic | ANTHROPIC_API_KEY |
Per token (zie prijzen) | Directe Claude-toegang |
| Google AI Studio | GOOGLE_API_KEY |
Per token (zie prijzen) | Gemini-modellen, native sinds v0.8.0 |
| xAI (Grok) | XAI_API_KEY |
Per token (zie prijzen) | Grok-modellen, native sinds v0.9.0 |
| Hugging Face | HF_TOKEN |
Per token (zie prijzen) | Volledig modelaanbod |
| Ollama (lokaal) | OPENAI_BASE_URL + OPENAI_API_KEY |
Gratis (zelf gehost) | Heeft GPU-VPS nodig voor goede snelheid |
| vLLM | OPENAI_BASE_URL + OPENAI_API_KEY |
Gratis (zelf gehost) | GPU vereist |
Provider-failover is ingebouwd sinds v0.6.0. Je kunt een geordende keten van providers instellen, zodat de agent automatisch terugvalt op de volgende als er een uitvalt.
Test of de LLM-verbinding werkt:
hermes -m "What is 2+2? Reply with just the number."
Als je een antwoord krijgt, is de provider correct geconfigureerd. Als je een authenticatiefout ziet, controleer je API-sleutel in ~/.hermes/.env.
Hoe configureer ik de goedkeuringsmodus?
Hermes Agent heeft een ingebouwd goedkeuringssysteem dat vraagt voordat het potentieel gevaarlijke commando's uitvoert. Houd dit ingeschakeld op een server:
hermes config set approval_mode ask
De drie modi:
- ask: Vraagt bevestiging voor elk commando dat bestanden wijzigt, pakketten installeert of het netwerk raakt. Gebruik deze. Sinds v0.8.0 tonen Telegram en Slack native goedkeuringsknoppen in plaats van een getypt antwoord te vereisen.
- smart: Een AI-model beoordeelt het risico en vraagt alleen bij echt gevaarlijke commando's. Sneller, maar vertrouwt op het oordeel van de AI.
- off: Geen controles. Elk commando draait direct. Gebruik dit niet op een server.
Hoe verbind ik Hermes Agent met Telegram?
De berichtengateway laat je chatten met Hermes vanaf je telefoon. Telegram is de meest gebruikelijke setup. De gateway maakt uitgaande verbindingen naar de Telegram-API, dus je hoeft geen inkomende poorten te openen.
Stap 1: Maak een Telegram-bot aan
Open Telegram en stuur een bericht naar @BotFather. Stuur deze commando's:
/newbot- Voer een naam in voor je bot (bijv. "My Hermes Agent")
- Voer een gebruikersnaam in (moet eindigen op
bot, bijv.myhermes_agent_bot)
BotFather antwoordt met een bot-token. Het ziet eruit als 7123456789:AAHx.... Kopieer het.
Stap 2: Haal je Telegram-gebruikers-ID op
Stuur een bericht naar @userinfobot op Telegram. Het antwoordt met je numerieke gebruikers-ID. Kopieer dit nummer.
Stap 3: Configureer de gateway
Voeg het bot-token en je gebruikers-ID toe aan het omgevingsbestand:
echo 'TELEGRAM_BOT_TOKEN=7123456789:AAHxYourTokenHere' >> ~/.hermes/.env
echo 'TELEGRAM_ALLOWED_USERS=your_numeric_user_id' >> ~/.hermes/.env
De TELEGRAM_ALLOWED_USERS-variabele is een beveiligingsmaatregel. Alleen de gebruikers-ID's in deze lijst kunnen met je bot communiceren. Zonder deze instelling kan iedereen die je bot vindt commando's sturen. Scheid meerdere ID's met komma's.
Stap 4: Test de gateway
Start de gateway op de voorgrond:
hermes gateway
Stuur een bericht naar je bot in Telegram. Je bericht verschijnt in de terminal en een antwoord komt terug. Druk op Ctrl+C om te stoppen zodra je hebt bevestigd dat het werkt.
Als de bot niet antwoordt, controleer:
- Het bot-token is correct in
~/.hermes/.env - Je gebruikers-ID staat in
TELEGRAM_ALLOWED_USERS - De VPS kan
api.telegram.orgbereiken op poort 443 (uitgaand HTTPS)
Hermes ondersteunt nu 16 platforms. Naast Telegram: Discord, Slack, WhatsApp, Signal, Matrix, iMessage (via BlueBubbles), WeChat, WeCom, Email, SMS, DingTalk, Feishu/Lark, Mattermost, Home Assistant en Webhooks. Voer hermes gateway setup uit voor een interactieve wizard die elk van deze configureert.
Hoe draai ik Hermes Agent als een systemd-service?
hermes gateway in een terminalsessie draaien betekent dat het stopt wanneer je de verbinding verbreekt. Een systemd user-service houdt de gateway draaiende na uitloggen en herstart het automatisch bij een crash of serverreboot.
Installeer de service
Hermes biedt een ingebouwd commando:
hermes gateway install
Dit maakt een servicebestand aan op ~/.config/systemd/user/hermes-gateway.service en schakelt lingering automatisch in. Lingering houdt user-services draaiende nadat je uitlogt van SSH.
Start de service en schakel hem in voor boot:
systemctl --user enable --now hermes-gateway
Controleer de servicestatus:
systemctl --user status hermes-gateway
Zoek naar Active: active (running) in de output. Als er failed staat, controleer de logs.
Bekijk de logs
Bekijk live gateway-logs:
journalctl --user -u hermes-gateway -f
Druk op Ctrl+C om te stoppen met volgen. De gateway-logs tonen elk inkomend bericht, elke LLM-aanroep en elke tooluitvoering.
Stel de werkdirectory in
Standaard gebruikt de gateway de homedirectory als werkruimte. Stel een dedicated projectdirectory in:
echo 'MESSAGING_CWD=/home/hermes/projects' >> ~/.hermes/.env
mkdir -p /home/hermes/projects
Herstart de service om toe te passen:
systemctl --user restart hermes-gateway
Beheren vanuit je browser
Sinds v0.9.0 wordt Hermes geleverd met een lokaal webdashboard. Zodra de gateway draait, open je het met:
hermes dashboard
Dit start een browserinterface waarmee je instellingen kunt beheren, sessies en vaardigheden kunt doorbladeren en gateways kunt configureren zonder de terminal aan te raken. Op een VPS kun je de dashboardpoort via SSH tunnelen om er vanaf je lokale machine toegang toe te krijgen.
Hoe maak ik een backup van Hermes Agent-data?
Hermes slaat al zijn staat op in ~/.hermes/: herinneringen, geleerde vaardigheden, sessiegeschiedenis, configuratie, cronjobs en agentpersona. Als je dit verliest, vergeet de agent alles.
Sinds v0.9.0 heeft Hermes ingebouwde backup- en herstelcommando's:
hermes backup
Dit maakt een snapshot met tijdstempel van je volledige ~/.hermes/-directory. Om te herstellen op dezelfde server of te migreren naar een nieuwe:
hermes import /path/to/backup.tar.gz
Voor geautomatiseerde dagelijkse backups, plan het met cron:
(crontab -l 2>/dev/null; echo "0 3 * * * /home/hermes/.local/bin/hermes backup") | crontab -
Voor off-server backups, rsync de backupdirectory naar een andere machine of objectstorage. Backups alleen op dezelfde VPS bewaren beschermt niet tegen schijfuitval.
Hoe update ik Hermes Agent?
Hermes Agent heeft een ingebouwd updatecommando. Maak eerst een backup en update dan:
hermes backup
hermes update
Controleer de nieuwe versie:
hermes --version
Controleer of er configuratiewijzigingen nodig zijn na de update:
hermes config migrate
hermes doctor
config migrate voegt nieuwe configuratieopties toe met hun standaardwaarden. hermes doctor controleert of alles nog werkt.
Herstart de gateway-service om de nieuwe versie te draaien:
systemctl --user restart hermes-gateway
systemctl --user status hermes-gateway
Als er iets kapot gaat na een update, herstel vanuit backup:
systemctl --user stop hermes-gateway
hermes import /path/to/backup.tar.gz
systemctl --user start hermes-gateway
Beveiligingschecklist
Een op een VPS gehoste AI-agent die terminalopdrachten uitvoert, vereist aandacht voor beveiliging. Hier is een samenvatting van wat deze handleiding al configureerde en een paar extra stappen.
Al geconfigureerd in deze handleiding:
- Niet-root gebruiker (
hermes) met eigen homedirectory - UFW-firewall die al het inkomend verkeer weigert behalve SSH
- API-sleutels in
~/.hermes/.envmet600-permissies TELEGRAM_ALLOWED_USERSbeperkt bottoegang tot jouw gebruikers-IDapproval_mode: askvereist bevestiging voor gevaarlijke commando's
Extra hardening:
Bekijk periodiek de geleerde vaardigheden van de agent:
ls -la ~/.hermes/skills/
Vaardigheden zijn scripts die de agent schrijft en hergebruikt. Audit ze zoals je elke code op je server zou auditen.
Monitor gateway-logs op onverwachte gebruikers of ongebruikelijke activiteit:
journalctl --user -u hermes-gateway --since "1 hour ago" --no-pager
Hermes heeft zijn beveiligingshouding met elke release versterkt: blokkering van secret-exfiltratie sinds v0.7.0, MCP OAuth 2.1 met PKCE en SSRF-beschermingen in v0.8.0, en path-traversalpreventie, shell-injectieneutralisatie en Twilio-webhookvalidatie in v0.9.0. Houd je installatie up-to-date om van deze beschermingen te profiteren.
Probleemoplossing
Sinds v0.9.0 kun je /debug uitvoeren in elke chatsessie of hermes debug share in de terminal om een diagnostisch rapport te genereren. Dit is de snelste manier om problemen te identificeren.
De gateway start niet:
journalctl --user -u hermes-gateway -n 50 --no-pager
Veelvoorkomende oorzaken: ongeldig bot-token, ontbrekende API-sleutel of netwerkproblemen.
Telegram-bot antwoordt niet:
Controleer het bot-token en toegestane gebruikers:
grep TELEGRAM ~/.hermes/.env
Test uitgaande connectiviteit:
curl -s https://api.telegram.org/bot<YOUR_TOKEN>/getMe
Een geldig antwoord met je botinformatie bevestigt dat het token en netwerk werken.
hermes-commando niet gevonden na installatie:
source ~/.bashrc
Als het nog steeds ontbreekt, controleer of ~/.local/bin in je PATH staat:
echo $PATH | tr ':' '\n' | grep local
Hoog geheugengebruik:
Controleer wat resources verbruikt:
top -bn1 | head -20
Als de agent langlopende processen start, verlaag de workload of upgrade je VPS.
Wat kost het?
Hermes Agent zelf hosten op een VPS kost de server plus LLM API-gebruik. De twee kostencomponenten zijn:
- VPS-hosting: Een VPS met 2+ vCPU en 4 GB RAM. Bekijk de Virtua.Cloud VPS-aanbiedingen voor actuele prijzen.
- LLM API-aanroepen: Alle ondersteunde providers rekenen per token. Je maandelijkse kosten hangen af van het gekozen model en gebruiksfrequentie. Raadpleeg de prijspagina van je provider voor actuele tarieven.
De echte besparing is niet alleen financieel. Je bezit de data van je agent, kiest elke provider die je wilt, en geen beleidswijziging kan je van de ene op de andere dag platleggen.
Claude Code draaien op een VPS
Copyright 2026 Virtua.Cloud. Alle rechten voorbehouden. Deze inhoud is een origineel werk van het Virtua.Cloud-team. Reproductie, herpublicatie of herdistributie zonder schriftelijke toestemming is verboden.
Klaar om het zelf te proberen?
Draai AI-agents op uw eigen VPS. →