Skip to main content
📝 Claude Code

Hermes + Claude Code: mijn Discord-gestuurde VPS build system

Ik bouwde mijn dev workflow opnieuw rond Hermes Agent die Claude Code op een VPS orkestreert, bestuurd via Discord en deployed naar Vercel.

24 min

Leestijd

4,711

Woorden

May 01, 2026

Gepubliceerd

Engr Mejba Ahmed

Geschreven door

Engr Mejba Ahmed

Artikel delen

Hermes + Claude Code: mijn Discord-gestuurde VPS build system

Hermes + Claude Code: mijn Discord-aangedreven VPS build system

Het was dinsdag 23:51 uur toen ik /build a Next.js task tracker with SQLite, deploy it to Vercel in een Discord-kanaal typte en wegliep om koffie te zetten. Tegen de tijd dat de ketel afging, had mijn Hermes-agent Claude Code als een sub-agent op mijn Hostinger VPS opgestart, het project in de steigers gezet, een initiële commit naar een nieuwe GitHub-repository gepusht en een Vercel-implementatie geactiveerd.

Toen mislukte het.

Niet catastrofaal. Alleen al de specifieke, voorspelbare manier waarop Next.js-apps mislukken wanneer je ze verzendt naar een serverless-runtime met SQLite-aannames van lokale ontwikkeling. De bouw werd groen. De inzet was in 31 seconden voltooid. Het eerste verzoek aan /api/tasks retourneerde een 500 met een schrijfmachtigingsfout van het alleen-lezen bestandssysteem Vercel overhandigt elke Lambda. Ik had Claude Code niets verteld over runtime-beperkingen; ik had alleen gezegd: 'implementeer het'. De makelaar deed precies wat ik vroeg. Het implementatieplatform had andere ideeën.

Wat er daarna gebeurde, is het deel waarover ik je wil vertellen. Hermes ontving het foutenlogboek via de Discord-webhook en voerde het terug in Claude Code als vervolgtaak, en Claude Code besteedde de volgende vier minuten aan het herstructureren van de gegevenslaag om Vercel KV te gebruiken in plaats van SQLite. Nieuwe toezegging. Nieuwe inzet. Groente. Werkend eindpunt. Ik kwam terug uit de keuken en zag een Discord-bericht waarin in wezen stond: "een serverless-bestandssysteemprobleem tegengekomen, geruild naar KV, opnieuw geïmplementeerd. Demo hier." De hele lus – de oorspronkelijke prompt voor een werkende productie-implementatie – duurde acht minuten en drieënveertig seconden. Ik heb nul regels code geschreven.

Dat is het systeem dat ik wil afbreken. Niet de marketingversie. De daadwerkelijke implementatie, de daadwerkelijke commando's en de onderdelen die me hebben gebeten - inclusief de beveiligingsafweging die de meeste tutorials overslaan en de vraag die ik mezelf elke week stel: wanneer is deze orkestratielaag eigenlijk de moeite waard, en wanneer voeg ik alleen maar bewegende delen toe?

Waarom Hermes tussen mij en Claude Code zit

Laat ik eerst de voor de hand liggende sceptische vraag beantwoorden, omdat ik deze zelf ongeveer drie weken heb gesteld voordat ik overstapte: als Claude Code al code kan plannen, schrijven, uitvoeren en implementeren, waarom zet ik er dan nog een agent bovenop?

Het korte antwoord is dat Claude Code een briljante terminalsessie is en Hermes een briljante operationele laag. Ze lossen verschillende problemen op.

De kracht van Claude Code is de diepgang binnen één taak. Geef het een codebase, een doel en een terminal, en het zal plannen, schrijven, testen en herhalen met een kwaliteit van redeneren die op dit moment echt moeilijk te verslaan is. Maar Claude Code doet op zichzelf natuurlijk niet de rommelige operationele lijm. Het houdt zijn eigen implementaties niet in de gaten en reageert niet op mislukkingen. Het accepteert geen opdrachten van Discord. Het draait niet op een VPS terwijl u slaapt, jongleert met drie projecten parallel, of slaat API-tokens gecodeerd op schijf op, zodat u ze niet langer in chatboxen hoeft te plakken. Je kunt dat allemaal rond Claude Code bouwen met shellscripts en cron-jobs. Ik heb het geprobeerd. Het resultaat is een kwetsbaar hoopje lijm dat je zelf moet onderhouden.

Hermes Agent is de lijm, maar dan een zichzelf verbeterende versie ervan. Gebouwd door Nous Research en uitgebracht op 25 februari 2026, passeerde het binnen zeven weken 95.600 GitHub-sterren en ligt het op het moment van schrijven boven de 103.000 – het soort traject dat je alleen ziet als iets een probleem oplost dat mensen daadwerkelijk hebben. Hermes wordt geleverd met native integraties voor WhatsApp, Telegram, Discord, Slack en nu QQBot, gecodeerde tokenopslag via hermes config set, een plug-insysteem, een orkestratormodus die toezicht houdt op sub-agents en een leerlus die eenmalige taken omzet in herbruikbare vaardigheden. Het heeft een MIT-licentie en draait op een VPS van $ 5.

Wanneer Hermes Claude Code behandelt als een sub-agent, krijgt u het beste van beide. Claude Code doet de daadwerkelijke engineering. Hermes zorgt voor de orkestratie: waar het werk wordt uitgevoerd, wie het mag activeren, hoe fouten opnieuw worden geprobeerd, waar de geheimen zich bevinden en op welk berichtenplatform u zich bevindt als u de status wilt controleren. Ik voer mijn Orchestrator uit op hetzelfde VPS-patroon dat ik heb beschreven in [mijn OpenClaw en Hermes twee-agentsysteem] (/openclaw-hermes-multi-agent-workflow), en de architectuur heeft stand gehouden onder echte belasting.

Er is een diepere reden waarom deze koppeling werkt, en die gaat over kostendiscipline. Claude Code verbrandt tokens tijdens een lange autonome taak. Hermes draait graag op goedkopere modellen voor de orkestratielaag - het grootste deel van mijn Hermes-verkeer stroomt via OpenRouter op lichtere modellen, terwijl Claude Sonnet 4.6 (momenteel $3 per miljoen invoertokens, $15 per miljoen uitvoertokens op OpenRouter) alleen het daadwerkelijke codeerwerk afhandelt. De splitsing bespaart me echt geld bij elk project, en de besparingen worden groter naarmate ik meer parallelle taken uitvoer.

Maar dat doet er allemaal niet toe als je het ding überhaupt niet aan de praat kunt krijgen. Dus laten we het aansluiten.

De VPS Foundation: waarom ik ben gestopt met het lokaal uitvoeren van agenten

Ik heb Claude Code lokaal op mijn Mac gedraaid gedurende de eerste zes maanden dat ik het gebruikte. Het patroon was prima voor solowerk, maar het brak op het moment dat ik drie dingen wilde: langlopende taken die overleven als ik de laptop sluit, een stabiel adres waar Discord-webhooks op kunnen klikken, en een plek waar meerdere parallelle agentsessies kunnen worden uitgevoerd zonder te concurreren om mijn CPU tijdens videogesprekken. Een VPS lost ze alle drie tegelijk op.

Ik gebruik Hostinger. Hun KVM 2-abonnement kost momenteel $ 6,99 per maand inleidend (vernieuwt ongeveer $ 11,99 /month, wat het deel is waar de marketingpagina's stil over zijn) en geeft je 2 vCPU's, 8 GB RAM, NVMe SSD-opslag en een speciaal IP-adres. Dat is voldoende voor het parallel organiseren van een paar Claude Code-sessies. Hun KVM 1 voor $ 4,99/month met 4GB RAM werkt ook als je maar één agent tegelijk gebruikt - Hermes zelf is schrikbarend weinig hulpbronnen nodig, omdat het meeste zware werk binnen de modelproviders gebeurt, en niet op de box.

Als je een Hetzner- of DigitalOcean-persoon bent, werken die ook prima. De enige vereisten die er toe doen zijn SSH-toegang, Ubuntu 22.04 of nieuwer, Node.js 18+ en uitgaande netwerktoegang tot uw modelprovider. Ik specificeer Hostinger omdat de SSH-via-browser console waarmee het wordt meegeleverd, betekent dat je Hermes vanaf elke machine kunt installeren, inclusief de iPad waarop ik deze paragraaf schrijf.

Zodra u de VPS hebt, bestaat de installatieopdracht uit één regel. SSH in en voer vervolgens uit:

curl -fsSL https://hermes-agent.dev/install.sh | bash

Dat start Node op, installeert Hermes globaal, creëert een ~/.hermes-configuratiemap en brengt u naar een eerste-run-wizard die om uw modelprovidersleutels vraagt. Ik kies in dit stadium altijd voor OpenRouter in plaats van rechtstreeks naar Anthropic te gaan. De reden is simpel: met OpenRouter kan ik modellen per taak wisselen zonder de configuratie te wijzigen, wat van belang is als ik planningswerk naar een goedkoop model en uitvoering naar Claude Sonnet 4.6 of Opus 4.7 stuur.

Stel de OpenRouter-sleutel in met:

hermes config set OPENROUTER_API_KEY <your-key-here>

Dat commando slaat de sleutel gecodeerd op in ~/.hermes/secrets.enc, niet in platte tekst, wat er meer toe doet dan mensen zich realiseren. Ik heb te veel tutorials gecontroleerd waarin iemand je vertelt export ANTHROPIC_API_KEY=sk-... in je .bashrc en het goed noemt. Die sleutel bevindt zich nu in uw shellgeschiedenis, uw tmux-scrollback en elke back-up van uw thuismap. De gecodeerde winkel van Hermes houdt deze op alle drie de plaatsen weg.

Nu het deel dat me het langst kostte om het goed te krijgen: het installeren van Claude Code als een sub-agent op dezelfde VPS.

Claude Code als een Hermes-subagent

Claude Code is een Node.js-applicatie, gedistribueerd via npm onder @anthropic-ai/claude-code. De standaardinstallatie op de VPS is eenvoudig:

sudo apt update && sudo apt install -y nodejs npm
npm install -g @anthropic-ai/claude-code
claude-code --version

De versiecontrole is belangrijk. Als je vanaf mei 2026 iets lager dan 1.4.x ziet, mis je de sub-agent-verbeteringen die eerder dit jaar zijn geïntroduceerd, en de rest van deze workflow zal zich niet gedragen zoals ik het beschrijf.

Het interessante deel is het authenticeren van Claude Code zonder een interactief bureaublad. De eerste keer dat u claude-code uitvoert op een nieuwe VPS, wordt een OAuth-URL afgedrukt en wordt er gewacht totdat u de stroom in een browser hebt voltooid. Op een VPS zonder hoofd is dat enigszins vervelend, maar niet blokkerend: de URL werkt vanaf elk apparaat. Open het op uw laptop, voltooi de OAuth-handshake en Claude Code slaat het token op in ~/.config/claude-code/credentials.json op de VPS. Vanaf dat moment heeft uw VPS een ingelogde Claude Code die opnieuw opstarten overleeft.

Nu verbindt u Claude Code met Hermes als een geregistreerde sub-agent. De Hermes-configuratie hiervoor bevindt zich op ~/.hermes/agents.toml:

[agents.claude_code]
type = "subagent"
command = "claude-code"
args = ["--print", "--no-interactive"]
working_dir = "/home/mejba/projects"
allowed_tools = ["Read", "Write", "Edit", "Bash", "Glob", "Grep", "WebSearch"]
max_concurrent = 3
timeout_seconds = 1800

De max_concurrent = 3 is de lijn waarop ik uw aandacht wil vestigen. Het bepaalt hoeveel parallelle Claude Code-sessies Hermes mag spawnen. Ik begon bij 1 en werkte op. Op 3 uur wordt mijn KVM 2-box warm maar stabiel. Om 5 uur zag ik Node OOM onder belasting toen alle drie de sessies op hetzelfde moment npm install bereikten. Stem dit af op uw VPS, niet op wat het documentatievoorbeeld ook laat zien.

De waarde timeout_seconds = 1800 betekent dat Hermes elke afzonderlijke Claude Code-taak die langer dan dertig minuten duurt, zal beëindigen. Dat klinkt agressief totdat je hebt gezien hoe Claude Code zichzelf in een oneindige lus van plannen, uitvoeren en opnieuw plannen vastlegt na een vage prompt. Het is beter om snel te falen en het probleem aan de oppervlakte te brengen dan een vastgelopen agent van de ene op de andere dag tokens te laten verbranden.

GitHub Integratie zonder tokens in de chat te plakken

Dit is het gedeelte waar de meeste tutorials mij verliezen. Ze vertellen u dat u uw persoonlijke GitHub-toegangstoken rechtstreeks in het chatvenster van de agent moet plakken, zodat deze repo's kan klonen en commits kan pushen. Dat is een recept voor het per ongeluk lekken van tokens: in chatlogboeken, in de geschiedenis van de modelprovider, in schermafbeeldingen die u maakt tijdens het debuggen.

Hermes gaat hier anders mee om. U genereert een fijnmazig persoonlijk toegangstoken uit de ontwikkelaarsinstellingen van GitHub. Beperk dit tot de specifieke repository's die u door de agent wilt laten aanraken, en verleen alleen Contents: read/write, Pull requests: write en Metadata: read. Sla het vervolgens op via hetzelfde gecodeerde configuratiecommando:

hermes config set GITHUB_TOKEN <your-fine-grained-token>

In je Claude Code-werkmap vertel je git dat hij het token moet gebruiken via de omgevingsinjectie van Hermes in plaats van het in een externe URL in te sluiten. Mijn git-configuratie op de VPS ziet er als volgt uit:

git config --global credential.helper '!f() { echo "username=mejba"; echo "password=$GITHUB_TOKEN"; }; f'

Die kleine shell-functie haalt het token uit de omgeving die Hermes tijdens runtime injecteert, zodat uw externe URL's schoon blijven (https://github.com/user/repo.git, geen ingebedde inloggegevens), uw token verschijnt nooit in de git config --list-uitvoer en het roteren van het token is één regel hermes config set verwijderd.

Het fijnkorrelige symbolische stuk is belangrijk. Ik heb gezien dat ontwikkelaars hun automatisering een klassiek persoonlijk toegangstoken hebben gegeven met volledige repo-scope, waardoor de agent schrijftoegang heeft tot elke privérepository in hun account, inclusief klantwerk en nevenprojecten. Doe dat niet. Genereer een afzonderlijk, gedetailleerd token per project, alleen gericht op de repository van dat project. Als de agent een schurkenstaat is of de VPS wordt gecompromitteerd, is uw explosieradius één repository, niet uw volledige GitHub-aanwezigheid.

De Discord-bot die alles aanstuurt

De Discord-laag zorgt ervoor dat deze workflow aanvoelt als sciencefiction in plaats van als cron-jobs. Ik kan in een vergadering zijn, in de trein, op mijn bank – overal waar ik Discord open heb – en code verzenden door natuurlijke taal naar een bot te typen.

Het opzetten duurt de eerste keer ongeveer tien minuten. Loop dit precies door:

  1. Open de Discord Developer Portal, klik op "Nieuwe applicatie", noem deze zoals u wilt. 2. Klik in het linkernavigatiesysteem op 'Bot'. Blader op die pagina omlaag naar Privileged Gateway Intents en schakel Intent van berichtinhoud in. Dit is degene die de meeste tutorials vergeten. Zonder dit bericht kan uw bot lezen dat er een bericht bestaat, maar kan hij niet lezen wat erin staat. Je bent een uur bezig met het debuggen van "waarom negeert mijn bot mij" voordat je dit selectievakje vindt. 3. Terwijl u zich op de Bot-pagina bevindt, klikt u op "Reset Token" en kopieert u het token onmiddellijk. Discord toont het slechts één keer. 4. Ga naar "OAuth2" → "URL-generator." Vink onder Bereikingen bot en applications.commands aan. Vink onder Bot-machtigingen Send Messages, Read Message History, Use Slash Commands en Attach Files aan. Discord genereert een uitnodigings-URL onderaan de pagina. 5.

Open die URL, kies de server waarop u de bot wilt hebben en autoriseer deze. Het wordt offline weergegeven omdat we het proces nog niet hebben gestart.

Terug op de VPS slaat u het bottoken op in Hermes:

hermes config set DISCORD_BOT_TOKEN <token-you-just-copied>

Schakel vervolgens het Discord-transport in ~/.hermes/transports.toml in:

[transports.discord]
enabled = true
allowed_channel_ids = ["1198347...your-channel-id"]
allowed_user_ids = ["29384...your-discord-user-id"]
command_prefix = "/"

De allowed_channel_ids en allowed_user_ids vormen de beveiligingslaag die niemands blogpost lijkt te benadrukken. Zonder deze toelatingslijsten kan iedereen die uw bot een DM kan sturen, Claude Code op uw VPS besturen. Bij hen gehoorzaamt de bot u alleen in de kanalen die u expliciet heeft geautoriseerd. Haal uw Discord-gebruikers-ID op door de ontwikkelaarsmodus in te schakelen in de Discord-instellingen en klik vervolgens met de rechtermuisknop op uw gebruikersnaam → Gebruikers-ID kopiëren.

Start Hermes (hermes restart) opnieuw en de bot komt online. Typ /status in uw geautoriseerde kanaal. Als u een antwoord ziet, is de lus gesloten. Vanaf dit punt gaat elke opdracht die u typt in Discord naar Discord → Hermes → Claude Code → terug naar Discord. Je stuurt productiebuilds aan vanuit een chat-app.

Vercel Automatische implementatie: de laatste mijl

Vercel is het implementatiedoel dat ik standaard gebruik voor alles wat Next.js of statische frontend is, en de integratie is heerlijk saai als deze eenmaal is ingesteld. Verbind uw GitHub-account met Vercel, geef het toegang tot de repository waar Claude Code naartoe zal pushen, en stel Vercel in om automatisch te implementeren bij push naar main. Klaar.

Met het Hobby-plan voer ik de meeste experimenten uit, en het is de moeite waard om de grenzen te kennen, omdat ze je op specifieke manieren bijten. Vanaf mei 2026 biedt Hobby u 100 GB bandbreedte per maand, 1 miljoen edge-verzoeken en 100.000 serverless-functie-aanroepen. De time-out van de functie is beperkt tot 60 seconden en er is geen optie voor bandbreedteoverschrijding: als u 100 GB bereikt, stoppen uw implementaties tot de volgende factureringscyclus. Voor experimenten en demo's is dat allemaal prima. Voor alles waarbij uptime er echt toe doet, kun je upgraden naar Pro voordat je tegen de muur loopt, en niet erna.

Het stuk Vercel voegt nog een ronde toe aan de lus: ik typ /build in Discord → Hermes routes naar Claude Code → Claude Code commit en pusht naar GitHub → GitHub webhook vuurt Vercel af → Vercel bouwt en implementeert → Hermes peilt de implementatie-URL van Vercel en rapporteert terug naar Discord met de status. End-to-end landt een schone implementatie in ongeveer dertig seconden. De eerste keer dat je die lus ziet sluiten bij een project dat je vanuit een enkel chatbericht hebt opgebouwd, is het moeilijk om niet te lachen.

De SQLite-fout: een tutorial over waarom serverloze architectuur bijt

Nu naar de mislukking die ik in de opening beschreef, omdat dit de nuttigste vijf minuten van dit hele bericht zijn.

Toen Claude Code mijn Next.js-taaktracker in de steigers zette, deed het iets volkomen redelijks: het koos SQLite voor opslag. SQLite is het juiste antwoord voor vrijwel elk klein Node.js-project. Het is zero-config, wordt geleverd als een enkel bestand en verwijdert de hele stap van het opzetten van een database. Als ik die app had geïmplementeerd op een Hostinger VPS of een langlopende container, zou het prachtig hebben gewerkt.

Vercel is geen langlopende container. Vercel is serverless. Elke API-route draait binnen een AWS Lambda-functie, en Lambda heeft regels: het bestandssysteem is alleen-lezen, behalve /tmp, dat kortstondig is en niet wordt gedeeld tussen aanroepingen. SQLite moet naar zijn databasebestand schrijven. Het databasebestand in mijn project bevond zich op ./data/tasks.db. Toen de Lambda dat bestand probeerde te openen om te schrijven, retourneerde de runtime EROFS: read-only file system, mijn API-route retourneerde een 500, en de implementatie "slaagde" terwijl deze volledig niet-functioneel was.

Dit is de specifieke foutmodus die u moet internaliseren voordat u een autonome agent code naar serverless-platforms laat verzenden: de agent kent de runtime-topologie van uw doel niet, tenzij u hem dat vertelt. Claude Code kende Next.js. Het kende SQLite. Het wist standaard niet dat deze specifieke Vercel-implementatie het schrijven naar het bestandssysteem buiten /tmp verbiedt.

De oplossing die de nieuwe pogingslus van Hermes opleverde, was correct: verwissel SQLite voor een beheerde sleutel/waarde-opslag die compatibel is met koude starts van serverless. Vercel KV (of Upstash Redis, wat het onder de motorkap ondersteunt) biedt u permanente opslag die werkt voor alle functie-aanroepen, met een gratis laag die demoverkeer comfortabel afhandelt. Claude Code refactoreerde de datalaag in ongeveer vier minuten, de herimplementatie werd groen en de app werkte.

Maar hier is de diepere les, en die neem ik nu mee in elke Hermes-prompt die ik schrijf voor productie-implementaties: vertel de agent vooraf wat de runtime-beperkingen zijn. Mijn huidige standaard promptsjabloon bevat een doelspecifieke paragraaf voor Vercel-projecten:

Doelimplementatie: Vercel serverless. Beperkingen: geen bestandssysteem schrijft buiten /tmp, functietime-out 60 seconden, geen langlopende achtergrondwerkers, geef de voorkeur aan Vercel KV of externe beheerde services voor status. Gebruik edge runtime waar latentiegevoelig is.

Dat ene blok context, toegevoegd aan elke taak die op Vercel is gericht, heeft de categorie van fouten in SQLite-op-serverless volledig geëlimineerd. De agent is niet helderziend. Vertel wat de productieomgeving nodig heeft.

Het beveiligingsgesprek dat de meeste tutorials overslaan

Ik ga hier direct zijn, omdat de luchtige "kijk eens hoe gemakkelijk het is"-versie van dit artikel onverantwoord zou zijn. Wanneer u Hermes volledige terminaltoegang geeft op een VPS - en dat is precies wat u doet wanneer u Claude Code laat spawnen met Bash in de lijst met toegestane tools - maakt u een geautomatiseerde agent die willekeurige shell-opdrachten kan uitvoeren op een machine die uw GitHub-token, uw modelprovidersleutels bevat en schrijftoegang tot uw productie implementeert.

Drie dingen zouden u moeten doen nadenken voordat u deze schakelaar omdraait.

Ten eerste is snelle injectie reëel en niet theoretisch. Als uw Discord-bot is geconfigureerd om berichten te lezen en uw agent terminaltoegang heeft, heeft iedereen die uw agent kan overtuigen om een ​​kwaadaardige opdracht uit te voeren via ambachtelijke invoer, root-equivalente toegang tot uw VPS. De toelatingslijst allowed_user_ids in uw Hermes Discord-configuratie is hier uw belangrijkste verdediging. Als een vreemdeling je bot kan DM'en, heb je al verloren. Vergrendel het kanaal en de toelatingslijsten van gebruikers hard.

Ten tweede is een gecompromitteerde VPS een gecompromitteerd alles. Behandel de VPS op dezelfde manier als elke productieserver. Schakel wachtwoord SSH uit (alleen sleutel). Schakel een firewall in: ufw enable && ufw allow 22 && ufw default deny incoming is het absolute minimum. Voer onbeheerde upgrades uit voor beveiligingspatches. Bewaar uw ~/.hermes/secrets.enc gecodeerd als back-up en wissel de sleutels elk kwartaal. Niets daarvan is paranoïde. Het zijn de basiskosten voor het runnen van een geautomatiseerde agent die zich ergens mee kan bemoeien.

Ten derde: gebruik bewust de middelen van de agent. De allowed_tools-array in mijn Hermes-configuratie is ["Read", "Write", "Edit", "Bash", "Glob", "Grep", "WebSearch"]. Let op wat er niet is: alles wat gegevens buiten de goedgekeurde kanalen zou kunnen exfiltreren. Ik geef de sub-agent geen toegang tot willekeurige HTTP POST-mogelijkheden, e-mailclients of CLI's van cloudproviders die niet relevant zijn voor het project. Hoe smaller het gereedschapsoppervlak, hoe kleiner de straal als er iets misgaat.

Specifiek voor klantwerk voer ik een afzonderlijke VPS uit per project met veel vertrouwen. De kosten bedragen twaalf dollar per maand voor twee dozen in plaats van één, en de isolatie betekent dat een enkel gecompromitteerd project de andere niet kan kruisbesmetten. Dat is een goedkope verzekering.

De eerlijke samenvatting is deze: deze workflow geeft een AI-agent aanzienlijke operationele kracht. De productiviteitswinst is reëel, maar gaat gepaard met risico's die actief moeten worden beheerd. Als u niet bereid bent het beveiligingswerk te doen, voert u Claude Code lokaal uit en accepteert u de beperkingen.

Wanneer is Hermes-orkestratie echt de moeite waard?

Ik wil dit direct beantwoorden, omdat dit de vraag is die ik het vaakst krijg, en het antwoord is niet 'altijd'.

Hermes-orkestratie is de moeite waard als je twee van de volgende zaken hebt:

  • U wilt codeerwerk uitvoeren vanaf uw telefoon of vanuit berichten-apps terwijl u niet achter uw ontwikkelmachine bent.
  • U voert meerdere agentsessies parallel uit (drie projecten, vier projecten) en u hebt een supervisor nodig die het werk verdeelt en fouten op één plek aan het licht brengt.
  • U voert geplande of terugkerende agenttaken uit (nachtelijk genereren van inhoud, marktschrapen per uur, monitoring van implementaties) waarbij een door cron beheerde Hermes-run betrouwbaarder is dan het lokaal heropenen van Claude Code.
  • U hebt versleuteld geheimbeheer nodig omdat u clienttokens wisselt, in meerdere GitHub-organisaties werkt of paranoïde bent over de hygiëne van inloggegevens.
  • U bouwt automatisering die moet reageren op externe gebeurtenissen (webhooks, implementatiefouten, planningstriggers) zonder dat u achter het toetsenbord zit.

Hermes-orkestratie is overdreven wanneer:

  • Je werkt aan één project, aan je bureau, met redelijke werktijden. Open Claude Code gewoon in een terminal. De orkestratielaag voegt operationele complexiteit toe waar u geen voordeel uit zult halen.
  • U beschikt niet over de bovenstaande behoeften op het gebied van parallelle taken of bediening op afstand. De infrastructuurkosten (VPS, tijd besteed aan het leren van de Hermes-configuratie, beveiligingsonderhoud) wegen zwaarder dan de voordelen van gemak.
  • Je bent vroeg in je Claude Code-reis. Leer eerst Claude Code goed, en breng vervolgens Hermes er bovenop zodra je specifieke wrijvingspunten hebt geïdentificeerd die het zou oplossen. Begin niet met de orkestratielaag; u weet niet wat u ervan moet vragen.

Voor mij persoonlijk was het moment waarop Hermes zijn plaats verdiende het moment waarop ik Claude Code parallel op drie klantprojecten begon uit te voeren en iets nodig had om te onthouden welke sessie welke was, de juiste Discord-berichten naar het juiste projectkanaal te routeren en de implementatielogboeken gescheiden te houden. Voordien voegde ik alleen maar bewegende delen toe.

De snelheidsnummers, eerlijk gezegd

De David Andre-tutorial Ik heb deze workflow geleerd van claims van 4x tot 8x ontwikkelingssnelheidswinst. Ik wil voorzichtig zijn met dat getal, omdat de manier waarop je het meet ertoe doet.

Voor greenfield-projecten waarbij het werk bestaat uit "een CRUD-app opzetten en deze naar een gratis niveau verzenden" - ja, de versnelling is reëel. Wat mij vroeger een avond kostte van instellen, voorbereiden en debuggen, duurt nu minder dan vijftien minuten van de prompt naar de werkende URL. Dat is zoiets als een compressie van 10x voor die specifieke categorie werk.

Voor projectwerk waarbij het knelpunt ontwerpbeslissingen, productbeoordeling of domeinkennis is, is de versnelling veel kleiner, misschien 1,5x tot 2x. De agent is niet sneller dan ik bij het beslissen wat ik ga bouwen. Het is sneller bij het typen en lijmen. Wanneer de beperking verschuift naar het denken, helpt de orkestratielaag niet veel.

Voor onderhoud en refactoring op bestaande codebases ligt de winst ergens in het midden. Misschien 3x. Sneller dan handmatig, langzamer dan greenfield omdat de agent meer bestaande context moet laden en redeneren, en omdat ik de productiecode zorgvuldiger bekijk.

De composiet is, over de mix van werk dat ik feitelijk doe, ongeveer 2,5 keer zo groot geweest als de doorvoer sinds ik naar deze stapel ben verhuisd. Echt, maar niet de kop 8x.

Waar ik dit volgende mee naartoe neem

Het patroon waarmee ik nu experimenteer, is stemgestuurd in plaats van tekstgestuurd. Hermes ondersteunt een Telegram-spraaknotitietransport, en ik ben begonnen met het opnemen van snelle spraakmemo's waarin wordt beschreven wat ik wil laten bouwen terwijl ik loop of rijd. Fluistertranscribeert, Hermes routeert de getranscribeerde taak naar Claude Code op de VPS, en tegen de tijd dat ik achter een echt toetsenbord ga zitten, is het steigerwerk klaar. Het voelt minder als het besturen van een stuk gereedschap en meer als praten met een junior ingenieur die nooit slaapt.

Ik zal die opschrijven zodra ik de ruwe randen eruit heb geschud. Voorlopig is dit het systeem. Hermes op een VPS van $ 7. Claude Code als een sub-agent die de daadwerkelijke codering uitvoert. Discord als cockpit. GitHub en Vercel als rails. Gecodeerde tokens, gebruikers op de toelatingslijst, beperkte toegang tot tools. Een retry-lus die leert van zijn fouten.

Als je dit gaat proberen, begin dan klein. Sluit niet op de eerste dag de hele stapel aan. Start de VPS op, installeer Hermes, zorg ervoor dat een enkele Discord /status-opdracht werkt. Voeg vervolgens Claude Code toe als een sub-agent en voer een triviale taak uit: "maak een hello-world Express-app en voer deze uit." Voeg vervolgens de automatische implementatie van Vercel toe. Elke laag heeft zijn eigen faalwijzen, en je wilt ze afzonderlijk leren kennen voordat ze zich verergeren.

Er is één vraag die de moeite waard is om bij stil te staan ​​als je besluit of je dit gaat bouwen: hoeveel van het technische werk dat momenteel in je editor zit, zal over twaalf maanden in plaats daarvan in een chatvenster zitten? Mijn eerlijke gok is: meer dan je denkt. Leer dit patroon nu vloeiend beheersen, terwijl de kosten van het verkeerd zijn slechts een avondje experimenteren zijn. Als u het later vloeiend leert, betaalt u collegegeld binnen de deadlines voor uw klanten.

Veelgestelde vragen

Wat doet Hermes Agent dat Claude Code niet alleen kan doen?

Hermes verzorgt de orkestratielaag rond Claude Code: integraties van berichtenplatforms (Discord, Telegram, WhatsApp, Slack), gecodeerde tokenopslag, parallel sub-agent-toezicht, geplande taakuitvoering en platformonafhankelijke meldingen. Claude Code blijft het technische brein; Hermes is de bewerkingslaag. Voor het volledige overzicht van de architectuur, zie het gedeelte hierboven over waarom Hermes tussen u en Claude Code in zit.

Hoeveel kost het om Hermes plus Claude Code uit te voeren op een VPS?

Een werkbare installatie kost ongeveer $ 7 tot $ 12 per maand voor de VPS (introductieprijs van Hostinger KVM 2), plus uw modelgebruik op OpenRouter of directe Anthropic-facturering. Claude Sonnet 4.6 kost momenteel $3 per miljoen inputtokens en $15 per miljoen outputtokens via OpenRouter, dus de kosten per taak variëren afhankelijk van de complexiteit. De meeste dagen geef ik $ 2 tot $ 5 uit aan modelkosten voor de gehele Hermes-stack.

Is het veilig om een ​​AI-agentterminaltoegang te geven op mijn VPS?

Het is beheersbaar en niet zonder risico. Vergrendel Discord-kanalen en toelatingslijsten voor gebruikers, gebruik fijnmazige GitHub-tokens per repository, voer een firewall uit, schakel wachtwoord-SSH uit en roteer de sleutels elk kwartaal. Het gedeelte over beveiligingsafwegingen hierboven behandelt de specifieke controles die ik uitvoer. Behandel de VPS als productie-infrastructuur, niet als een sandbox.

Waarom is de implementatie van SQLite mislukt op Vercel?

Vercel voert elke API-route uit op AWS Lambda, waarbij het bestandssysteem alleen-lezen is buiten /tmp. SQLite moet naar een databasebestand schrijven, dus de runtime retourneert EROFS: read-only file system bij elke schrijfbewerking. De oplossing is om een ​​beheerde winkel zoals Vercel KV of Upstash Redis te gebruiken. Geef runtimebeperkingen altijd door aan de agent in de eerste prompt. Zie de sectie SQLite voor de exacte promptsjabloon die ik nu gebruik.

Wanneer moet ik Hermes overslaan en Claude Code gewoon rechtstreeks gebruiken?

Als u tijdens werkuren aan een enkel project aan uw bureau werkt, sla dan Hermes over; open Claude Code gewoon in een terminal. De orkestratielaag loont de moeite als u parallelle agenten, chatgestuurde controle op afstand, geplande taken of gecodeerd multi-tokenbeheer nodig heeft. Voor de meeste solo-ontwikkelaars in hun eerste maand met Claude Code is de lokale terminal het juiste antwoord.

Laten we samenwerken

Wilt u AI-systemen bouwen, workflows automatiseren of uw technische infrastructuur schalen? Ik help je graag.

Coffee cup

Vond u dit artikel leuk?

Uw steun helpt mij meer diepgaande technische content, open-source tools en gratis bronnen voor de ontwikkelaarsgemeenschap te maken.

Gerelateerde onderwerpen

Engr Mejba Ahmed

Over de auteur

Engr Mejba Ahmed

Engr. Mejba Ahmed builds AI-powered applications and secure cloud systems for businesses worldwide. With 10+ years shipping production software in Laravel, Python, and AWS, he's helped companies automate workflows, reduce infrastructure costs, and scale without security headaches. He writes about practical AI integration, cloud architecture, and developer productivity.

Discussion

Comments

0

No comments yet

Be the first to share your thoughts

Leave a Comment

Your email won't be published

9  x  5  =  ?

Blijf leren

Gerelateerde artikelen

Alles bekijken

Comments

Leave a Comment

Comments are moderated before appearing.

Learning Resources

Expand Your Knowledge

Accelerate your growth with structured courses, verified certificates, interactive flashcards, and production-ready AI agent skills.

Sample Certificate of Completion

Sample certificate — complete any course to earn yours

Engr Mejba Ahmed

Engr Mejba Ahmed

Claude Code Expert · Online

👋

Hey there!

Quick Actions

WhatsApp Instant reply

Chat on WhatsApp

+880 1723 741224 · Instant reply

Popular Questions

Engr Mejba Ahmed is connected
Engr Mejba Ahmed is typing...
Engr Mejba Ahmed avatar

✉ Want me to follow up? Drop your email

Engr Mejba Ahmed avatar

📞 Connect Directly

Choose how you'd like to reach me

WhatsApp

+880 1723 741224

Email

[email protected]

✓ Details sent! I'll get back to you shortly.

Powered by OpenAI

335+

Blog Posts

25

AI Courses

63

Projects

Services & Expertise

Pricing & Process

Learning & Resources

Connect & Support