Skip to main content
📝 Claude Code

Hermes + Claude Code: mein Discord-gesteuertes VPS Build System

Ich baute meinen Dev Workflow um Hermes Agent neu auf: Claude Code auf einem VPS, gesteuert über Discord und deployed zu Vercel.

25 min

Lesezeit

4,811

Wörter

May 01, 2026

Veröffentlicht

Engr Mejba Ahmed

Geschrieben von

Engr Mejba Ahmed

Artikel teilen

Hermes + Claude Code: mein Discord-gesteuertes VPS Build System

Hermes + Claude Code: Mein Discord-gesteuertes VPS Build System

Es war 23:51 Uhr an einem Dienstag, als ich /build a Next.js task tracker with SQLite, deploy it to Vercel in einen Discord-Kanal eintippte und wegging, um einen Kaffee zu kochen. Als der Wasserkocher anschlug, hatte mein Hermes-Agent Claude Code als sub-agent auf meinem Hostinger VPS hochgefahren, das Gerüst für das Projekt erstellt, einen ersten Commit für ein neues GitHub-Repo gepusht und eine Vercel-Bereitstellung ausgelöst.

Dann ist es fehlgeschlagen.

Nicht katastrophal. Nur die spezifische, vorhersehbare Art und Weise, wie Next.js-Apps scheitern, wenn Sie sie an eine serverless-Laufzeit senden, die SQLite-Annahmen aus der lokalen Entwicklung enthält. Der Bau wurde grün. Die Bereitstellung war in 31 Sekunden abgeschlossen. Die erste Anfrage an /api/tasks gab eine 500 mit einem Schreibberechtigungsfehler aus dem schreibgeschützten Dateisystem Vercel zurück, das jedes Lambda übergibt. Ich hatte Claude Code nichts über Laufzeitbeschränkungen erzählt – ich hatte nur gesagt: „Bereitstellen“. Der Agent hat genau das getan, was ich verlangt habe. Die Bereitstellungsplattform hatte andere Ideen.

Was als nächstes geschah, ist der Teil, von dem ich Ihnen erzählen möchte. Hermes empfing das Fehlerprotokoll über den Discord-Webhook, gab es als Folgeaufgabe an Claude Code zurück und Claude Code verbrachte die nächsten vier Minuten damit, die Datenschicht so umzugestalten, dass Vercel KV anstelle von SQLite verwendet wurde. Neues Commit. Neue Bereitstellung. Grün. Arbeitsendpunkt. Als ich aus der Küche zurückkam, sah ich eine Discord-Nachricht, die im Wesentlichen lautete: „Auf ein serverless-Dateisystemproblem gestoßen, auf KV umgestellt, erneut bereitgestellt. Demo hier.“ Die gesamte Schleife – von der ursprünglichen Eingabeaufforderung bis zur funktionierenden Produktionsbereitstellung – dauerte acht Minuten und dreiundvierzig Sekunden. Ich habe null Zeilen Code geschrieben.

Das ist das System, das ich zerstören möchte. Nicht die Marketingversion. Die tatsächliche Implementierung, die tatsächlichen Befehle und die Teile, die mich störten – einschließlich des Sicherheitskompromisses, den die meisten Tutorials überspringen, und der Frage, die ich mir jede Woche stelle: Wann lohnt sich diese Orchestrierungsebene tatsächlich und wann füge ich nur bewegliche Teile hinzu?

Warum Hermes zwischen mir und Claude Code steht

Lassen Sie mich zunächst auf die offensichtlich skeptische Frage eingehen, denn ich habe sie mir selbst etwa drei Wochen lang gestellt, bevor ich umgestiegen bin: Wenn Claude Code bereits Code planen, schreiben, ausführen und bereitstellen kann, warum setze ich dann einen weiteren Agenten darüber?

Die kurze Antwort lautet: Claude Code ist eine brillante Terminalsitzung und Hermes ist eine brillante Betriebsschicht. Sie lösen unterschiedliche Probleme.

Die Stärke von Claude Code liegt in der Tiefe einer einzelnen Aufgabe. Geben Sie ihm eine Codebasis, ein Ziel und ein Terminal, und es plant, schreibt, testet und iteriert mit einer Argumentationsqualität, die im Moment wirklich kaum zu übertreffen ist. Aber Claude Code allein sorgt natürlich nicht für den unordentlichen Betriebskleber. Es überwacht nicht seine eigenen Bereitstellungen und reagiert nicht auf Fehler. Es akzeptiert keine Befehle von Discord. Es läuft nicht auf einem VPS, während Sie schlafen, Sie jonglieren nicht mit drei Projekten parallel und speichern API-Tokens nicht verschlüsselt auf der Festplatte, sodass Sie sie nicht mehr in Chatboxen einfügen müssen. All das können Sie rund um Claude Code mit Shell-Skripten und Cron-Jobs aufbauen. Ich habe es versucht. Das Ergebnis ist ein zerbrechlicher Kleberhaufen, den Sie selbst pflegen müssen.

Hermes Agent ist der Kleber, aber eine sich selbst verbessernde Version davon. Gebaut von Nous Research und veröffentlicht am 25. Februar 2026, durchquerte es innerhalb von sieben Wochen 95.600 GitHub Sterne und liegt zum Zeitpunkt dieses Schreibens nördlich von 103.000 – die Art von Flugbahn, die man nur sieht, wenn etwas ein Problem löst, das Menschen tatsächlich haben. Hermes wird mit nativen Integrationen für WhatsApp, Telegram, Discord, Slack und jetzt QQBot, verschlüsselter Tokenspeicherung über Es ist MIT-lizenziert und läuft auf einem 5-Dollar-VPS.

Wenn Hermes Claude Code als sub-agent behandelt, erhalten Sie das Beste aus beiden. Claude Code übernimmt das eigentliche Engineering. Hermes übernimmt die Orchestrierung: wo die Arbeit ausgeführt wird, wer sie auslösen darf, wie Fehler wiederholt werden, wo die Geheimnisse gespeichert sind und auf welcher Messaging-Plattform Sie sich gerade befinden, wenn Sie den Status überprüfen möchten. Ich führe meinen Orchestrator nach dem gleichen VPS-Muster aus, das ich in [meinem OpenClaw- und

Es gibt einen tieferen Grund, warum diese Paarung funktioniert, und es geht um Kostendisziplin. Claude Code verbrennt bei einer langen autonomen Aufgabe Token. Hermes läuft gerne auf günstigeren Modellen für die Orchestrierungsschicht – der Großteil meines Hermes-Verkehrs fließt über OpenRouter auf leichteren Modellen, während Claude Sonnet 4.6 (derzeit 3 ​​$ pro Million Eingabetokens, 15 $ pro Million Ausgabetokens auf OpenRouter) nur die eigentliche Codierungsarbeit übernimmt. Durch die Aufteilung spare ich bei jedem Projekt echtes Geld und die Einsparungen erhöhen sich, wenn ich mehr parallele Aufgaben ausführe.

Aber das alles spielt keine Rolle, wenn Sie das Ding überhaupt nicht zum Laufen bringen können. Also lasst es uns verkabeln.

Die VPS Foundation: Warum ich aufgehört habe, Agenten lokal auszuführen

Ich habe Claude Code in den ersten sechs Monaten meiner Nutzung lokal auf meinem Mac ausgeführt. Das Muster war für die Einzelarbeit in Ordnung, aber es brach in dem Moment zusammen, in dem ich drei Dinge wollte: Aufgaben mit langer Laufzeit, die das Schließen des Laptops überleben, eine stabile Adresse für Discord-Webhooks und einen Ort, an dem mehrere parallele Agentensitzungen ausgeführt werden konnten, ohne bei Videoanrufen um meine CPU zu konkurrieren. Ein VPS löst alle drei auf einmal.

Ich verwende Hostinger. Ihr KVM 2-Plan kostet derzeit zur Einführung 6,99 $ pro Monat (Verlängerung etwa 11,99 $/month, das ist der Teil, über den die Marketingseiten schweigen) und bietet Ihnen 2 vCPUs, 8 GB RAM, NVMe-SSD-Speicher und eine dedizierte IP. Das ist ausreichend, um mehrere Claude Code-Sitzungen parallel zu orchestrieren. Ihr KVM 1 für 4,99 $/month mit 4 GB RAM funktioniert auch, wenn Sie jeweils nur einen Agenten ausführen – Hermes selbst ist erschreckend ressourcenschonend, da der größte Teil der schweren Arbeit innerhalb der Modellanbieter und nicht auf der Box stattfindet.

Wenn Sie ein Hetzner- oder DigitalOcean-Benutzer sind, funktionieren diese auch einwandfrei. Die einzigen wichtigen Anforderungen sind SSH-Zugriff, Ubuntu 22.04 oder neuer, Node.js 18+ und ausgehender Netzwerkzugriff auf Ihren Modellanbieter. Ich spezifiziere Hostinger, weil die im Lieferumfang enthaltene SSH-über-Browser-Konsole bedeutet, dass Sie Hermes von jedem Computer aus installieren können, einschließlich des iPad, auf dem ich diesen Absatz schreibe.

Sobald Sie den VPS haben, besteht der Installationsbefehl tatsächlich aus einer Zeile. SSH ein, dann ausführen:

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

Dadurch wird der Knoten gebootet, Hermes global installiert, ein ~/.hermes-Konfigurationsverzeichnis erstellt und Sie werden in einen Erstausführungsassistenten weitergeleitet, der Sie nach Ihren Modellanbieterschlüsseln fragt. Ich wähle zu diesem Zeitpunkt immer OpenRouter, anstatt direkt zu Anthropic zu gehen. Der Grund ist einfach: Mit OpenRouter kann ich Modelle pro Aufgabe austauschen, ohne die Konfiguration zu ändern, was wichtig ist, wenn ich Planungsarbeiten an ein günstiges Modell und die Ausführung an Claude Sonnet 4.6 oder Opus 4.7 weitergebe.

Legen Sie den OpenRouter-Schlüssel fest mit:

hermes config set OPENROUTER_API_KEY <your-key-here>

Dieser Befehl speichert den Schlüssel verschlüsselt in ~/.hermes/secrets.enc und nicht im Klartext, was wichtiger ist, als den Leuten bewusst ist. Ich habe mir zu viele Tutorials angesehen, in denen jemand Ihnen sagt, dass Sie export ANTHROPIC_API_KEY=sk-... in Ihrem .bashrc verwenden sollen, und es als gut bezeichnet. Dieser Schlüssel befindet sich jetzt in Ihrem Shell-Verlauf, Ihrem tmux-Scrollback und allen Backups Ihres Home-Verzeichnisses. Der verschlüsselte Speicher von Hermes hält ihn von allen drei Orten fern.

Nun der Teil, bei dem ich am längsten gebraucht habe, um es richtig zu machen: die Installation von Claude Code als sub-agent auf demselben VPS.

Claude Code als Hermes-Subagent

Claude Code ist eine Node.js-Anwendung, die über npm unter @anthropic-ai/claude-code verteilt wird. Die Standardinstallation auf dem VPS ist unkompliziert:

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

Die Versionsprüfung ist wichtig. Wenn Sie ab Mai 2026 etwas unter 1.4.x sehen, fehlen Ihnen die sub-agent-Verbesserungen, die Anfang dieses Jahres eingeführt wurden, und der Rest dieses Workflows verhält sich nicht so, wie ich es beschreibe.

Der interessante Teil ist die Authentifizierung von Claude Code ohne interaktiven Desktop. Wenn Sie claude-code zum ersten Mal auf einem neuen VPS ausführen, wird eine OAuth-URL gedruckt und darauf gewartet, dass Sie den Vorgang in einem Browser abschließen. Auf einem Headless VPS ist das leicht nervig, aber nicht blockierend – die URL funktioniert von jedem Gerät aus. Öffnen Sie es auf Ihrem Laptop, schließen Sie den OAuth-Handshake ab und Claude Code speichert das Token in ~/.config/claude-code/credentials.json auf dem VPS. Von diesem Moment an verfügt Ihr VPS über einen angemeldeten Claude Code, der Neustarts übersteht.

Jetzt verbinden Sie Claude Code mit Hermes als registrierter sub-agent. Die Hermes-Konfiguration dafür befindet sich unter ~/.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

Der max_concurrent = 3 ist die Linie, auf die ich Ihre Aufmerksamkeit lenken möchte. Es steuert, wie viele parallele Claude Code-Sitzungen Hermes erzeugen dürfen. Ich habe bei 1 angefangen und mich gesteigert. Bei 3 läuft meine KVM 2-Box warm, aber stabil. Bei 5 habe ich Node OOM unter Last gesehen, als alle drei Sitzungen gleichzeitig npm install erreichten. Passen Sie dies an Ihren VPS an, nicht an das, was im Dokumentbeispiel angezeigt wird.

Der Wert timeout_seconds = 1800 bedeutet, dass Hermes jede einzelne Claude Code-Aufgabe beendet, die länger als 30 Minuten ausgeführt wird. Das klingt aggressiv, bis Sie gesehen haben, wie sich Claude Code aufgrund einer vagen Eingabeaufforderung in eine Endlosschleife „Planen, Ausführen, Neuplanen“ verkeilt. Es ist besser, schnell zu scheitern und das Problem an die Oberfläche zu bringen, als einen feststeckenden Agenten über Nacht Token verbrennen zu lassen.

GitHub-Integration ohne Einfügen von Token in den Chat

Dies ist der Abschnitt, in dem mich die meisten Tutorials verlieren. Sie werden aufgefordert, Ihr persönliches GitHub-Zugriffstoken direkt in das Chatfenster des Agenten einzufügen, damit dieser Repos klonen und Commits pushen kann. Das ist ein Rezept für versehentliches Token-Lecks – in Chat-Protokolle, in den Verlauf des Modellanbieters, in Screenshots, die Sie beim Debuggen machen.

Hermes handhabt dies anders. Sie generieren ein differenziertes persönliches Zugriffstoken aus den Entwicklereinstellungen von Speichern Sie es dann über denselben verschlüsselten Konfigurationsbefehl:

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

In Ihrem Claude Code-Arbeitsverzeichnis weisen Sie git an, das Token über die Umgebungsinjektion von Hermes zu verwenden, anstatt es in eine Remote-URL einzubetten. Meine Git-Konfiguration auf dem VPS sieht so aus:

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

Diese kleine Shell-Funktion ruft das Token aus der Umgebung ab, die Hermes zur Laufzeit einfügt, sodass Ihre Remote-URLs sauber bleiben (https://github.com/user/repo.git, keine eingebetteten Anmeldeinformationen), Ihr Token nie in der git config --list-Ausgabe erscheint und das Drehen des Tokens nur eine Zeile hermes config set entfernt ist.

Das feinkörnige Token-Stück ist wichtig. Ich habe gesehen, dass Entwickler ihrer Automatisierung ein klassisches persönliches Zugriffstoken mit vollem repo-Geltungsbereich gewährt haben, das dem Agenten Schreibzugriff auf jedes private Repository in seinem Konto gewährt, einschließlich Client-Arbeit und Nebenprojekten. Tu das nicht. Generieren Sie pro Projekt ein separates, feinkörniges Token, das nur auf das Repository dieses Projekts beschränkt ist. Wenn der Agent abtrünnig wird oder der VPS kompromittiert wird, beträgt Ihr Explosionsradius ein Repo und nicht Ihre gesamte GitHub-Präsenz.

Der Discord-Bot, der alles antreibt

Durch die Ebene Discord fühlt sich dieser Workflow wie Science-Fiction statt wie Cron-Jobs an. Ich kann in einer Besprechung, im Zug, auf meiner Couch sein – überall dort, wo ich Discord geöffnet habe – und Code versenden, indem ich natürliche Sprache an einen Bot eingebe.

Der Aufbau dauert beim ersten Mal etwa zehn Minuten. Gehen Sie das genau durch:

  1. Öffnen Sie das Discord Developer Portal, klicken Sie auf „Neue Anwendung“ und benennen Sie sie nach Ihren Wünschen. 2. Klicken Sie im linken Navigationsbereich auf „Bot“. Scrollen Sie auf dieser Seite nach unten zu Privileged Gateway Intents und schalten Sie Message Content Intent ein. Dies ist der Punkt, den die meisten Tutorials vergessen. Ohne sie kann Ihr Bot lesen, dass eine Nachricht existiert, aber nicht, was darin enthalten ist. Sie werden eine Stunde damit verbringen, die Frage „Warum ignoriert mich mein Bot“ zu debuggen, bevor Sie dieses Kontrollkästchen finden. 3. Klicken Sie auf der Bot-Seite auf „Token zurücksetzen“ und kopieren Sie den Token sofort – Discord zeigt ihn nur einmal an. 4. Gehen Sie zu „OAuth2“ → „URL-Generator“. Aktivieren Sie unter Umfänge die Einträge bot und applications.commands. Aktivieren Sie unter Bot-Berechtigungen die Einträge Send Messages, Read Message History, Use Slash Commands und Attach Files. Discord generiert unten auf der Seite eine Einladungs-URL. 5.

Öffnen Sie diese URL, wählen Sie den Server aus, auf dem der Bot installiert werden soll, und autorisieren Sie ihn. Es wird offline angezeigt, da wir den Vorgang noch nicht gestartet haben.

Zurück auf dem VPS speichern Sie das Bot-Token in Hermes:

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

Aktivieren Sie dann den Discord-Transport in ~/.hermes/transports.toml:

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

allowed_channel_ids und allowed_user_ids sind die Sicherheitsebene, die in keinem Blogbeitrag hervorgehoben zu werden scheint. Ohne diese Zulassungslisten kann jeder, der Ihrem Bot eine DM senden kann, Claude Code auf Ihrem VPS steuern. Mit ihnen gehorcht Ihnen der Bot nur in den Kanälen, die Sie ausdrücklich autorisiert haben. Erhalten Sie Ihre Discord-Benutzer-ID, indem Sie den Entwicklermodus in den Discord-Einstellungen aktivieren und dann mit der rechten Maustaste auf Ihren Benutzernamen klicken → Benutzer-ID kopieren.

Starten Sie Hermes (hermes restart) neu und der Bot geht online. Geben Sie /status in Ihren autorisierten Kanal ein. Wenn Sie eine Antwort sehen, ist die Schleife geschlossen. Von diesem Punkt an geht jeder Befehl, den Sie in Discord eingeben, über Discord → Hermes → Claude Code → zurück zu Discord. Sie steuern Produktions-Builds über eine Chat-App.

Vercel Automatische Bereitstellung: Die letzte Meile

Vercel ist das Bereitstellungsziel, das ich standardmäßig für alles Next.js oder statisches Frontend verwende, und die Integration ist herrlich langweilig, wenn sie einmal eingerichtet ist. Verbinden Sie Ihr Konto Erledigt.

Der Hobby-Plan ist derjenige, mit dem ich die meisten Experimente durchführe, und es lohnt sich, die Grenzen zu kennen, weil sie einen auf bestimmte Weise belasten. Ab Mai 2026 bietet Ihnen Hobby 100 GB Bandbreite pro Monat, 1 Million Edge-Anfragen und 100.000 serverless-Funktionsaufrufe. Das Funktions-Timeout ist fest auf 60 Sekunden begrenzt und es gibt keine Überschreitungsoption für die Bandbreite – erreichen Sie 100 GB und Ihre Bereitstellungen werden bis zum nächsten Abrechnungszyklus gestoppt. Für Experimente und Demos ist das alles in Ordnung. Wenn es wirklich auf die Betriebszeit ankommt, führen Sie ein Upgrade auf Pro durch, bevor Sie an die Wand stoßen, nicht erst danach.

Das Vercel-Teil fügt der Schleife eine weitere Runde hinzu: Ich gebe /build in Discord ein → Hermes leitet zu → Vercel erstellt und implementiert → Hermes fragt die Vercel-Bereitstellungs-URL ab und meldet den Status an Discord zurück. Eine End-to-End-Bereitstellung erfolgt in etwa 30 Sekunden. Wenn Sie zum ersten Mal sehen, wie sich die Schleife bei einem Projekt schließt, das Sie aus einer einzigen Chat-Nachricht aufgebaut haben, fällt es Ihnen schwer, nicht zu lachen.

Der SQLite-Fehler: Ein Tutorial darüber, warum serverlose Architektur nervt

Nun zu dem Fehler, den ich eingangs beschrieben habe, denn es sind die nützlichsten fünf Minuten dieses gesamten Beitrags.

Als Claude Code das Gerüst für meinen Next.js-Task-Tracker erstellte, tat es etwas völlig Vernünftiges: Es wählte SQLite als Speicher aus. SQLite ist die richtige Antwort für fast jedes kleine Node.js-Projekt. Es ist konfigurationsfrei, wird als einzelne Datei geliefert und macht den gesamten Schritt „Datenbank hochfahren“ überflüssig. Wenn ich diese App auf einem Hostinger VPS oder einem Container mit langer Laufzeit bereitgestellt hätte, hätte es wunderbar funktioniert.

Vercel ist kein Container mit langer Laufzeit. Vercel ist serverless. Jede API-Route wird innerhalb einer AWS Lambda-Funktion ausgeführt, und Lambda hat Regeln: Das Dateisystem ist schreibgeschützt, mit Ausnahme von /tmp, das kurzlebig ist und nicht von allen Aufrufen gemeinsam genutzt wird. SQLite muss in seine Datenbankdatei schreiben. Die Datenbankdatei in meinem Projekt befand sich unter ./data/tasks.db. Als Lambda versuchte, diese Datei zum Schreiben zu öffnen, gab die Laufzeit EROFS: read-only file system zurück, meine API-Route gab 500 zurück und die Bereitstellung war „erfolgreich“, obwohl sie völlig funktionsunfähig war.

Dies ist der spezifische Fehlermodus, den Sie verinnerlichen müssen, bevor Sie einen autonomen Agenten Code an serverless-Plattformen senden lassen: Der Agent kennt die Laufzeittopologie Ihres Ziels nicht, es sei denn, Sie sagen es ihm. Claude Code kannte Next.js. Es kannte SQLite. Es war standardmäßig nicht bekannt, dass diese spezielle Vercel-Bereitstellung Dateisystemschreibvorgänge außerhalb von /tmp verbietet.

Der Fix, den die Wiederholungsschleife von Vercel KV (oder Upstash Redis, das dahinter steckt) bietet Ihnen dauerhaften Speicher, der über Funktionsaufrufe hinweg funktioniert, mit einem kostenlosen Kontingent, das den Demo-Verkehr bequem abwickelt. Claude Code hat die Datenschicht in etwa vier Minuten umgestaltet, die erneute Bereitstellung wurde grün und die App funktionierte.

Aber hier ist die tiefere Lektion, die ich jetzt in jede Hermes-Eingabeaufforderung einbaue, die ich für Produktionsbereitstellungen schreibe: Teilen Sie dem Agenten die Laufzeitbeschränkungen im Voraus mit. Meine aktuelle Standard-Eingabeaufforderungsvorlage enthält einen zielspezifischen Absatz für Vercel-Projekte:

Zielbereitstellung: Vercel serverless. Einschränkungen: Keine Dateisystemschreibvorgänge außerhalb von /tmp, Funktionstimeout 60 Sekunden, keine lang laufenden Hintergrundarbeiter, bevorzugt Vercel KV oder externe verwaltete Dienste für den Status. Verwenden Sie Edge Runtime, wenn es latenzempfindlich ist.

Dieser einzelne Kontextblock, der jeder Vercel-Zielaufgabe vorangestellt wird, hat die Fehlerkategorie „SQLite-on-serverless“ vollständig eliminiert. Der Agent ist kein Hellseher. Sagen Sie ihm, was die Produktionsumgebung erfordert.

Das Sicherheitsgespräch, das die meisten Tutorials überspringen

Ich werde es hier direkt sagen, denn die luftige „Sehen Sie, wie einfach es ist“-Version dieses Artikels wäre unverantwortlich. Wenn Sie Hermes vollen Terminalzugriff auf einen VPS gewähren – und das ist genau das, was Sie tun, wenn Sie Claude Code mit entfaltet sich.

Drei Dinge sollten Sie zum Nachdenken anregen, bevor Sie diesen Schalter umlegen.

Erstens ist die sofortige Injektion real und nicht theoretisch. Wenn Ihr Discord-Bot zum Lesen von Nachrichten konfiguriert ist und Ihr Agent über Terminalzugriff verfügt, hat jeder, der Ihren Agenten über manipulierte Eingaben dazu verleiten kann, einen böswilligen Befehl auszuführen, Root-äquivalenten Zugriff auf Ihren VPS. Die allowed_user_ids-Zulassungsliste in Ihrer Hermes Discord-Konfiguration ist hier Ihr wichtigster Schutz. Wenn ein Fremder Ihrem Bot eine DM schicken kann, haben Sie bereits verloren. Sperren Sie die Kanal- und Benutzerzulassungslisten streng.

Zweitens ist ein kompromittierter VPS ein kompromittiertes Alles. Behandeln Sie den VPS genauso wie jeden Produktionsserver. Passwort-SSH deaktivieren (nur Schlüssel). Aktivieren Sie eine Firewall – ufw enable && ufw allow 22 && ufw default deny incoming ist das absolute Minimum. Führen Sie unbeaufsichtigte Upgrades für Sicherheitspatches durch. Sichern Sie Ihr ~/.hermes/secrets.enc verschlüsselt und wechseln Sie die Schlüssel vierteljährlich. Nichts davon ist paranoid. Dabei handelt es sich um die Grundkosten für den Betrieb eines automatisierten Agenten, der sich Dinge aneignen kann.

Drittens sollten Sie die Werkzeuge des Agenten gezielt einsetzen. Das allowed_tools-Array in meiner Hermes-Konfiguration ist ["Read", "Write", "Edit", "Bash", "Glob", "Grep", "WebSearch"]. Beachten Sie, was nicht vorhanden ist: alles, was Daten außerhalb der genehmigten Kanäle herausfiltern könnte. Ich gewähre dem sub-agent keinen Zugriff auf beliebige HTTP-POST-Funktionen, E-Mail-Clients oder Cloud-Provider-CLIs, die für das Projekt nicht relevant sind. Je schmaler die Werkzeugoberfläche, desto kleiner ist der Strahlradius, falls etwas schief geht.

Speziell für die Arbeit mit Kunden führe ich für jedes Projekt mit hoher Vertrauenswürdigkeit einen separaten VPS aus. Die Kosten betragen zwölf Dollar pro Monat für zwei statt einer Box, und die Isolierung bedeutet, dass ein einzelnes gefährdetes Projekt die anderen nicht gegenseitig kontaminieren kann. Das ist eine günstige Versicherungspolice.

Die ehrliche Zusammenfassung lautet: Dieser Workflow verleiht einem AI-Agenten erhebliche operative Leistung. Die Produktivitätsgewinne sind real, aber sie sind mit Risiken verbunden, die aktiv gemanagt werden müssen. Wenn Sie nicht bereit sind, die Sicherheitsarbeit zu leisten, führen Sie Claude Code lokal aus und akzeptieren Sie die Einschränkungen.

Wann lohnt sich die Hermes-Orchestrierung tatsächlich?

Ich möchte diese Frage direkt beantworten, da dies die Frage ist, die mir am häufigsten gestellt wird und die Antwort nicht „immer“ lautet.

Hermes-Orchestrierung lohnt sich, wenn Sie zwei der folgenden Voraussetzungen erfüllen:

  • Sie möchten die Codierungsarbeit von Ihrem Telefon oder über Messaging-Apps aus vorantreiben, während Sie nicht an Ihrem Entwicklungscomputer sind.
  • Sie führen mehrere Agentensitzungen parallel durch – drei Projekte, vier Projekte – und benötigen einen Vorgesetzten, der die Arbeit verteilt und Fehler an einem Ort aufdeckt.
  • Sie führen geplante oder wiederkehrende Agentenaufgaben aus (nächtliche Inhaltsgenerierung, stündliche Marktabfragen, Bereitstellungsüberwachung), bei denen eine von einem Cron verwaltete Ausführung von Hermes zuverlässiger ist als das lokale erneute Öffnen von Claude Code.
  • Sie benötigen eine verschlüsselte Geheimverwaltung, weil Sie Client-Token rotieren, über mehrere GitHub-Organisationen hinweg arbeiten oder Angst vor der Hygiene von Anmeldeinformationen haben.
  • Sie erstellen eine Automatisierung, die auf externe Ereignisse reagieren muss – Webhooks, Bereitstellungsfehler, Planungsauslöser –, ohne dass Sie an der Tastatur sitzen müssen.

Hermes-Orchestrierung ist übertrieben, wenn:

  • Sie arbeiten an Ihrem Schreibtisch und mit angemessenen Arbeitszeiten an einem einzelnen Projekt. Öffnen Sie einfach Claude Code in einem Terminal. Die Orchestrierungsebene erhöht die betriebliche Komplexität, von der Sie keinen Nutzen haben.
  • Sie haben keine der oben genannten Anforderungen an parallele Aufgaben oder Fernsteuerung. Die Infrastrukturkosten (VPS, Zeitaufwand für das Erlernen der Hermes-Konfiguration, Sicherheitswartung) überwiegen den Komfortgewinn.
  • Sie befinden sich am Anfang Ihrer Claude Code-Reise. Machen Sie sich zunächst mit Claude Code gut vertraut und legen Sie dann Hermes darüber, sobald Sie die spezifischen Reibungspunkte identifiziert haben, die gelöst werden sollen. Beginnen Sie nicht mit der Orchestrierungsebene – Sie werden nicht wissen, was Sie von ihr erwarten sollen.

Für mich persönlich war der Moment, in dem Hermes seinen Platz verdiente, der, als ich anfing, Claude Code auf drei Client-Projekten parallel auszuführen und etwas brauchte, um mich daran zu erinnern, welche Sitzung welche war, die richtigen Discord-Nachrichten an den richtigen Projektkanal weiterzuleiten und die Bereitstellungsprotokolle getrennt zu halten. Davor habe ich nur bewegliche Teile hinzugefügt.

Die Geschwindigkeitszahlen, ehrlich

Das Tutorial von David Andre, aus dem ich diesen Workflow gelernt habe, behauptet, dass sich die Entwicklungsgeschwindigkeit um das Vierfache bis Achtfache erhöht. Ich möchte mit dieser Zahl vorsichtig sein, denn die Art und Weise, wie Sie sie messen, ist wichtig.

Bei Greenfield-Projekten, bei denen die Arbeit darin besteht, „eine CRUD-App zu erstellen und sie auf eine kostenlose Stufe zu übertragen“ – ja, die Beschleunigung ist real. Wofür ich früher einen Abend mit Einrichtung, Gerüstbau und Bereitstellungs-Debugging brauchte, dauert es jetzt weniger als fünfzehn Minuten von der Eingabeaufforderung bis zur funktionierenden URL. Das ist so etwas wie eine 10-fache Komprimierung dieser spezifischen Arbeitskategorie.

Bei Projektarbeiten, bei denen Designentscheidungen, Produktbeurteilungen oder Domänenverständnis der Engpass sind, ist die Beschleunigung viel geringer, vielleicht 1,5- bis 2-fach. Der Agent ist nicht schneller als ich bei der Entscheidung, was gebaut werden soll. Bei den Schreib- und Klebestellen geht es schneller. Wenn sich die Einschränkung auf das Denken verlagert, hilft die Orchestrierungsebene nicht viel.

Bei der Wartung und Umgestaltung bestehender Codebasen liegen die Vorteile irgendwo in der Mitte. Vielleicht 3x. Schneller als manuell, langsamer als auf der grünen Wiese, weil der Agent mehr vorhandenen Kontext laden und berücksichtigen muss und weil ich den Produktionscode sorgfältiger überprüfe.

Seit ich auf diesen Stack umgestiegen bin, hat sich der Gesamtdurchsatz über die gesamte Arbeitsweise, die ich tatsächlich erledige, um etwa das 2,5-fache erhöht. Echt, aber nicht die Schlagzeile 8x.

Wohin ich das als nächstes bringe

Das Muster, mit dem ich gerade experimentiere, ist sprachgesteuert und nicht textgesteuert. Hermes unterstützt die Übertragung von Sprachnotizen per Telegram, und ich habe damit begonnen, kurze Sprachnotizen aufzuzeichnen, in denen beschrieben wird, was ich bauen möchte, während ich gehe oder fahre. Whisper transkribiert, Hermes leitet die transkribierte Aufgabe an Claude Code auf dem VPS weiter, und als ich mich an eine echte Tastatur setze, ist die Gerüstarbeit erledigt. Es fühlt sich weniger so an, als würde man ein Werkzeug bedienen, sondern eher wie ein Gespräch mit einem jungen Ingenieur, der niemals schläft.

Ich werde das aufschreiben, sobald ich die Ecken und Kanten ausgemerzt habe. Im Moment ist das das System. Hermes auf einem 7 $ VPS. Claude Code als sub-agent, der die eigentliche Codierung durchführt. Discord als Cockpit. GitHub und Vercel als Schienen. Verschlüsselte Token, Benutzer auf der Zulassungsliste, begrenzter Toolzugriff. Eine Wiederholungsschleife, die aus ihren Fehlern lernt.

Wenn Sie dies versuchen möchten, fangen Sie klein an. Verkabeln Sie nicht gleich am ersten Tag den gesamten Stack. Starten Sie VPS, installieren Sie Hermes und sorgen Sie dafür, dass ein einzelner Befehl Discord /status funktioniert. Fügen Sie dann Claude Code als sub-agent hinzu und führen Sie eine triviale Aufgabe aus: „Erstellen Sie eine Hello-World-Express-App und schreiben Sie sie fest.“ Fügen Sie dann die automatische Bereitstellung Vercel hinzu. Jede Schicht hat ihre eigenen Fehlermodi, und Sie möchten sie isoliert lernen, bevor sie sich verstärken.

Es gibt eine Frage, mit der Sie sich befassen sollten, wenn Sie entscheiden, ob Sie dies erstellen möchten: Wie viel der technischen Arbeit, die sich derzeit in Ihrem Editor befindet, wird in zwölf Monaten stattdessen in einem Chat-Fenster liegen? Meine ehrliche Wette ist: mehr als Sie denken. Beherrschen Sie dieses Muster jetzt fließend, während der Preis, wenn man falsch liegt, nur ein abendliches Experimentieren ist. Wenn Sie es später fließend beherrschen, zahlen Sie die Studiengebühren innerhalb der Kundenfristen.

Häufig gestellte Fragen

Was macht Hermes Agent, was Claude Code alleine nicht kann?

Hermes verwaltet die Orchestrierungsschicht rund um Claude Code: Messaging-Plattform-Integrationen (Discord, Telegram, WhatsApp, Slack), verschlüsselte Token-Speicherung, parallele sub-agent-Überwachung, geplante Aufgabenausführung und plattformübergreifende Benachrichtigungen. Claude Code bleibt das technische Gehirn; Hermes ist die Operationsschicht. Die vollständige Aufschlüsselung der Architektur finden Sie im obigen Abschnitt darüber, warum Hermes zwischen Ihnen und Claude Code liegt.

Wie viel kostet es, Hermes plus Claude Code auf einem VPS auszuführen?

Ein praktikables Setup kostet etwa 7 bis 12 US-Dollar pro Monat für den VPS (Hostinger KVM 2-Einführungspreis) zuzüglich Ihrer Modellnutzung auf OpenRouter oder direkter Anthropic-Abrechnung. Claude Sonnet 4.6 kostet derzeit über OpenRouter 3 US-Dollar pro Million Eingabetokens und 15 US-Dollar pro Million Ausgabetokens, sodass die Kosten pro Aufgabe je nach Komplexität variieren. An den meisten Tagen gebe ich 2 bis 5 US-Dollar an Modellgebühren für den gesamten Hermes-Stack aus.

Ist es sicher, einem AI-Agententerminal Zugriff auf meinen VPS zu gewähren?

Es ist beherrschbar und nicht frei von Risiko. Sperren Sie Discord-Kanal- und Benutzer-Zulassungslisten, verwenden Sie fein abgestufte GitHub-Tokens pro Repository, führen Sie eine Firewall aus, deaktivieren Sie Passwort-SSH und wechseln Sie die Schlüssel vierteljährlich. Der obige Abschnitt über Sicherheitskompromisse behandelt die spezifischen Kontrollen, die ich ausführe. Behandeln Sie den VPS als Produktionsinfrastruktur und nicht als Sandbox.

Warum ist die SQLite-Bereitstellung auf Vercel fehlgeschlagen?

Vercel führt jede API-Route auf AWS Lambda aus, wobei das Dateisystem außerhalb von /tmp schreibgeschützt ist. SQLite muss in eine Datenbankdatei schreiben, daher gibt die Laufzeit bei jedem Schreibvorgang EROFS: read-only file system zurück. Die Lösung besteht darin, einen verwalteten Speicher wie Vercel KV oder Upstash Redis zu verwenden. Übergeben Sie immer Laufzeiteinschränkungen an den Agenten in der ersten Eingabeaufforderung. Die genaue Eingabeaufforderungsvorlage, die ich jetzt verwende, finden Sie im Abschnitt SQLite.

Wann sollte ich Hermes überspringen und einfach Claude Code direkt verwenden?

Wenn Sie während der Arbeitszeit an einem einzelnen Projekt an Ihrem Schreibtisch arbeiten, überspringen Sie Hermes – öffnen Sie einfach Claude Code in einem Terminal. Die Orchestrierungsebene zahlt sich aus, wenn Sie parallele Agenten, chatgesteuerte Fernsteuerung, geplante Aufgaben oder verschlüsselte Multi-Token-Verwaltung benötigen. Für die meisten Solo-Entwickler im ersten Monat mit Claude Code ist das lokale Terminal die richtige Antwort.

Lasst uns zusammenarbeiten

Möchten Sie AI-Systeme aufbauen, Arbeitsabläufe automatisieren oder Ihre technische Infrastruktur skalieren? Ich würde gerne helfen.

Coffee cup

Hat Ihnen dieser Artikel gefallen?

Ihre Unterstützung hilft mir, mehr tiefgehende technische Inhalte, Open-Source-Tools und kostenlose Ressourcen für die Entwickler-Community zu erstellen.

Verwandte Themen

Engr Mejba Ahmed

Über den Autor

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  +  10  =  ?

Weiter lernen

Verwandte Artikel

Alle anzeigen

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