Hermes Agent oder OpenClaw auf dem VPS? Vergleich
Hermes Agent oder OpenClaw für einen persistenten Agenten? Der Vergleich vom September 2026 prüft Ports, Sandbox, Speicher, Skills und Claude-Authentifizierung.
Die kurze Antwort
Hermes Agent und OpenClaw stellen Ihnen beide einen persistenten Agenten auf einem VPS bereit, den Sie über eine Chat-Anwendung erreichen können. Wählen Sie Hermes Agent, wenn die Hauptaufgabe des Agenten wiederkehrende Arbeiten sind: geplante Aufgaben und Abläufe, die er einmal lernen und anschließend wiederverwenden soll. Wählen Sie OpenClaw, wenn die Hauptaufgabe die Erreichbarkeit ist: ein Assistent, der auf WhatsApp, Telegram, Discord, Slack und mehr als zwanzig weiteren Kanälen antwortet und durch Pakete aus einer öffentlichen Registry erweitert werden kann. Beide lassen sich über die CLI (command-line interface) und über den Chat bedienen. Die Wahl hängt daher davon ab, welchen Schwerpunkt das jeweilige Projekt setzt und welche Komponenten es auf Ihrem Server öffnet.
Dieser Vergleich basiert auf dem Hermes-Agent-Tag v2026.9.7 (7. September 2026, veröffentlicht als v0.21.1) und dem OpenClaw-Tag v2026.9.4 (11. September 2026). Am 10. Oktober 2026 wurde er anhand der aktuellen Dokumentation beider Projekte erneut geprüft. Beide Projekte veröffentlichen häufig neue Versionen. Prüfen Sie daher bei Änderungen die Dokumentation. Die aktuelle stabile OpenClaw-Version ist nun v2026.9.9 (8. Oktober 2026). Hermes ist von Datums-Tags zu Versions-Tags gewechselt; v0.21.6 wurde am 8. Oktober 2026 veröffentlicht. Jede folgende Aussage stammt aus der Dokumentation des jeweiligen Projekts oder aus einer der beiden genannten externen Quellen, sofern diese verwendet wird.
Wofür die einzelnen Projekte stehen: Agent-first oder Gateway-first
Der Vergleich von Hostinger bezeichnet Hermes Agent als „agent-first“ und OpenClaw als „gateway-first“. Diese Einordnung ist zutreffend und der schnellste Weg, die beiden Projekte zu verstehen.
Hermes Agent von Nous Research ist um einen Worker herum aufgebaut. Sie übergeben ihm eine Aufgabe. Er führt die Aufgabe in einem Terminal-Backend aus und speichert die gewonnenen Erkenntnisse als Skill. Außerdem speichert er einige dauerhafte Fakten in einem kleinen Speicher. Chat ist eine von mehreren Möglichkeiten, Arbeit zu übergeben. CLI, cron jobs, das Messaging-Gateway und die Desktop-App verwenden denselben Agenten. Das Gateway ist eine Funktion, die Sie mit hermes gateway setup aktivieren, und nicht die Komponente, die Sie installieren.
OpenClaw ist um sein Gateway herum aufgebaut. Das Gateway ist ein dauerhaft laufender Prozess. In der Dokumentation wird es als zentrale Quelle für Sessions, Routing und Kanalverbindungen bezeichnet. Modelle und Agent-Harnesses werden als Plugins daran angebunden. In der README werden Claude, Codex und lokale Modelle als austauschbare Harnesses genannt. Die Reichweite ist das Produkt. Der Agent ist eine der Komponenten, die das Gateway hostet.
Die beiden Projekte haben jeweils gute Ideen des anderen übernommen. Beide ordnen unbekannte Chat-Absender jetzt einem Code zu, bevor diese mit dem Bot kommunizieren können. Beide ermöglichen es dem Agenten inzwischen auch, eigene Skills zu schreiben: Hermes über sein skill_manage-Tool und OpenClaw über seine Skill Workshop. Die grundlegende Einordnung bleibt bestehen: Hermes ist ein Worker mit einer Chat-Oberfläche, und OpenClaw ist ein Chat-Hub mit einem Worker dahinter.
Installationspfad und VPS-Footprint
Keines der beiden Projekte dokumentiert einen Mindestbedarf an RAM oder CPU. Daher wird hier kein solcher Wert erfunden. Beide Agents benötigen im Vergleich zu den von ihnen ausgeführten Modellaufrufen wenig Ressourcen. Die tatsächliche Last auf dem System hängt davon ab, was Sie den Agent ausführen lassen. Wie viel RAM und CPU ein Coding-Agent-VPS benötigt leitet die Dimensionierung aus der Arbeitslast ab und nicht aus dem Agent.
Eine dokumentierte Zahl ist dennoch relevant. Wenn Hermes sein Docker-Terminal-Backend verwendet, setzen die Dokumente die Limits des Sandbox-Containers standardmäßig auf container_cpu: 1 und container_memory: 5120 (in MB). Diese Werte begrenzen den Container, beschreiben aber keinen gemessenen Bedarf. Ein kleinerer VPS kann diese Limits jedoch nicht einhalten.
Hermes wird mit einem Skript installiert. Aktuelle Installationen verwenden Python 3.14. Der Installer lädt diese Version über ein eigenes, festgelegtes und per Prüfsumme verifiziertes uv und nicht über die Systeminstallation. Unter Linux benötigt das Skript zunächst git, curl, tar und SHA-256-Werkzeuge (sha256sum aus coreutils). Auf glibc-Systemen benötigt die verwaltete Node.js-Installation außerdem libatomic. Der Installer fügt dieses Paket hinzu, wenn es fehlt.
sudo apt update && sudo apt install -y git curl tar coreutils
curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash
source ~/.bashrc
hermes doctorDer Code wird als bearbeitbarer git-Checkout in ~/.hermes/hermes-agent/ abgelegt. Das Kommando befindet sich in ~/.local/bin/hermes. Alle Daten liegen unter ~/.hermes/. Der Installer benötigt nie root. Er ruft sudo nur auf, wenn einem Nicht-root-Benutzer libatomic fehlt. Die Dokumentation empfiehlt, den Installer als der Benutzer auszuführen, unter dem der Agent später läuft, weil dieser Benutzer Eigentümer des Checkouts, der Konfiguration und des Launchers ist. Die Dokumentationsseite beschreibt keine Möglichkeit zum Festlegen einer Version. Das Installationsskript akzeptiert jedoch --commit SHA. Damit wird der Checkout nach dem Klonen oder Aktualisieren auf einen bestimmten Commit festgelegt. Das Skript bricht ab, wenn sich dieser Commit nicht auf dem zu installierenden Branch befindet. Ermitteln Sie den Commit hinter dem Tag, exportieren Sie ihn als HERMES_SHA und übergeben Sie ihn mit:
git ls-remote --tags https://github.com/NousResearch/hermes-agent v2026.9.7
curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash -s -- --commit "$HERMES_SHA"Wenn ls-remote zwei Zeilen ausgibt, verwenden Sie die Zeile, die mit ^{} endet. Das ist der Commit, auf den das annotierte Tag verweist. --commit erwartet eine Commit-SHA und kein Tag-Objekt. Nach der Installation wählt hermes model den Provider und das Modell aus, hermes tools aktiviert Tools, hermes setup führt den gesamten Assistenten aus und hermes doctor prüft das Ergebnis.
OpenClaw wird ebenfalls mit einem Skript oder über npm installiert und benötigt Node. Die Dokumentation verlangt Node 24.16 oder neuer beziehungsweise Node 26.1 oder neuer. Außerdem wird angegeben, dass das Linux-Installationsprogramm bei fehlender Installation Node 24 LTS (Long-Term Support) abruft. Der npm-Weg akzeptiert eine exakte Version. Damit können Sie die Version festlegen. Die Dokumentation nennt das Flag --allow-scripts=openclaw für npm 12 beziehungsweise npm 11.16 und neuer. Verwenden Sie bei älteren npm-Versionen denselben Befehl ohne dieses Flag.
curl -fsSL https://openclaw.ai/install.sh | bash
# or, pinned:
npm install -g openclaw@2026.9.4 --allow-scripts=openclaw
openclaw onboard --install-daemonopenclaw onboard --install-daemon startet den Einrichtungsassistenten und installiert das Gateway unter Linux als systemd-Benutzerdienst. Die Konfiguration liegt in ~/.openclaw/openclaw.json. Dabei handelt es sich um JSON5, sodass Kommentare und nachgestellte Kommas zulässig sind. OpenClaw veröffentlicht außerdem eine Extended-Stable-Linie für Benutzer, die weniger Änderungen pro Monat wünschen. Am 10. Oktober 2026 ist die aktuelle Version 2026.8.35, die am 2. Oktober 2026 markiert wurde. Die Dokumentation beschreibt vier Kanäle: stable, extended-stable, beta und dev. Mit openclaw update --channel <name> wechseln Sie zwischen diesen Kanälen.
Der Hermes-Agent-VPS-Leitfaden und der OpenClaw-Leitfaden zur Eindämmung enthalten die vollständige Installation beider Agents sowie die Prüfungen, die jeder Schritt bestehen sollte.
Was die einzelnen Komponenten im Netzwerk öffnen
Dieser Abschnitt bestimmt die Firewall-Regeln und erfordert daher besondere Sorgfalt.
OpenClaw öffnet standardmäßig einen Port. Das Gateway lauscht standardmäßig auf TCP 18789. Der Port wird in dieser Reihenfolge bestimmt: --port, anschließend OPENCLAW_GATEWAY_PORT, danach gateway.port in der Konfiguration und schließlich 18789. gateway.bind verwendet standardmäßig loopback. Die anderen Werte sind auto, lan (das 0.0.0.0 bedeutet), tailnet und custom. Die Control UI ist über denselben Port und den Root-Pfad erreichbar: http://127.0.0.1:18789/. gateway.controlUi.basePath fügt ein Präfix wie /openclaw nur dann hinzu, wenn Sie die UI unter einem Pfad eines Reverse Proxy bereitstellen. Die Dokumentation weist ausdrücklich auf das Risiko hin: „Für Bindings an Nicht-Loopback-Adressen ist eine Gateway-Authentifizierung erforderlich. In der Praxis bedeutet das ein gemeinsames Token/Passwort oder einen Identity-Aware Reverse Proxy.“ gateway.auth.mode akzeptiert none, token, password oder trusted-proxy. Der Onboarding-Assistent erzeugt standardmäßig ein Token. Lassen Sie bind auf loopback, greifen Sie über einen SSH-Tunnel auf die UI zu und führen Sie openclaw security audit aus, um Abweichungen von diesen Standardwerten zu melden.
Hermes öffnet für sein zentrales Gateway keinen Port. Das Gateway baut als Client ausgehende Verbindungen zu den einzelnen Chat-Plattformen auf. Die CLI verbindet sich ausgehend mit einem Modellendpunkt und einem Terminal-Backend. Das Docker-Backend greift auf den lokalen Docker-Socket zu. Das SSH-Backend verbindet sich ausgehend mit einem anderen Host über Port 22. Die in der Hermes-Dokumentation genannten Ports gehören zu optionalen Komponenten: dem Webhook-Adapter (standardmäßig deaktiviert, WEBHOOK_PORT 8644), dem Webhook der WhatsApp Business Cloud API (standardmäßig 8090) und der WhatsApp-Bridge, die auf dem Host Port 3000 verwendet. Auf der WhatsApp-Seite wird nicht angegeben, an welche Adresse die Bridge gebunden wird. Lassen Sie diesen Port daher in der Firewall geschlossen. Ein Hermes-Host kann somit eine eingehende Richtlinie „nur SSH“ beibehalten. Für den Agenten müssen Sie nichts ändern, solange Sie keinen der beiden Webhooks aktivieren.
Chat-Plattformen benötigen bei beiden Projekten normalerweise keinen eingehenden Port. Beide verwenden für die Hauptkanäle Long Polling oder ausgehende WebSockets. Die Slack-Integration von Hermes verwendet den Socket Mode. In der Dokumentation steht, dass Ihre Instanz „nicht öffentlich erreichbar sein muss“. Die WhatsApp-Integration von Hermes führt eine Node.js-Bridge aus, die eine WhatsApp-Web-Sitzung emuliert. Die Kopplung erfolgt per QR-Code. Auf dem Host wird Node.js v18 oder neuer benötigt. Für den Telegram-Kanal von OpenClaw gilt: „Long Polling ist der standardmäßige Transport. Der Webhook-Modus ist optional.“ Der WhatsApp-Kanal verwendet ausschließlich QR-Codes und läuft über WhatsApp Web. Das Gateway verwaltet den Socket. Ausnahmen sind die Pfade, für die eine öffentliche URL angegeben wird: der Telegram-Webhook-Modus von OpenClaw (webhookUrl, webhookSecret, webhookPath), der generische Webhook-Adapter von Hermes und die separate WhatsApp-Business-Cloud-API-Option von Hermes. Laut Dokumentation benötigt diese ein Meta-Business-Konto und eine öffentliche Webhook-URL. Aktivieren Sie diese Optionen nur, wenn Sie sie benötigen.
Beide verweigern standardmäßig unbekannte Chat-Absender. Hermes prüft in dieser Reihenfolge: ein plattformspezifisches Allow-All-Flag, die genehmigte Pairing-Liste, plattformspezifische Allowlists wie TELEGRAM_ALLOWED_USERS, das globale GATEWAY_ALLOWED_USERS, das globale Allow-All-Flag und anschließend die Ablehnung. Ein unbekannter Absender erhält per DM (Direktnachricht) einen 8-stelligen Pairing-Code. Sie genehmigen ihn mit hermes pairing approve <platform> <code>. dmPolicy von OpenClaw steht auf Telegram und WhatsApp standardmäßig auf pairing. Die Genehmigung erfolgt mit openclaw pairing approve <channel> <code>. Setzen Sie GATEWAY_ALLOW_ALL_USERS=true oder dmPolicy: open niemals bei einem Bot, der Shell-Befehle ausführen kann.
Wie die OpenClaw-Eindämmung auf Hermes angewendet wird
Die Eindämmung aus dem OpenClaw-Eindämmungsleitfaden basiert auf einem eigenen Benutzer ohne privilegierte Rechte, einem Gateway, das hinter der VPS-Firewall an die Loopback-Schnittstelle gebunden ist, einer Docker-Sandbox für die Toolausführung mit agents.defaults.sandbox.mode auf all sowie einem Token für alles, was nicht über Loopback läuft. Die eigene Sandbox-Seite von OpenClaw beschreibt die Grenze eindeutig: Der Gateway-Prozess selbst läuft immer auf dem Host, und die Sandbox verschiebt nur die Toolausführung. tools.elevated ist ein Ausweg, der außerhalb der Sandbox ausgeführt wird.
Der Benutzer und die Firewall lassen sich direkt auf Hermes übertragen. Der eigene Benutzer bildet dieselbe Schutzgrenze, und die Produktions-Checkliste von Hermes bringt es in sechs Worten auf den Punkt: „Never run the gateway as root“. Die Firewall-Grenze ist einfacher, weil das Core-Gateway keinen Port hat, an den es gebunden werden müsste, und das Token nichts absichern muss.
Die Sandbox entspricht terminal.backend in ~/.hermes/config.yaml. Hermes dokumentiert sieben Backends: local, docker, ssh, singularity, modal, daytona und vercel_sandbox. Mit docker wird der Container mit --cap-drop ALL ausgeführt. Anschließend werden DAC_OVERRIDE, CHOWN und FOWNER wieder hinzugefügt. Außerdem werden --security-opt no-new-privileges und --pids-limit 256 gesetzt, wobei /tmp und /var/tmp auf tmpfs in nosuid eingehängt werden. Ein Unterschied ist relevant. Laut Hermes-Dokumentation werden die Prüfungen auf gefährliche Befehle bei den Backends docker, singularity, modal, daytona und vercel_sandbox übersprungen, „because the container itself is the security boundary“. Bei Hermes gibt es daher je nach Backend nur eine der beiden Schutzgrenzen. Beim Backend local gibt es die Genehmigungsprüfung, aber keinen Container. Bei docker gibt es den Container, aber keine Genehmigungsprüfung.
Die Hermes-Dokumentation ergänzt ein eigenes Layout: „run the gateway on a separate machine or VM“ (virtuelle Maschine) mit terminal.backend: ssh. Auf dem Gateway-System liegen die Chat-Tokens und der Model-Key. Dort wird niemals ein Befehl ausgeführt. Auf dem Worker-System werden Befehle ausgeführt, und dort liegen keine Daten, die einen Diebstahl lohnenswert machen. Eine kurzlebige VM für Coding-Agenten ist für dieses Layout der naheliegende Worker, weil Sie sie neu erstellen, statt sie bereinigen zu müssen.
Speicher: zwei kleine eingefrorene Dateien oder ein aktiver Arbeitsbereich
Die Speichermodelle unterscheiden sich in diesem Vergleich stärker als alle anderen Aspekte. mem0s Vergleich der beiden beschreibt den Unterschied am klarsten. Die Zusammenfassung lautet: Hermes „optimiert für cache-stabile lange Sitzungen“, während „OpenClaw für sofortige Sichtbarkeit optimiert“.
Die Daten hinter diesem Diagramm
[
{
"label": "Hermes MEMORY.md (hard cap)",
"char_limit": "2,200"
},
{
"label": "Hermes USER.md (hard cap)",
"char_limit": "1,375"
},
{
"label": "OpenClaw MEMORY.md (soft target)",
"char_limit": "20,000"
}
]Die Hermes-Werte stammen aus der Speicherdokumentation. Der OpenClaw-Wert ist das von mem0 angegebene weiche Ziel.
Hermes verwaltet zwei Dateien unter ~/.hermes/memories/. MEMORY.md enthält die eigenen Notizen des Agents und ist auf 2,200 Zeichen begrenzt. USER.md enthält Fakten über Sie und ist auf 1,375 Zeichen begrenzt. Laut Dokumentation sind diese Grenzen strikt: Ein Schreibvorgang über die Grenze hinaus gibt einen Fehler zurück, statt den Inhalt stillschweigend zu kürzen. Der Agent bearbeitet die Dateien mit den drei Verben add, replace und remove. Dabei suchen replace und remove nach einer Teilzeichenfolge. Beide Dateien werden einmal beim Sitzungsstart als unveränderlicher Block in der Systemeingabeaufforderung geladen. Dadurch bleibt das Präfix des Prompt-Caches stabil. Der Nachteil dieses Designs ist, dass ein Agent eine während der Sitzung geschriebene Erinnerung zwar sofort auf der Festplatte speichert, sie aber erst in der nächsten Sitzung in seiner Eingabeaufforderung verfügbar ist. Für ältere Fakten führt session_search über jede frühere Unterhaltung in ~/.hermes/state.db eine FTS5-Suche aus, also die Volltextsuche von SQLite.
OpenClaw behandelt den Speicher als Arbeitsbereich. ~/.openclaw/workspace/MEMORY.md ist die primäre Datei mit einem weichen Ziel von etwa 20,000 Zeichen. Hinzu kommen tägliche Notizen in memory/YYYY-MM-DD.md, wobei die Dateien des heutigen und des gestrigen Tages automatisch geladen werden. Das Tool memory_search führt darüber eine hybride Suche aus: Vektorähnlichkeit und Schlüsselwortsuche werden kombiniert. mem0 weist darauf hin, dass der Speicher bei jedem Turn erneut eingefügt wird. Ein Schreibvorgang ist daher im nächsten Turn sichtbar.
Welche Variante besser ist, hängt vom Einsatzzweck ab. Ein Hermes-Agent, der jede Nacht denselben Cronjob ausführt, benötigt eine stabile Eingabeaufforderung und eine kleine Menge verlässlicher Fakten. Ein OpenClaw-Assistent, der täglich hundert kurze Chats bearbeitet, muss sich an etwas erinnern können, das Sie vor einer Stunde gesagt haben, ohne dass ein Neustart erforderlich ist. Hermes führt Mem0 als Plugin für externe Speicheranbieter auf. Sie fügen es mit hermes plugins install mem0 hinzu und konfigurieren es mit hermes memory setup. mem0 veröffentlicht außerdem ein @mem0/openclaw-mem0-Plugin für OpenClaw. Einen Mem0-Speicherserver selbst hosten stellt beiden Agents dieselbe serverseitige Faktenextraktion bereit und hebt die Größenbeschränkungen aus der Unterhaltung heraus. Jede Datei, in die der Agent schreibt, wird später zu einer Eingabe, der er vertraut. Daher gilt wie der Agentspeicher manipuliert wird für beide Projekte und auch für die Skills im nächsten Abschnitt.
Skills: selbst geschriebene Prozeduren oder eine öffentliche Registry
Hermes schreibt eigene Skills. Ein Skill ist ein Verzeichnis unter ~/.hermes/skills/ mit einem SKILL.md sowie optional den Verzeichnissen scripts/, references/, templates/ und examples/ im agentskills.io-Format. Dem Agenten steht dafür ein skill_manage-Tool zur Verfügung. In seinem System-Prompt sind drei Auslöser für das Schreiben eines Skills genannt: Der Agent hat einen wiederverwendbaren Prozess mit mehreren Schritten ausgearbeitet, nach einem Fehler eine Umgehungslösung gefunden oder eine Korrektur von Ihnen übernommen. Die Dokumentation beschreibt das Ziel als „Lessons, not logs“. Wenn ein Agent seine eigene Anweisungssammlung nicht ungeprüft bearbeiten soll, setzen Sie skills.write_approval: true. Neue Skills werden dann unter ~/.hermes/pending/skills/ bereitgestellt, bis Sie sie freigeben. Hermes kann mit hermes skills install <identifier> auch Skills aus externen Quellen installieren: aus GitHub-Repositories wie anthropics/skills, aus skills.sh, über eine direkte URL zu einem SKILL.md oder direkt aus ClawHub. Laut Dokumentation wird jede Installation aus dem Hub auf Datenexfiltration, Prompt-Injection und destruktive Befehle geprüft. Ein unkritischer Community-Fund kann mit --force überschrieben werden. Ein „gefährliches Scan-Ergebnis“ blockiert die Installation auch mit --force.
OpenClaw bezieht Skills und Plugins aus ClawHub, seiner öffentlichen Registry. openclaw skills search "calendar" sucht einen Skill, openclaw skills install @openclaw/demo installiert ihn, openclaw skills update --all hält sie aktuell, und Code-Plugins durchlaufen openclaw plugins install clawhub:<package>. Skills werden aus einer priorisierten Gruppe von Verzeichnissen geladen. <workspace>/skills hat Vorrang vor <workspace>/.agents/skills und ~/.agents/skills, danach folgt das verwaltete <state-dir>/skills, anschließend die vom Agenten erlernten Workshop-Skills und zuletzt das mitgelieferte Set. Im SKILL.md eines Skills können metadata.openclaw.requires.bins und requires.env deklariert werden. OpenClaw filtert den Skill beim Laden aus, wenn die Binärdatei oder die Variable fehlt. Das führt zu einem saubereren Fehler als bei einem Skill, der nur teilweise funktioniert. Der Agent schreibt auch eigene Skills. Die erlernten Skills werden im Skill Workshop gespeichert. In der Dokumentation heißt es: „Jede Änderung wird sofort angewendet, die vorherige Version wird zuerst gespeichert und kann rückgängig gemacht werden.“ Mit dem standardmäßigen skills.workshop.autonomous.mode: auto erstellt und ändert eine Hintergrundprüfung die Skills selbstständig. Sie machen eine Änderung rückgängig, indem Sie im Chat, über die Control UI oder mit openclaw skills workshop restore <name> „undo“ antworten. Wenn Sie den Modus auf off setzen, wird die Hintergrundprüfung beendet. Der Agent schreibt Skills jedoch weiterhin, wenn Sie ihn dazu auffordern.
Die Prüfmodelle unterscheiden sich darin, wo die Prüfung ausgeführt wird. Laut ClawHub-Dokumentation werden dort „automatisierte Prüfungen für veröffentlichte Skills und Plugin-Releases ausgeführt“. Zur Prüfung zurückgehaltene oder blockierte Releases können aus dem öffentlichen Katalog verschwinden. Angemeldete Benutzer können ein Paket melden, und Moderatoren können es ausblenden. Für die Veröffentlichung ist außerdem ein GitHub-Konto erforderlich, das alt genug ist, um die Upload-Sperre zu passieren. Diese Prüfung findet auf Registry-Ebene statt. Hermes führt den Scan bei der Installation auf Ihrem System aus. Die Freigabeprüfung für das Schreiben gilt für die Skills, die der eigene Agent schreibt. Für die erlernten Skills von OpenClaw gibt es keinen Freigabeschritt. Dort besteht die Prüfung in der Rückgängig-Historie. Die Skill-Seite von OpenClaw endet weiterhin mit dem entscheidenden Hinweis für beide Systeme: „Behandeln Sie Skills von Drittanbietern als nicht vertrauenswürdigen Code. Lesen Sie sie, bevor Sie sie aktivieren.“
Modell- und Authentifizierungsoptionen sowie die Frage zum Claude-Abonnement
Beide Projekte können mit einem API-Schlüssel oder einem lokalen Modell betrieben werden, und beide leiten Anfragen über OpenRouter weiter. Die Unterschiede betreffen die Abonnementwege. Genau das möchten die meisten Personen wissen, die nach diesem Thema suchen.
API-Schlüssel. Hermes liest ANTHROPIC_API_KEY, OPENROUTER_API_KEY, OPENAI_API_KEY und eine lange Liste weiterer Variablen aus ~/.hermes/.env. Mit hermes model wählen Sie interaktiv einen Anbieter und ein Modell aus. hermes config get model.default zeigt die Auswahl an. Nous Portal ist ein eigener Anbieter: hermes setup --portal ist eine OAuth-Anmeldung, die einen Modellanbieter und das gehostete Tool-Gateway bereitstellt. OpenClaw übernimmt ANTHROPIC_API_KEY über openclaw onboard --anthropic-api-key "$ANTHROPIC_API_KEY". Mit openclaw models list --provider anthropic sehen Sie, welche Ziele erreichbar sind. Laut Dokumentation verwendet eine neue Einrichtung über die API und Claude CLI standardmäßig Opus 5.5 (anthropic/claude-opus-5-5). Zusätzlich werden anthropic/claude-sonnet-5-5 und anthropic/claude-fable-5-1 aufgeführt. Diese Modelle wählen Sie ausdrücklich aus.
Lokale Modelle über Ollama. Die beiden Projekte konfigurieren Ollama unterschiedlich. Eine Verwechslung führt tatsächlich zu Fehlern. Hermes verwendet den OpenAI-kompatiblen Endpunkt. Setzen Sie in config.yaml model.provider: custom und model.base_url: http://localhost:11434/v1, oder wählen Sie in hermes model die Option "Custom endpoint". In der Dokumentation steht außerdem, dass Hermes für den Agent-Betrieb mit Tools "mindestens 64,000 Token Kontext" benötigt. Der Standardwert von Ollama liegt deutlich darunter. Starten Sie Ollama daher mit OLLAMA_CONTEXT_LENGTH=64000 ollama serve. OpenClaw verwendet den entgegengesetzten Weg. Auf der Ollama-Seite steht: "Verwenden Sie nicht die OpenAI-kompatible URL /v1 (http://host:11434/v1). Dadurch funktioniert der Tool-Aufruf nicht, und Modelle können rohes Tool-Call-JSON als normalen Text ausgeben." OpenClaw verwendet standardmäßig Ollamas natives /api/chat. Eine angegebene Basis-URL enthält dabei keinen Pfad, wie in http://host:11434. Die Modelle werden als ollama/<model> bezeichnet. Wenn Sie die Basis-URL weglassen, verwendet OpenClaw den lokalen Standard-Host. Derselbe Daemon, entgegengesetzte URLs.
Ein Claude-Abonnement. Hier steht genau, was die Dokumentation der beiden Projekte mit Stand Oktober 2026 angibt, und nicht mehr.
Hermes: Eine OAuth-Anmeldung ist über hermes model (wählen Sie Anthropic OAuth) oder über hermes auth add anthropic --type oauth möglich. Hermes leitet Anfragen anschließend "als Claude Code über Ihr Anthropic-Konto" weiter. Die Dokumentation ergänzt: "Dies funktioniert nur, wenn Sie einen Claude-Max-Tarif verwenden und zusätzliche Nutzungskontingente gekauft haben." Das reguläre Max-Kontingent wird nicht verbraucht. Die Nutzung wird gegen die zusätzlichen Kontingente abgerechnet. Claude Pro kann diesen Weg nicht verwenden. Die Dokumentation empfiehlt Pro-Abonnenten stattdessen ein ANTHROPIC_API_KEY zum regulären API-Preis.
OpenClaw beschreibt die Wiederverwendung "einer vorhandenen Claude-Code-Anmeldung über die installierte ausführbare Datei auf demselben Host". Installieren Sie die Claude CLI auf dem VPS und führen Sie claude auth login aus. Wählen Sie anschließend in openclaw onboard die Option "Claude CLI". Eine zweite Variante verwendet ein Setup-Token: Führen Sie claude setup-token und anschließend openclaw models auth login --provider anthropic --method setup-token aus. Zwei Sätze auf derselben Seite beschreiben die Grenzen: "Claude Code verwaltet seine bestehende Anmeldung und sein Abonnement; OpenClaw speichert diese Anmeldung nicht dauerhaft und erneuert sie nicht", und die Nutzung eines Abonnementtarifs über das Agent SDK, claude -p und Drittanbieteranwendungen "wird weiterhin auf die Nutzungsgrenzen des angemeldeten Abonnements angerechnet".
Die beiden Projekte beschreiben die Abrechnung dieser Nutzung unterschiedlich. Keine der beiden Seiten stammt von Anthropic. Bevor Sie eine nächtliche Auslastung über eine Abonnementanmeldung einrichten, lesen Sie die aktuellen Bedingungen von Anthropic zur Nutzung eines Claude-Tarifs durch Drittanbieter. Beide Projekte dokumentieren einen entsprechenden Weg. Beide Wege verwenden die Identität von Claude Code und nicht einfach eine claude.ai-Anmeldung. Hermes begrenzt seinen Weg auf Max mit zusätzlichen Kontingenten. OpenClaw begrenzt seinen Weg auf denselben Host, auf dem die Claude-CLI-Anmeldung erfolgt.
Weitere Abonnements. Hermes dokumentiert außerdem OpenAI Codex über gerätecodebasierte OAuth mit einem ChatGPT-Tarif sowie GitHub Copilot über dessen Gerätecode-Ablauf. Auf der Codex-Seite steht jedoch, dass die berechtigten Tarifstufen "derzeit nicht dokumentiert" sind. OpenClaw führt Codex als eines der austauschbaren Harnesses auf. Wenn Sie bereits für einen dieser Dienste bezahlen, ist das ein konkreter Grund, das Projekt zu bevorzugen, das diesen Dienst dokumentiert.
Sicherheitskonzept, in den Worten der jeweiligen Projekte
Hermes prüft Befehle. approvals.mode in config.yaml ist standardmäßig smart: Ein Hilfsmodell bewertet jeden Befehl. Befehle mit geringem Risiko werden ausgeführt, eindeutig gefährliche Befehle werden abgelehnt. Bei Unsicherheit werden Sie gefragt. manual fragt bei einem gefährlichen Treffer immer nach, und off deaktiviert die Prüfung. Der Scanner erkennt rekursive Löschvorgänge, chmod 777 und verwandte Befehle, mkfs, dd if=, Umleitungen nach /etc/, systemctl stop, restart, disable oder mask, DROP TABLE, curl ... | sh sowie Fork-Bomben. Im Chat stellt das Gateway den Befehl ein und wartet auf yes, y, approve, ok oder go. Mit no, n, deny oder cancel wird der Befehl abgelehnt. Nach dem Standard-Timeout von 300 Sekunden wird der Befehl ebenfalls verweigert. Das Flag --yolo, /yolo in einer Sitzung oder HERMES_YOLO_MODE=1 überspringt die Rückfragen. Eine feste Blockliste bleibt jedoch auch dann aktiv: rm -rf / und offensichtliche Varianten davon, Fork-Bomben, mkfs auf einem eingebundenen Root-Dateisystem, dd von /dev/zero auf einen Datenträger sowie nicht vertrauenswürdige URLs, die an sh weitergeleitet werden. Beachten Sie aus dem Abschnitt zur Begrenzung des Schadens, dass diese Prüfung bei den Container-Backends deaktiviert ist.
OpenClaw zieht klare Grenzen. Auf der Sicherheitsseite steht, dass das Gateway „eine vertrauenswürdige Grenze pro Gateway“ bildet und „keine Sicherheitsgrenze für feindselige Multi-Tenant-Szenarien mit gegenseitig adversarischen Benutzern“ ist. Zwei Personen, die einander nicht vertrauen, erhalten daher zwei Gateways mit zwei Anmeldedatensätzen. Richtlinien zum Zulassen und Verweigern von Tools werden vor den Sandbox-Regeln geprüft. Ein global verweigertes Tool bleibt daher auch innerhalb einer Sandbox verweigert. Zugriffsprofile pro Agent und ein schreibgeschützter Modus schränken ein, auf welche Ressourcen ein Agent zugreifen kann. openclaw security audit vergleicht die aktive Konfiguration mit sicheren Standardwerten. Für die Skills gelten die oben beschriebene Prüfung in ClawHub, die Rückgängig-Historie der Skill Workshop sowie die Anweisung, Skills von Drittanbietern vor ihrer Aktivierung zu lesen.
Keines der beiden Projekte erhebt weitergehende Ansprüche. Hermes behauptet nicht, dass sein Scanner alles erkennt. Die Dokumentation empfiehlt bei höheren Anforderungen einen Container oder einen zweiten Rechner. OpenClaw behauptet nicht, dass die Sandbox das Gateway selbst einschließt, und weist auf der Sandbox-Seite ausdrücklich darauf hin. Beide Projekte dokumentieren ihre Grenzen offen. Das ist ein gutes Zeichen für Software, die Sie unbeaufsichtigt laufen lassen möchten.
Die Entscheidungsmatrix
Wiederkehrende Abläufe: Hermes. Cron-Jobs mit Gedächtnis, eine Fähigkeit, die der Agent nach der dritten Wiederholung derselben Aufgabe schreibt, ein Speicherlimit, das er nicht überschreiten kann, und ein Terminal-Backend, das Sie je nach Risikostufe auswählen. Wenn die Woche des Agents hauptsächlich aus Jobs und nur gelegentlich aus Unterhaltungen besteht, ist dies die passende Struktur.
Reichweite für Messaging: OpenClaw. Mehr als zwanzig Kanäle hinter einem Gateway, standardmäßiges DM-Pairing bei Telegram und WhatsApp, eine Control UI am selben Port sowie ein Verzeichnis mit fertigen Skills und Plugins. Wenn die Woche des Agents hauptsächlich aus Unterhaltungen über verschiedene Apps und nur gelegentlich aus einem Job besteht, ist dies die passende Struktur.
Ein Server: beide möglich, je nach passender Begrenzung. OpenClaw auf einem VPS mit einem dedizierten Benutzer, gateway.bind: loopback, einem Token und sandbox.mode: all. Hermes auf einem VPS mit terminal.backend: docker, wobei zu beachten ist, dass die Freigabesperre innerhalb des Containers deaktiviert ist, oder mit terminal.backend: local und approvals.mode: manual, wobei eine falsche Freigabe auf dem Host ausgeführt wird.
Zwei Server: Hermes gemäß der eigenen Dokumentation. Das Gateway läuft auf einem VPS, terminal.backend: ssh auf einem Worker-VPS. Chat-Tokens und Modellschlüssel liegen auf dem ersten Server, auf dem zweiten gibt es nichts, dessen Aufbewahrung wichtig wäre. OpenClaw kann hinter einem Reverse Proxy mit trusted-proxy-Authentifizierung betrieben werden. Das Gateway führt die Aufgaben jedoch weiterhin auf seinem eigenen Host aus, sofern nicht jeder Agent in einer Sandbox läuft.
Nur lokales Modell: Prüfen Sie die URL zweimal. Hermes erwartet /v1 und einen Kontext von 64k. OpenClaw lehnt /v1 ab und erwartet die native API.
Sie bezahlen bereits für Claude Max mit zusätzlichen Credits: Hermes dokumentiert diesen Weg, allerdings nur eingeschränkt. Sie führen Claude Code bereits auf demselben Host aus: OpenClaw dokumentiert dessen Wiederverwendung. Sie bezahlen für Claude Pro: Verwenden Sie bei beiden einen API-Schlüssel.
Sie sind zwischen diesen beiden und den übrigen Optionen des Marktes unentschieden: die Übersicht zu Self-Hosted-Agents vergleicht beide anhand derselben Kriterien mit Agent Zero, OpenHands und den anderen.
FAQ
Kann Hermes Agent ein Claude-Max-Abonnement verwenden?
Die Dokumentation von Hermes sagt: Ja, allerdings nur unter bestimmten Bedingungen. Melden Sie sich über hermes model (Anthropic OAuth) oder hermes auth add anthropic --type oauth an. Hermes verwendet Ihr Konto anschließend als Claude Code. Laut Dokumentation funktioniert dies „nur, wenn Sie einen Claude-Max-Tarif nutzen und zusätzliche Nutzungsguthaben gekauft haben“. Die Nutzung wird von diesen zusätzlichen Guthaben abgezogen, nicht vom Basislimit. Abonnenten von Claude Pro müssen stattdessen ANTHROPIC_API_KEY verwenden. Lesen Sie vor dem Einsatz für unbeaufsichtigte Aufgaben die eigenen Nutzungsbedingungen von Anthropic. Dies gilt insbesondere ab Oktober 2026.
Muss OpenClaw einen Port auf meinem VPS öffnen?
Bei normaler Nutzung nicht. Das Gateway lauscht auf TCP 18789. gateway.bind verwendet jedoch standardmäßig loopback und antwortet daher nur auf 127.0.0.1. Rufen Sie die Control UI unter http://127.0.0.1:18789 über einen SSH-Tunnel auf. Telegram verwendet Long Polling. WhatsApp läuft über eine WhatsApp-Web-Sitzung, die das Gateway selbst öffnet. Daher benötigt kein Kanal einen eingehenden Port, sofern Sie nicht den optionalen Webhook-Modus von Telegram verwenden. Wenn Sie an lan oder tailnet binden, verlangt die Dokumentation eine Gateway-Authentifizierung. Möglich sind ein gemeinsames Token oder Passwort beziehungsweise ein vorgeschalteter identitätsbasierter Proxy.
Welche Variante kann ich sicherer unbeaufsichtigt laufen lassen?
Keine der beiden Varianten ist auf einem local-Backend sicher, wenn Genehmigungen deaktiviert sind. Am sichersten betreiben Sie Hermes auf zwei Systemen: das Gateway auf einem VPS und terminal.backend: ssh auf einem Worker-VPS. Dies empfiehlt die eigene Dokumentation „für maximale Sicherheit“. OpenClaw ist am sichersten mit einem eigenen Benutzer ohne privilegierte Rechte, gateway.bind: loopback, einem Token und agents.defaults.sandbox.mode: all. Behandeln Sie bei beiden Varianten die Speicherdateien und das Skills-Verzeichnis des Agenten als Eingaben, die ein Angreifer über eine Chat-Nachricht verändern kann.
Kann ich Hermes Agent und OpenClaw auf demselben VPS ausführen?
Ja. Die beiden Programme verwenden weder gemeinsame Ports noch gemeinsame Verzeichnisse. Hermes speichert alle Daten unter ~/.hermes/. Sein Gateway öffnet keinen Listening-Port. Die optionale WhatsApp-Bridge verwendet Port 3000. OpenClaw speichert alle Daten unter ~/.openclaw/ und lauscht auf 127.0.0.1:18789. Verwenden Sie für jedes Programm einen eigenen Linux-Benutzer. So kann ein kompromittierter Agent die Chat-Tokens des jeweils anderen nicht lesen. Verwenden Sie nicht für beide Programme dasselbe Telegram-Bot-Token. Telegram erlaubt pro Bot nur einen Long-Polling-Client und antwortet dem zweiten mit 409 Conflict: terminated by other getUpdates request.
Wie lege ich für jedes Projekt eine bestimmte Version fest?
Der npm-Pfad von OpenClaw akzeptiert eine exakte Version: npm install -g openclaw@2026.9.4 --allow-scripts=openclaw. Mit npm view openclaw versions sehen Sie, welche Versionen veröffentlicht sind. Das Installationsprogramm von Hermes akzeptiert --commit SHA. Ermitteln Sie daher mit git ls-remote --tags https://github.com/NousResearch/hermes-agent v2026.9.7 den Commit hinter v2026.9.7 und übergeben Sie ihn als bash -s -- --commit <sha>. Beide Projekte veröffentlichen mehrmals pro Monat. Hermes kennzeichnet Releases inzwischen mit Versionsnummern statt mit Datumsangaben. Notieren Sie daher, gegen welchen Tag Sie getestet haben.