
22.47 uur, een Telegram-bericht.
Mijn telefoon trilt op het nachtkastje:
"De nightly build van vanochtend is mislukt. Analyse van de logs: de afhankelijkheid acme-lib, die gisteren is bijgewerkt, laat de build van het API-image mislukken. De staging draait nog steeds op de vorige versie. Ik kan de versie bevriezen of de staging herstarten: zal ik dat doen?"
Het is geen collega. Het is mijn AI-agent op een VPS. Hij heet Hermes, hij woont op een kleine server in een Europees datacenter en hij slaapt nooit. We werken nu drie weken samen: hij heeft aantekeningen gemaakt over onze builds, hij weet welke logs hij moet raadplegen en vooral, hij heeft de reflex om te vragen voordat hij actie onderneemt.
Dit artikel vertelt hoe hij daar terecht is gekomen en hoe je in tien minuten jouw AI-agent op een VPS kunt starten.
En om ervoor te zorgen dat je dat binnen die tijd haalt, helpt een GitHub-repository je om goed aan de slag te gaan.
Een AI-agent die op een laptop woont, is een kwetsbare agent
Als je al eens een lokale AI-assistent hebt getest, ken je de symptomen. De agent houdt er natuurlijk mee op wanneer je de computer afsluit. Hij begint bij elke sessie min of meer vanaf nul, tenzij je handmatig je context opnieuw toevoegt. De routines blijven handmatig (bijv. controles in de ochtend, wekelijks overzicht). En om hem te raadplegen, moet je eraan denken een applicatie te openen: de agent komt nooit vanzelf naar je toe.
Het probleem kan snel worden aangeduid. Een pc staat zelden aan, is bijna nooit zichtbaar voor de buitenwereld en de gebruiker wisselt continu tussen allerlei tools: webconsole, CLI, dashboard, berichten, e-mails, enzovoorts. Voor een autonome agent is dit een zeer slechte thuisbasis: niet continu beschikbaar, geen bereikbaarheid, geen duurzaam geheugen. De computer is de plek waar je werkt en beslist, maar het is niet de plek waar een proces leeft.
Wat nodig is, is een permanente thuisbasis, die bereikbaar is via de kanalen die je al gebruikt en die kan onthouden wat hij leert. In één woord: een (kleine) server.
Hermes, de agent die al werkend leert
Korte presentatie: Hermes Agent is een opensource AI-agent, onder MIT-licentie en ontwikkeld door Nous Research. Hij heeft ongeveer 252.000 sterren op GitHub. Drie kenmerken blijken elke dag zeer nuttig.
Ten eerste, de leercyclus. Na een wat complexe taak creëert Hermes een skill (dit is meestal een bestand met de naam SKILL.md). Dit is een procedure die hij zelf heeft geformaliseerd en die hij bij elk gebruik verbetert. Zo blijft zijn geheugen behouden tussen sessies door. Bovendien weet hij zijn eerdere gesprekken te doorzoeken om terug te vinden wat hij had vastgesteld. Zo begint hij niet elke ochtend vanaf nul. En dat is precies het punt.
Na drie weken hoeft hij er niet meer aan herinnerd te worden waar de logs staan of hoe onze staging is georganiseerd. De agent heeft het genoteerd, gecontroleerd en vastgelegd in een skill van twee regels.
Ten tweede, de alomtegenwoordigheid. Via een enkele gateway is hij bereikbaar op zo'n dertig platforms: Telegram, Signal, Slack, Discord, Matrix, Teams, e-mail en zelfs sms. Het is mogelijk om met hem te praten via onze gebruikelijke communicatiekanalen, zonder een extra venster te openen. Dat is echt een voordeel.
Tot slot, de veelzijdigheid. Het is mogelijk om het model te wijzigen met één commando (/model): OpenRouter, OpenAI, Nous Portal of je eigen endpoint. Sub-agents kunnen parallel werken en de uitvoering kan in een container worden geïsoleerd. Er is geen enkele lock-in.
Hermes kan bovendien worden geïntegreerd met de AI Endpoints van OVHcloud, om in een gecontroleerde omgeving te blijven. Lees het artikel over Docker Agent met AI Endpoints (in het Engels) voor een ander voorbeeld van een agent die met deze service is verbonden.
Het detail dat echt het verschil maakt: een ingebouwde planner (scheduler) die natuurlijke taal begrijpt. "Vat elke ochtend om 8 uur de nacht voor me samen" wordt een geplande taak zonder dat je crontab -e hoeft te gebruiken of iets aan je CI-pipeline hoeft te veranderen.
Waarom een AI-agent op een VPS, niet in SaaS
Een agent die door een derde partij wordt gehost, kan geavanceerde features hebben, maar bevindt zich in een black box: je ziet niet waar je tools draaien, waar hun geheugen en hun sleutels worden opgeslagen. Op een VPS is het omgekeerd. Het geheugen, de skills, de geschiedenis: alles bevindt zich op jouw machine, in een Europees datacenter. De API-sleutels zijn van jou. Jij kiest het model, vanaf het endpoint dat jij bepaalt. De hostingprovider kan noch bij je gesprekken, noch bij je skills, noch bij je tokens.
Hetzelfde geldt voor de besparingen. Een instap-VPS met 2 vCores, 4 GB RAM, 40 GB NVMe, dagelijkse back-up en onbeperkt verkeer kost minder dan € 5 excl. btw per maand. De gateway en zijn sub-agents kunnen hier gemakkelijk in worden gehost. En als je de exploitatie liever uitbesteedt, biedt OVHcloud ook Hermes aan in managed hosting-modus, inclusief AI-credits. Voor technisch gebruik blijft de VPS de juiste oplossing: je beheert de omgeving, scheidt test van productie en koppelt de agent aan zijn bestaande ketens.
En wat als Telegram niet is toegestaan binnen je organisatie? Het kanaal is slechts een configuratieregel: de gateway ondersteunt ongeveer dertig platforms. Voor standaard end-to-end-encryptie staat de Signal-handleiding in de repository, al duurt de installatie wel iets langer. Gebruik voor een volledig soeverein kanaal een zelfgehoste Matrix op dezelfde VPS, of SimpleX. En als je IT-afdeling haar eigen tools oplegt: Slack, Teams, Mattermost en Google Chat werken ook. Het kanaal is van belang voor de encryptie. De VPS voor de soevereiniteit.
Hoe je het in tien minuten in gebruik neemt
Drie vereisten: een OVHcloud-account met een standaard betaalmethode (de bestelling via API vereist dit), een BotFather-token voor Telegram en een API-sleutel voor het model. Dan:
git clone https://github.com/RemyAtOVH/hermes-on-vps && cd hermes-on-vps
export OVH_ENDPOINT="ovh-eu" OVH_APPLICATION_KEY=… OVH_APPLICATION_SECRET=… OVH_CONSUMER_KEY=…
export TF_VAR_public_ssh_key="$(cat ~/.ssh/id_ed25519.pub)"
terraform -chdir=vps init && terraform -chdir=vps apply # VPS provisioning via Terraform
./deploy.sh debian@$(terraform -chdir=vps output -raw vps_ip)Het script deploy.sh voert vijf stappen achter elkaar uit: de systeemvereisten, de officiële installatie van Hermes (ongeveer vijf minuten), en vervolgens twee interactieve prompts voor de keuze van het model (hermes model) en de koppeling met Telegram (hermes gateway setup). Tot slot volgt de configuratie van de gateway. Voor een handmatige installatie beschrijft de installatiehandleiding van Hermes Agent elke stap.
Open Telegram, begroet je bot: hij is operationeel en zal dat blijven.
De eerste dagen lijkt zijn werk vooral op observatie. Je geeft hem context: conventies, nuttige adressen, wat we "productie" noemen en waar we nooit iets aan veranderen. De agent neemt dit allemaal op in zijn geheugen. De week daarna verandert de aard van zijn vragen: minder "waar is dit?", meer "dit is wat ik heb gevonden, wil je dat ik actie onderneem?". Dat is de belofte van Hermes.
Twijfel je nog? De repository bevat ook een implementatie op een Public Cloud-instance, die per uur wordt gefactureerd: je test, je pauzeert 's avonds (power_state=SHELVED, je betaalt alleen nog voor de opslag), je verwijdert wanneer het prototype alles heeft gezegd wat het te zeggen had. Een testsessie kost slechts een paar cent. Overigens is er een Public Cloud-instance gebruikt om dit artikel te schrijven.
Het rapport van 8 uur, het incident van 14 uur
Om te beginnen: het ochtendrapport. Eén zin, één keer uitgesproken: "Vat elke dag om 8 uur de build-fouten en incidenten van de nacht samen en geef aan wat mijn aandacht vereist." en de planner regelt het. Elke ochtend komt er een samenvatting in het kanaal met wat echt je aandacht verdient. Wanneer de nacht rustig is geweest, zegt hij dat met één regel, niet met twintig.
Vervolgens: het sorteren van incidenten. De fout treedt op om 14 uur? Het wordt toegevoegd aan de bot. Hij leest het bijbehorende log, vergelijkt dit met de laatst bekende wijziging, stelt een hypothese en een actie voor en wacht vervolgens op je bevestiging. Dit gebeurt allemaal in dezelfde discussiethread, zonder van venster te wisselen.
Wat ik hem niet toevertrouw
Er zijn uiteraard grenzen aan het gebruik van een dergelijke tool: een agent met een shell is een aanvalsoppervlak en moet als zodanig worden behandeld.
- De allowlist, om te beginnen: de bot accepteert alleen directe berichten van contacten in de lijst.
- De firewall, vervolgens: alleen SSH is blootgesteld, de gateway doet alleen uitgaand verkeer.
- De tokens van de scope, tot slot: Hermes heeft leesrechten op de staging, geen root-wachtwoord van de productie. De gateway voorziet zelfs in een optionele beveiliging om bepaalde acties in te perken voordat ze worden uitgevoerd.
De zaken waarvoor versiebeheer of auditing nodig is en de zaken die gedeeld moeten worden, blijven in Infrastructure as Code: de implementatie in productie gebeurt in een pipeline, niet in een chat.
Hermes blinkt uit in verkenning, diagnose en bevestigde incidentele acties, maar niet als vervanging van pipelines.
Als de actie morgen door iemand anders reproduceerbaar moet zijn, dan wordt deze met versiebeheer in de code vastgelegd. Als er nu beslist moet worden over de actie, dan kan dit via de agent verlopen.
Drie weken later
22.47 uur Het bericht komt nog steeds aan. Wat veranderd is, is wat ik aan hem toevertrouw: routinetaken zijn uit mijn dag verdwenen, maar de beslissingen worden nog steeds door mensen genomen. Met Hermes die vraagt voordat hij handelt, is dat heel eenvoudig.
Een detail dat in de loop van de weken belangrijk bleek: toen mijn computer veranderde, is er niets aan Hermes veranderd. Zijn geheugen, zijn skills en zijn geschiedenis blijven op de VPS staan, net zo opgeslagen als de rest van de infrastructuur. De collega heeft nooit op mijn computer gewerkt. Het enige wat nog rest, om problemen voor te zijn, is om te zorgen voor een back-up van de werkomgeving, bijvoorbeeld met VPS Backup. Raadpleeg voor het installeren van je eigen AI-agent op een VPS de documentatie van Hermes Agent.