Hermes Agent: Das Praxisreferenzhandbuch (2026)
# v0.14 Foundation ergänzt SuperGrok OAuth, hermes proxy, x_search, PyPI-Installation, 22 Messaging-Plattformen, /handoff, LSP-Schreibdiagnosen, video_generate, computer_use, eine native Windows-Beta und schlankere Lazy-Installs.
Kurzfassung: Hermes Agent ist ein selbstverbessernder Open-Source-AI-Agent von Nous Research. Er läuft als CLI und als plattformübergreifendes Messaging-gateway, speichert eine dauerhafte Identität und persistente Memory auf der Festplatte, bündelt skills, die sich durch Nutzung verbessern, und arbeitet mit jedem OpenAI-kompatiblen LLM-Provider — Nous Portal, OpenRouter, Anthropic, GitHub Copilot, z.ai, Kimi, MiniMax, DeepSeek, Qwen Cloud, Hugging Face, Google, xAI/SuperGrok oder Ihrem eigenen selbst gehosteten Endpoint.1219 Seit v0.14.0 (16. Mai 2026) ergänzt Hermes SuperGrok OAuth mit grok-4.3 1M Context, einen OpenAI-kompatiblen lokalen proxy für OAuth-Provider (
hermes proxy), erstklassigesx_search, PyPI-Installationssupport, lazy Dependency-Installationen, 22 Messaging-Plattformen mit LINE und SimpleX Chat,/handoff, semantische LSP-Diagnosen nach Schreibvorgängen, einheitlichesvideo_generate,computer_useüber cua-driver für Nicht-Anthropic-Provider, native Windows-Beta sowie 12 P0- und 50 P1-Abschlüsse.19 Der schwierigste Teil für die meisten neuen Benutzer ist die Provider-Authentifizierung: Hermes unterstützt etwa 20 erstklassige Provider plus benutzerdefinierte Endpoints und 3 verschiedene Auth-Pfade (API-Schlüssel in.env, OAuth überhermes modeloder benutzerdefinierter Endpoint inconfig.yaml). Das Auth-Modell sollten Sie zuerst verstehen — alles andere hängt davon ab, welcher Provider aufgelöst wird.
Hermes Agent arbeitet als vollständige Agent-Runtime, nicht als Chat-Wrapper. Er liest Ihr Dateisystem, führt Befehle in sandboxed Backends aus, scraped das Web, startet Subagents, führt geplante cron-Jobs aus, kommuniziert über Telegram/Discord/Slack/WhatsApp/Signal/Email aus einem einzigen gateway-Prozess heraus und erstellt aus Erfahrung eigene skills.1 Die CLI ist eine Terminal-UI auf Basis einer Conversation Loop in run_agent.py; das gateway ist ein lang laufender Prozess, der Nachrichten von Messaging-Plattformen durch dieselbe Conversation Loop routet.3
Der Unterschied zwischen gelegentlicher und professioneller Hermes-Nutzung liegt in 5 Systemen. Beherrschen Sie diese, wird Hermes zu einem Kraftmultiplikator:
- Provider-Auflösung: wie Auth-Flows auf API-Aufrufe abgebildet werden
- Konfigurationshierarchie:
config.yaml+.env+auth.json+SOUL.md+AGENTS.md - Tool- + toolset-System: was der Agent tun kann, je Plattform eingeschränkt
- skills-System: prozedurale Memory, die der Agent erstellt und weiterentwickelt
- gateway + cron + profile: Hermes dort ausführen, wo Sie arbeiten, nicht nur dort, wo Sie gerade sind
Wichtige Erkenntnisse
- Provider-Auth besteht aus 3 Pfaden, nicht aus einem. API-Schlüssel in
.env, OAuth überhermes model/hermes authoder benutzerdefinierter Endpoint inconfig.yaml. Wählen Sie den Pfad, der zu Ihrem Provider passt, nicht den, der Ihnen vertraut vorkommt. - Provider-Wechsel erfolgen mit einem einzigen Befehl.
hermes modelführt Sie interaktiv durch jeden unterstützten Provider einschließlich OAuth-Logins, und/model provider:modelwechselt mitten in der Sitzung, ohne den Verlauf zu verlieren.2 - 2 Dateien bilden die vom Benutzer editierbare Konfigurationsoberfläche.
~/.hermes/config.yamlenthält Einstellungen,~/.hermes/.enventhält Secrets.auth.json,SOUL.md,MEMORY.mdundskills/werden direkt von Hermes verwaltet — Sie könnenSOUL.mdvon Hand bearbeiten, den Rest verändert der Agent selbst.4 - Hermes ist der Nachfolger von OpenClaw. Wenn Sie migrieren, importiert
hermes claw migrateautomatisch mehr als 30 Zustandskategorien.5 - Die Servicequalität hängt von Ihrem Hilfsmodell ab. Vision, Web-Zusammenfassung, Compression und Memory Flush verwenden alle ein separates Hilfs-LLM. Standardmäßig ist das Gemini Flash über Auto-Erkennung (OpenRouter → Nous → Codex) — wenn keiner davon konfiguriert ist, verschlechtern sich diese Funktionen stillschweigend, bis Sie die Hilfs-Slots auf Ihren Hauptprovider verweisen lassen.4
Was v0.14 ändert
v0.14.0 dreht sich weniger um eine einzelne Hauptfunktion als darum, den Setup-Aufwand zu reduzieren und zugleich zu erweitern, wo Hermes laufen kann.19 Die wichtigsten betrieblichen Änderungen:
- Installation und Start sind leichter.
pip install hermes-agentfunktioniert über PyPI, schwere Adapter werden bei der ersten Nutzung lazy installiert, und der Startpfad verzögert genug Arbeit, um den Kaltstart um etwa 19 Sekunden zu verkürzen. - Abonnements können zu lokalen API-Endpoints werden.
hermes proxyverwandelt OAuth-gestützte Provider wie Claude Pro, ChatGPT Pro und SuperGrok in einen OpenAI-kompatiblen lokalen Endpoint für Tools wie Codex, Aider, Cline und Continue. - Die gateway-Reichweite wächst. LINE und SimpleX Chat erhöhen die Plattformanzahl auf 22, Microsoft Teams ist durchgängig angebunden, Discord-Verlaufs-Backfill ist standardmäßig aktiviert, und Telegram/Discord-
clarify-Prompts nutzen nun native Schaltflächen. - Verifikation zur Schreibzeit wird besser. Nach Bearbeitungen kann Hermes pro Turn Zusammenfassungen von Dateimutationen und semantische Language-Server-Diagnosen anzeigen, bevor der nächste Turn beginnt; damit rückt es näher an evidenzgetriebene Agent-Arbeit heran.
- Desktop- und Medien-Tools werden breiter.
computer_usefunktioniert über cua-driver für Nicht-Anthropic-Provider,video_generateist einheitlich hinter austauschbaren Backends gebündelt, undvision_analyzesendet rohe Pixel an Modelle, die tatsächlich sehen können.
Jeder folgende Abschnitt stützt sich auf die Upstream-Dokumentation unter hermes-agent.nousresearch.com/docs und den Source Tree unter github.com/NousResearch/hermes-agent. Jede Tatsachenbehauptung hat eine Fußnote, die auf die konkrete Upstream-Seite verweist, von der sie stammt.
Wählen Sie Ihren Weg
| Was Sie brauchen | Hier entlang |
|---|---|
| Hermes installieren | Installation — Einzeilen-Installer oder manuelle Schritte |
| Bei einem Provider anmelden | Authentifizierung & Provider — der Abschnitt, wegen dem Sie hier sind |
| Modelle mitten in der Sitzung wechseln | Der Befehl hermes auth und Benutzerdefinierte & selbst gehostete Endpoints für die /model-Syntax |
| Ein lokales LLM ausführen | Benutzerdefinierte & selbst gehostete Endpoints — Ollama, vLLM, SGLang, llama.cpp, LM Studio |
| Messaging-Plattformen verbinden | Messaging Gateway — Telegram, Discord, Slack, WhatsApp, Signal, Google Chat, LINE, SimpleX Chat (insgesamt 22) |
| Einen skill schreiben oder installieren | skills-System — progressive Disclosure + skill hub |
| Tiefgehende Referenz für jeden CLI-Befehl | Lesen Sie weiter — und verlinken Sie direkt auf CLI-Befehle |
So funktioniert Hermes: Das Mental Model
Hermes ist um eine einzelne Konversationsschleife herum aufgebaut, die jeder Einstiegspunkt aufrufen kann. Die Einstiegspunkte sind die CLI (cli.py), das Messaging-gateway (gateway/run.py), der ACP-Adapter für die Editor-Integration, der Batch Runner und ein API Server.3 Alle rufen letztlich AIAgent.run_conversation() in run_agent.py auf, das:
- den System-Prompt aus
SOUL.md,MEMORY.md,USER.md, skills, Kontextdateien und Tool-Hinweisen überprompt_builder.pyerstellt3 - den Runtime-Provider über
runtime_provider.pyauflöst — in diesem Schritt werden Ihre Authentifizierung, Base URL und der API Modus ausgewählt3 - den Provider über einen von drei API Modi aufruft:
chat_completions,codex_responsesoderanthropic_messages3 - alle zurückgegebenen Tool-Aufrufe über
model_tools.pyund die zentrale Tool-Registry (tools/registry.py) weiterleitet3 - die Schleife fortsetzt, bis das Modell eine finale Antwort erzeugt, und die Sitzung anschließend mit FTS5 in SQLite speichert3
Diese Schleife zu verstehen ist wichtig, weil jede Funktion — personalities, memory, skills, compression, fallback — an eine dieser Phasen andockt. Wenn Sie einen Config-Key lesen und sich fragen, was er bewirkt, lautet die Antwort meistens: „Er ist ein Regler für Phase 1, 2, 3 oder 4 der obigen Schleife.“
Plattformunabhängiger Kern. Eine AIAgent-Klasse bedient CLI, gateway, ACP, batch und den API Server. Plattformunterschiede liegen im Einstiegspunkt, nicht im Agent selbst.3 Deshalb funktionieren dieselben Slash Commands im Terminal und in Telegram — sie werden aus einer gemeinsamen COMMAND_REGISTRY in hermes_cli/commands.py heraus ausgeführt.6
Die Ordnerstruktur ist das System. Hermes speichert alles unter ~/.hermes/ (oder $HERMES_HOME für nicht standardmäßige profile):4
~/.hermes/
├── config.yaml # Settings (model, terminal, TTS, compression, etc.)
├── .env # API keys and secrets
├── auth.json # OAuth provider credentials (Nous Portal, Codex, Anthropic)
├── SOUL.md # Primary agent identity (slot #1 in system prompt)
├── memories/ # Persistent memory (MEMORY.md, USER.md)
├── skills/ # Bundled + agent-created + hub-installed skills
├── cron/ # Scheduled jobs
├── sessions/ # Gateway session state
└── logs/ # agent.log, gateway.log, errors.log (secrets auto-redacted)
Jede der obigen Dateien hat eine eigene Rolle; keine davon überschneidet sich mit einer anderen. Wenn Sie nach „Wo speichert Hermes X?“ suchen, liegt die Antwort in einer dieser Dateien.
Installation
Der One-Line-Installer bleibt der geführte Weg für die meisten Benutzer. Er kümmert sich um Python, uv, Node.js, ripgrep, ffmpeg, den Repo-Klon, die virtuelle Umgebung und den globalen hermes-Befehl.7 v0.14.0 liefert außerdem ein echtes PyPI-Paket aus, sodass pip install hermes-agent jetzt eine brauchbare Direktinstallation ist, wenn Sie die Python Umgebung bereits selbst kontrollieren.19
curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash
pip install hermes-agent
hermes
Funktioniert unter Linux, macOS, WSL2 und Android/Termux (der Installer erkennt Termux automatisch und wechselt zu einem getesteten Android-Bundle).7 v0.14.0 ergänzt native Windows-Unterstützung als frühe Beta über einen PowerShell-Installer, aber WSL2 bleibt bis zur weiteren Reife des Windows-Pfads die sicherere Empfehlung für den Produktionseinsatz.19
Nach Abschluss:
source ~/.bashrc # or ~/.zshrc
hermes # Start chatting
Die einzige Voraussetzung ist git. Der Installer stellt Python 3.11 automatisch über uv bereit (kein sudo erforderlich), dazu Node.js v22 (für Browser-Automatisierung und die WhatsApp-Bridge), ripgrep und ffmpeg.7
Installation überprüfen
hermes version # Check version
hermes doctor # Diagnose config/dependency issues
hermes status # Show current configuration + auth state
hermes dump # Copy-pasteable setup summary for debugging
hermes doctor sagt Ihnen genau, was fehlt und wie Sie es beheben.7 hermes dump ist der Diagnosebefehl, den Sie in ein GitHub issue oder einen Discord-Thread einfügen, wenn Sie Hilfe anfragen — eine Klartextzusammenfassung Ihrer gesamten Einrichtung, bei der Secrets unkenntlich gemacht wurden.8
Manuelle Installation
Wenn Sie volle Kontrolle benötigen — eine eigene Python Version, bestimmte Extras, Nix/NixOS-Integration — ist der manuelle Ablauf Schritt für Schritt im upstream installation guide dokumentiert.7 Wichtige optionale Extras, die Sie mit uv pip install -e ".[<extras>]" kombinieren können:
| Extra | Was es hinzufügt |
|---|---|
all |
Alles darunter |
messaging |
Telegram- und Discord-gateway |
cron |
Parsing von Cron-Ausdrücken |
cli |
Terminal-Menü-UI für den Setup-Assistenten |
modal |
Modal Cloud-Ausführungsbackend |
voice |
CLI Mikrofoneingabe + Audiowiedergabe |
tts-premium |
ElevenLabs Premium-Stimmen |
honcho |
AI-native memory (Honcho-Integration) |
mcp |
Model Context Protocol-Unterstützung |
homeassistant |
Home Assistant-Integration |
acp |
Unterstützung für ACP-Editor-Integration |
slack |
Slack-Messaging |
pty |
PTY-Terminalunterstützung (interaktive CLI Tools) |
dev |
pytest- und Test-Utilities |
termux |
Getestetes Android-Bundle (enthält cron, cli, pty, mcp, honcho, acp) |
Der Termux-Installationsbefehl ist anders — er nutzt pip mit einer Constraints-Datei, nicht uv pip:
python -m pip install -e ".[termux]" -c constraints-termux.txt
Der Grund: .[all] zieht unter Android faster-whisper über das voice-Extra ein, das von ctranslate2-Wheels abhängt, die nicht für Android veröffentlicht werden.7
Authentifizierung & Providers
Hermes unterstützt etwa 19 erstklassige Providers plus benutzerdefinierte Endpunkte sowie drei unterschiedliche Authentifizierungspfade. Hier sehen Sie die gesamte Authentifizierungsoberfläche, nach Pfad geordnet, damit Sie schnell die passende Option für Ihre vorhandene Konfiguration finden.
Die drei Authentifizierungspfade
Jeder Provider in Hermes gehört zu einem von drei Authentifizierungsmustern:
Pfad 1 — API key in .env. Legen Sie Ihren Schlüssel in ~/.hermes/.env ab, und Hermes liest ihn beim Start ein. Verwendet von OpenRouter, AI Gateway, z.ai/GLM, Kimi/Moonshot, MiniMax (und MiniMax China), Alibaba Cloud/DashScope, Kilo Code, OpenCode Zen, OpenCode Go, DeepSeek, Hugging Face, Google/Gemini und den meisten Drittanbieter-Providers.2
Pfad 2 — OAuth über hermes model oder hermes auth. Startet einen Device-Code-Flow, öffnet einen Browser, speichert Zugangsdaten in ~/.hermes/auth.json und kann vorhandene Zugangsdaten aus Tools wie Claude Code oder Codex CLI importieren. Verwendet von Nous Portal, OpenAI Codex (ChatGPT-Konto), GitHub Copilot und Anthropic (Claude Pro/Max).2
Pfad 3 — Benutzerdefinierter Endpunkt in config.yaml. Für jede OpenAI-kompatible API — Ollama, vLLM, SGLang, llama.cpp, LM Studio, LiteLLM proxy, Together AI, Groq, Azure OpenAI oder Ihren eigenen selbst gehosteten Server. Einmal über hermes model → Custom endpoint konfiguriert und anschließend in config.yaml gespeichert.2
Die vollständige Provider-Matrix
Dies ist die vollständige Liste der erstklassigen Providers, jeweils mit dem exakten Einrichtungsablauf.2
| Provider | Authentifizierungspfad | Einrichtung |
|---|---|---|
| Nous Portal | OAuth | hermes model (OAuth-Login, abonnementbasiert) |
| OpenAI Codex | OAuth | hermes model (ChatGPT Device Code, verwendet Codex-Modelle) |
| GitHub Copilot | OAuth oder Token | hermes model (OAuth Device Code), oder COPILOT_GITHUB_TOKEN / GH_TOKEN / gh auth token |
| GitHub Copilot ACP | Lokaler Subprozess | hermes model (erfordert copilot CLI in PATH + copilot login) |
| Anthropic | OAuth oder API key | hermes model (bevorzugt Zugangsdaten von Claude Code), oder ANTHROPIC_API_KEY, oder ANTHROPIC_TOKEN setup-token |
| OpenRouter | API key | OPENROUTER_API_KEY in ~/.hermes/.env |
| AI Gateway (Vercel) | API key | AI_GATEWAY_API_KEY in ~/.hermes/.env (Provider: ai-gateway) |
| z.ai / GLM (ZhipuAI) | API key | GLM_API_KEY in ~/.hermes/.env (Provider: zai) |
| Kimi / Moonshot | API key | KIMI_API_KEY in ~/.hermes/.env (Provider: kimi-coding) |
| MiniMax (global) | API key | MINIMAX_API_KEY in ~/.hermes/.env (Provider: minimax) |
| MiniMax China | API key | MINIMAX_CN_API_KEY in ~/.hermes/.env (Provider: minimax-cn) |
| Alibaba Cloud (Qwen) | API key | DASHSCOPE_API_KEY in ~/.hermes/.env (Provider: alibaba, Aliasse: dashscope, qwen) |
| Kilo Code | API key | KILOCODE_API_KEY in ~/.hermes/.env (Provider: kilocode) |
| OpenCode Zen | API key | OPENCODE_ZEN_API_KEY in ~/.hermes/.env (Provider: opencode-zen) |
| OpenCode Go | API key | OPENCODE_GO_API_KEY in ~/.hermes/.env (Provider: opencode-go) |
| DeepSeek | API key | DEEPSEEK_API_KEY in ~/.hermes/.env (Provider: deepseek) |
| Hugging Face | API key | HF_TOKEN in ~/.hermes/.env (Provider: huggingface, Alias: hf) |
| Google / Gemini | API key | GOOGLE_API_KEY oder GEMINI_API_KEY in ~/.hermes/.env (Provider: gemini) |
| xAI (Grok) | Nativer Provider / SuperGrok OAuth | Erstklassiger Provider mit direktem API-Zugriff und Modellkatalog (v0.9.0+). v0.14.0 ergänzt SuperGrok OAuth und hebt grok-4.3 für berechtigte Konten auf ein Kontextfenster von 1M an.21619 |
| xAI Custom Voices | API key | TTS-Provider mit Voice Cloning. Neu in v0.13.0; unter tts: in config.yaml konfigurieren und den xAI-Schlüssel in .env bereitstellen.18 |
| Xiaomi MiMo | Nativer Provider | Erstklassiger Provider mit Einrichtungsassistent und Modellkatalog. Kostenloses MiMo v2 Pro auf Nous Portal für Hilfsaufgaben (v0.9.0+).1615 |
| Google AI Studio | API key | GOOGLE_API_KEY oder GEMINI_API_KEY in ~/.hermes/.env. Direkter Gemini-Zugriff mit automatisch erkannten Kontextlängen über die models.dev-Registry (v0.8.0+).15 |
| Qwen Cloud | OAuth | OAuth-Provider mit Unterstützung für Portal-Anfragen (v0.8.0+). Der Provider wurde in v0.14.0 von Alibaba Cloud in Qwen Cloud umbenannt; vorhandene Konfigurationsschlüssel funktionieren weiterhin.1519 |
| Custom endpoint | config.yaml | hermes model → “Custom endpoint” (in config.yaml gespeichert) |
Anthropic: Drei Authentifizierungsmethoden
Anthropic erhält einen eigenen Abschnitt, weil Hermes drei verschiedene Wege zu Claude unterstützt und die richtige Wahl wichtig ist. Aus der Upstream-Dokumentation:2
# Method 1: API key (pay-per-token)
export ANTHROPIC_API_KEY=***
hermes chat --provider anthropic --model claude-sonnet-4-6
# Method 2: OAuth through hermes model (preferred)
# Uses Claude Code's credential store when available
hermes model
# Method 3: Manual setup-token (fallback/legacy)
export ANTHROPIC_TOKEN=***
hermes chat --provider anthropic
# Auto-detect Claude Code credentials
hermes chat --provider anthropic # reads Claude Code files automatically
Wenn Sie Anthropic OAuth über hermes model auswählen, bevorzugt Hermes den eigenen Zugangsdaten-Speicher von Claude Code, statt das Token nach ~/.hermes/.env zu kopieren. So bleiben aktualisierbare Claude-Zugangsdaten aktualisierbar.2 Wenn Sie Claude Code bereits auf demselben Rechner verwenden, ist das der sauberste Pfad.
Um Anthropic dauerhaft in config.yaml festzulegen:
model:
provider: "anthropic"
default: "claude-sonnet-4-6"
--provider claude und --provider claude-code funktionieren ebenfalls als Kurzformen für --provider anthropic.2
GitHub Copilot: Zwei Modi
Copilot wird in zwei Modi unterstützt: direkter Copilot API (empfohlen) und Copilot ACP, bei dem die lokale Copilot CLI als Subprozess gestartet wird.2
# Direct Copilot API
hermes chat --provider copilot --model gpt-5.4
# Copilot ACP (requires the Copilot CLI in PATH + an existing copilot login)
hermes chat --provider copilot-acp --model copilot-acp
Die Authentifizierung wird laut Upstream-Dokumentation in dieser Reihenfolge geprüft:2
1. Umgebungsvariable COPILOT_GITHUB_TOKEN
2. Umgebungsvariable GH_TOKEN
3. Umgebungsvariable GITHUB_TOKEN
4. gh auth token CLI-Fallback
5. OAuth Device-Code-Login über hermes model
Der Token-Typ zählt. Die Copilot API unterstützt keine klassischen Personal Access Tokens (ghp_*). Unterstützte Typen sind OAuth-Tokens (gho_*), fine-grained PATs (github_pat_* mit Berechtigung Copilot Requests) und GitHub App-Tokens (ghu_*). Wenn Ihr gh auth token ein ghp_*-Token zurückgibt, authentifizieren Sie sich stattdessen über hermes model per OAuth.2
Chinesische AI-Providers (erstklassige Unterstützung)
Hermes bietet integrierte Unterstützung für z.ai/GLM, Kimi/Moonshot, MiniMax (globale + China-Endpunkte) und Alibaba Cloud mit dedizierten Provider-IDs.2
# z.ai / ZhipuAI GLM
hermes chat --provider zai --model glm-5 # Requires: GLM_API_KEY
# Kimi / Moonshot AI
hermes chat --provider kimi-coding --model kimi-for-coding # Requires: KIMI_API_KEY
# MiniMax (global)
hermes chat --provider minimax --model MiniMax-M2.7 # Requires: MINIMAX_API_KEY
# MiniMax (China)
hermes chat --provider minimax-cn --model MiniMax-M2.7 # Requires: MINIMAX_CN_API_KEY
# Alibaba Cloud / DashScope (Qwen)
hermes chat --provider alibaba --model qwen3.5-plus # Requires: DASHSCOPE_API_KEY
Basis-URLs können mit den Umgebungsvariablen GLM_BASE_URL, KIMI_BASE_URL, MINIMAX_BASE_URL, MINIMAX_CN_BASE_URL oder DASHSCOPE_BASE_URL überschrieben werden.2
Z.AI erkennt den Endpunkt automatisch. Bei Verwendung des z.ai/GLM-Providers prüft Hermes mehrere Endpunkte (global, China, Coding-Varianten), um einen zu finden, der Ihren API key akzeptiert. Der funktionierende Endpunkt wird automatisch zwischengespeichert — für die meisten Benutzer ist kein GLM_BASE_URL nötig.2
xAI (Grok) aktiviert Prompt-Caching automatisch. Wenn die Basis-URL x.ai enthält, sendet Hermes bei jeder Anfrage den Header x-grok-conv-id, damit innerhalb einer Konversationssitzung derselbe Server genutzt wird und zwischengespeicherte System-Prompts sowie Verlauf wiederverwendet werden.2 Automatisch; keine Konfiguration erforderlich.
Der Befehl hermes auth
hermes auth ist der Befehl zur Verwaltung von Zugangsdaten für Pools und OAuth-Zugangsdaten.6
hermes auth # Interactive wizard
hermes auth list # Show all credential pools
hermes auth list openrouter # Show one provider's pool
hermes auth add openrouter --api-key sk-or-v1-xxx
hermes auth add anthropic --type oauth
hermes auth remove openrouter 2 # Remove by index
hermes auth reset openrouter # Clear cooldowns
Mit Zugangsdaten-Pools rotieren Sie mehrere API keys oder OAuth-Tokens für denselben Provider — nützlich, um Rate Limits über mehrere Schlüssel zu verteilen, ohne Code zu ändern.6 Die alten Befehle hermes login / hermes logout wurden entfernt; verwenden Sie stattdessen hermes auth.6
Benutzerdefinierte & selbst gehostete Endpunkte
Hermes funktioniert mit jedem OpenAI-kompatiblen API-Endpunkt. Wenn ein Server /v1/chat/completions implementiert, können Sie Hermes darauf verweisen.2
Interaktive Einrichtung (empfohlen):
hermes model
# Select "Custom endpoint (self-hosted / VLLM / etc.)"
# Enter: API base URL, API key, Model name
Manuelle config.yaml:
model:
default: your-model-name
provider: custom
base_url: http://localhost:8000/v1
api_key: your-key-or-leave-empty-for-local
Beide Ansätze speichern in config.yaml, der zentralen Quelle für Hauptmodell, Provider und Basis-URL.2 Die alten Env Vars OPENAI_BASE_URL und LLM_MODEL werden für die Hauptmodell-Konfiguration nicht mehr gelesen — verwenden Sie hermes model oder bearbeiten Sie config.yaml direkt.2 (OPENAI_BASE_URL + OPENAI_API_KEY werden weiterhin als Fallback für den Hilfs-Routingpfad provider: "main" berücksichtigt; löschen Sie sie also nicht blind, falls Sie sie dort verwenden.)4
Benutzerdefinierte Endpunkte während einer Sitzung wechseln:
/model custom:qwen-2.5 # Custom endpoint with explicit model
/model custom # Auto-detect the model from the endpoint
/model custom:local:qwen-2.5 # Named custom provider "local"
/model custom:work:llama3 # Named custom provider "work"
/model openrouter:claude-sonnet-4 # Back to a cloud provider
/model custom (nackt, ohne Modellnamen) fragt die /v1/models API Ihres Endpunkts ab und wählt das Modell automatisch aus, wenn genau eines geladen ist — nützlich für lokale Server, auf denen ein einzelnes Modell läuft.2
Lokale LLM-Server (Einrichtungsvorlagen)
Die Upstream-Dokumentation enthält vollständige Einrichtungsanleitungen für Ollama, vLLM, SGLang, llama.cpp und LM Studio. Hier sind die wichtigsten Befehle, die Sie tatsächlich ausführen werden. Jeder ist darauf ausgelegt, einen funktionierenden Endpunkt bereitzustellen, auf den Hermes zeigen kann.2
Ollama — einfachster lokaler Pfad, keine Konfiguration:
ollama pull qwen2.5-coder:32b
OLLAMA_CONTEXT_LENGTH=32768 ollama serve # Raise from 4k default
hermes model # Custom endpoint → http://localhost:11434/v1 → qwen2.5-coder:32b
Kritischer Ollama-Fallstrick: Ollama verwendet standardmäßig sehr niedrige Kontextlängen (4.096 Tokens unter 24GB VRAM). Sie müssen diese über OLLAMA_CONTEXT_LENGTH oder eine Modelfile erhöhen — die OpenAI-kompatible API akzeptiert die Kontextlänge nicht vom Client, daher kann Hermes sie nicht für Sie setzen.2 Für Agent-Nutzung sollten Sie mindestens 16k–32k festlegen.
vLLM — leistungsstarkes GPU-Serving:
pip install vllm
vllm serve meta-llama/Llama-3.1-70B-Instruct \
--port 8000 \
--max-model-len 65536 \
--tensor-parallel-size 2 \
--enable-auto-tool-choice \
--tool-call-parser hermes
Tool Calling erfordert --enable-auto-tool-choice und --tool-call-parser <name>. Unterstützte Parser: hermes (Qwen 2.5, Hermes 2/3), llama3_json, mistral, deepseek_v3, deepseek_v31, xlam, pythonic. Ohne diese Flags kommen Tool-Aufrufe als Klartext zurück.2
SGLang — schnelles Serving mit RadixAttention zur Wiederverwendung des KV-Caches:
pip install "sglang[all]"
python -m sglang.launch_server \
--model meta-llama/Llama-3.1-70B-Instruct \
--port 30000 \
--context-length 65536 \
--tp 2 \
--tool-call-parser qwen
SGLang-Fallstrick: Der Standardwert für max_tokens ist 128. Setzen Sie --default-max-tokens auf dem Server oder konfigurieren Sie model.max_tokens in config.yaml, wenn Antworten abgeschnitten werden.2
llama.cpp / llama-server — CPU und Apple Silicon Metal:
./build/bin/llama-server \
--jinja -fa \
-c 32768 \
-ngl 99 \
-m models/qwen2.5-coder-32b-instruct-Q4_K_M.gguf \
--port 8080 --host 0.0.0.0
--jinja ist für Tool Calling erforderlich. Ohne diese Option ignoriert llama-server den Parameter tools vollständig, und das Modell versucht, Tools aufzurufen, indem es JSON in seinen Antworttext schreibt — was Hermes nicht als echte Tool-Aufrufe parsen kann.2
LM Studio — Desktop-App mit GUI:
Starten Sie den Server aus der LM Studio-App (Developer-Tab → Start Server) oder über CLI: lms server start (startet auf Port 1234) und lms load qwen2.5-coder --context-length 32768.2 Verweisen Sie hermes model anschließend auf http://localhost:1234/v1.
Kritischer LM Studio-Fallstrick: LM Studio liest die Kontextlänge aus den Modellmetadaten, aber viele GGUF-Modelle melden Standardwerte von 2048 oder 4096. Setzen Sie die Kontextlänge in den LM Studio-Modelleinstellungen immer explizit — klicken Sie auf das Zahnradsymbol neben der Modellauswahl, setzen Sie “Context Length” auf mindestens 16384 (besser 32768), und laden Sie das Modell neu.2
Benannte benutzerdefinierte Providers
Wenn Sie mit mehreren benutzerdefinierten Endpunkten arbeiten, etwa einem lokalen Entwicklungsserver und einem entfernten GPU-Server, definieren Sie diese als benannte benutzerdefinierte Providers in config.yaml:2
custom_providers:
- name: local
base_url: http://localhost:8080/v1
# api_key omitted — Hermes uses "no-key-required" for keyless local servers
- name: work
base_url: https://gpu-server.internal.corp/v1
api_key: corp-api-key
api_mode: chat_completions # optional, auto-detected from URL
- name: anthropic-proxy
base_url: https://proxy.example.com/anthropic
api_key: proxy-key
api_mode: anthropic_messages # for Anthropic-compatible proxies
Wechseln Sie anschließend während einer Sitzung mit der Dreifach-Syntax zwischen ihnen:
/model custom:local:qwen-2.5
/model custom:work:llama3-70b
/model custom:anthropic-proxy:claude-sonnet-4
Sie können benannte benutzerdefinierte Providers auch im interaktiven Menü von hermes model auswählen.2
Erweiterbare Provider-Architektur (v0.13.0+)
v0.13.0 liefert eine ProviderProfile ABC plus ein Verzeichnis plugins/model-providers/, sodass Drittanbieter-Inferenz-Providers ohne Änderungen am Kern integriert werden können.18 Wenn ein Provider einen OpenAI-, Anthropic- oder Codex-kompatiblen API-Modus spricht, können Sie eine ProviderProfile-Unterklasse implementieren, die Authentifizierungspfad, Basis-URL, Modellkatalog und Caching-Header deklariert; Hermes löst sie über denselben runtime_provider.py-Pfad auf, den die integrierten Providers verwenden. Das ist die Architekturänderung hinter der Provider-Erweiterung in v0.13.0: Statt den Kerncode zu bearbeiten, um einen Provider hinzuzufügen, liefern Sie ein Plugin aus.
OpenAI-kompatibler lokaler Proxy (v0.14.0+)
hermes proxy stellt einen OpenAI-kompatiblen lokalen Endpunkt bereit, der durch den OAuth-Provider gestützt wird, bei dem Hermes bereits angemeldet ist — Claude Pro, ChatGPT Pro, SuperGrok oder ein anderer kompatibler konfigurierter Provider.19 Das bedeutet: Tools, die eine OpenAI-artige API erwarten, darunter Codex CLI, Aider, Cline, Continue oder benutzerdefinierte Skripte, können Ihre abonnementgestützte Hermes-Authentifizierung ohne separaten API key wiederverwenden. Behandeln Sie den Proxy als lokale Entwicklungsinfrastruktur: Binden Sie ihn bewusst, stellen Sie ihn nicht breit erreichbar bereit, und behalten Sie providerspezifische Bedingungen im Blick.
Erkennung der Kontextlänge
Zwei Einstellungen werden laut Upstream-Dokumentation ständig verwechselt:2
context_length— das gesamte Kontextfenster (kombiniertes Token-Budget für Eingabe + Ausgabe, z. B. 1.000.000 für Claude Opus 4.7 oder 200.000 für Sonnet 4.6). Hermes nutzt dies, um zu entscheiden, wann der Verlauf komprimiert wird.model.max_tokens— die Ausgabegrenze (maximale Token-Anzahl, die das Modell in einer einzelnen Antwort erzeugen darf). Unabhängig von der Verlaufslänge.
Setzen Sie context_length, wenn die automatische Erkennung die Fenstergröße falsch bestimmt:
model:
default: "qwen3.5:9b"
base_url: "http://localhost:8080/v1"
context_length: 131072 # tokens
Hermes nutzt eine mehrstufige Auflösungskette zur Erkennung von Kontextfenstern: Konfigurationsüberschreibung → benutzerdefinierter Provider pro Modell → persistenter Cache → Endpunkt /models → Anthropic /v1/models → OpenRouter API → Nous Portal → models.dev (community-gepflegte Registry für über 3800 Modelle) → Fallback-Standardwerte (128K).2 Das System ist providerbewusst, sodass dasselbe Modell je nach Anbieter unterschiedliche Kontextlimits haben kann (z. B. ist claude-opus-4.6 direkt bei Anthropic 1M, aber bei GitHub Copilot 128K).2
Provider-Rotation & Fallback
Zugangsdaten-Pools. Wenn Sie mehrere API keys für denselben Provider haben, konfigurieren Sie über hermes auth eine Rotationsstrategie. So verteilen Sie Rate Limits über mehrere Schlüssel.6
Fallback-Modell. Konfigurieren Sie ein Backup provider:model, zu dem Hermes automatisch wechselt, wenn Ihr primäres Modell fehlschlägt (Rate Limits, Serverfehler, Authentifizierungsfehler):2
fallback_model:
provider: openrouter # required
model: anthropic/claude-sonnet-4 # required
# base_url: http://localhost:8000/v1 # optional, for custom endpoints
# api_key_env: MY_CUSTOM_KEY # optional, env var name
Der Fallback tauscht Modell und Provider während der Sitzung aus, ohne Ihre Konversation zu verlieren. Er wird höchstens einmal pro Sitzung ausgelöst.2 Unterstützte Providers für Fallback: openrouter, nous, openai-codex, copilot, copilot-acp, anthropic, huggingface, zai, kimi-coding, minimax, minimax-cn, deepseek, ai-gateway, opencode-zen, opencode-go, kilocode, alibaba, custom.2
Hilfsmodelle
Hermes verwendet leichtgewichtige „Hilfsmodelle“ für Nebenaufgaben: Bildanalyse, Zusammenfassung von Webseiten, Analyse von Browser-Screenshots, Klassifizierung gefährlicher Befehle zur Genehmigung, Kontextkomprimierung, Zusammenfassung der Sitzungssuche, skill-Abgleich, MCP-Tool-Dispatch und Speicher-Flush.4 Standardmäßig verwenden diese Gemini Flash per automatischer Erkennung (OpenRouter → Nous → Codex).
Sie können konfigurieren, welches Modell und welcher Provider für jede Hilfsaufgabe verwendet wird. Jeder Hilfsslot nutzt dieselben drei Stellschrauben: provider, model, base_url.4
auxiliary:
vision:
provider: "auto" # "auto", "openrouter", "nous", "codex", "main", etc.
model: "" # e.g. "openai/gpt-4o", "google/gemini-2.5-flash"
base_url: "" # Custom OpenAI-compatible endpoint
api_key: "" # Falls back to OPENAI_API_KEY
timeout: 30
download_timeout: 30
web_extract:
provider: "auto"
model: ""
timeout: 360
approval:
provider: "auto"
model: ""
timeout: 30
compression:
timeout: 120
session_search: { provider: "auto", model: "", timeout: 30 }
skills_hub: { provider: "auto", model: "", timeout: 30 }
mcp: { provider: "auto", model: "", timeout: 30 }
flush_memories:{ provider: "auto", model: "", timeout: 30 }
Die Provider-Option "main" bedeutet: „Verwende denselben Provider wie mein Hauptagent“ — gültig nur innerhalb von auxiliary:, compression: und fallback_model:-Konfigurationen. Sie ist nicht für Ihre oberste Einstellung model.provider gültig. Wenn Sie einen benutzerdefinierten OpenAI-kompatiblen Endpunkt als Hauptmodell verwenden, setzen Sie provider: custom in Ihrem Abschnitt model:.4
Warum das wichtig ist: Wenn Sie nur Anthropic OAuth konfiguriert haben (kein OpenRouter key), werden Vision, Webzusammenfassung und Komprimierung schlechter funktionieren oder fehlschlagen, weil die Standard-Fallback-Kette für Hilfsmodelle zuerst OpenRouter versucht. Fügen Sie einen OPENROUTER_API_KEY für Hilfsaufgaben hinzu oder konfigurieren Sie jeden Hilfsslot so um, dass Ihr Haupt-Provider verwendet wird:
auxiliary:
vision:
provider: "main"
web_extract:
provider: "main"
Dies ist der mit Abstand häufigste Fallstrick vom Typ „Meine Funktionen funktionieren stillschweigend nicht“ für neue Hermes-Benutzer.
Konfigurationssystem
Hermes verfügt über ein mehrschichtiges Konfigurationssystem. Die Rangfolge zu verstehen ist entscheidend, weil höhere Ebenen niedrigere überschreiben und eine der Ebenen eine globale Provider-Registry ist, die Sie in config.yaml nicht sehen können.
Aufbau der Konfigurationsdateien
Laut Upstream-Dokumentation bilden diese Dateien eine Hermes-Konfiguration:4
~/.hermes/
├── config.yaml # All settings (model, terminal, TTS, compression, memory, toolsets, ...)
├── .env # Secrets (API keys, bot tokens, passwords)
├── auth.json # OAuth provider credentials (Nous Portal, Codex, Anthropic)
├── SOUL.md # Primary agent identity (slot #1 in system prompt)
├── memories/ # Persistent memory (MEMORY.md, USER.md)
├── skills/ # Bundled + agent-created + hub-installed skills
├── cron/ # Scheduled jobs
├── sessions/ # Gateway session state
└── logs/ # agent.log, gateway.log, errors.log (secrets auto-redacted)
config.yaml vs. .env — wenn beide gesetzt sind, gewinnt config.yaml bei nicht geheimen Einstellungen.4 Die Regel lautet:
- Secrets (API keys, Bot-Tokens, Passwörter) → .env
- Alles andere (Modell, Terminal-Backend, Komprimierungseinstellungen, Speicherlimits, toolsets) → config.yaml
Secrets können aus config.yaml per Shell-ähnlicher Interpolation referenziert werden:4
auxiliary:
vision:
api_key: ${GOOGLE_API_KEY}
base_url: ${CUSTOM_VISION_URL}
delegation:
api_key: ${DELEGATION_KEY}
Konfiguration verwalten
hermes config # View current configuration
hermes config show # Same as above
hermes config edit # Open config.yaml in your editor
hermes config set KEY VAL # Set a specific value
hermes config path # Print the config file path
hermes config env-path # Print the .env file path
hermes config check # Check for missing options (after updates)
hermes config migrate # Interactively add missing options
Beispiele:4
hermes config set model anthropic/claude-opus-4
hermes config set terminal.backend docker
hermes config set OPENROUTER_API_KEY sk-or-... # Saves to .env
hermes config check und hermes config migrate sind die Befehle, die Sie nach jedem hermes update ausführen sollten — sie erkennen neu hinzugefügte Konfigurationsoptionen, die Ihre Datei noch nicht enthält.6
Konfigurationsrangfolge
Hermes lädt Konfigurationen aus mehreren Quellen. Wenn mehrere Quellen denselben Wert setzen, gewinnt die Quelle mit der höheren Priorität:4
- CLI-Argumente —
hermes chat --model anthropic/claude-sonnet-4(Überschreibung pro Aufruf) - Umgebungsvariablen — werden beim Prozessstart angewendet
config.yaml— die primäre Einstellungsdatei.env— nur Secrets- Eingebaute Standardwerte — werden angewendet, wenn nichts anderes einen Wert setzt
CLI-Flags gewinnen immer für diesen einzelnen Aufruf. config.yaml ist die langfristige Quelle der Wahrheit.
Lokalisierung (v0.13.0+)
v0.13.0 fügte 7 Locales für CLI und gateway-Nachrichten hinzu: Chinesisch (vereinfacht), Japanisch, Deutsch, Spanisch, Französisch, Ukrainisch und Türkisch.18 v0.14.0 lokalisiert alle gateway-Befehle und das Web-Dashboard, fügt 8 weitere Locales hinzu und erhöht die Gesamtzahl auf 16.19 Die Dokumentation ist derzeit nur in zh-Hans lokalisiert. Das Locale wird aus den Umgebungsvariablen LC_ALL / LANG oder einem expliziten locale:-Schlüssel in config.yaml aufgelöst. Englisch bleibt der Standard und die Quelle der Wahrheit für alle Strings, die eine Übersetzung noch nicht abdeckt.
Profiles — mehrere isolierte Hermes-Instanzen
Profiles geben Ihnen mehrere isolierte Hermes-Instanzen, jeweils mit eigener Konfiguration, eigenen Sitzungen, skills, eigenem Speicher und eigener gateway-PID. So können Sie „Arbeits-Hermes“ und „persönliches Hermes“ nebeneinander betreiben, ohne dass eine Instanz den Zustand der anderen sieht.6
hermes profile list
hermes profile create work --clone # Clone from current profile
hermes profile use work # Set sticky default
hermes profile alias work --name h-work # Create wrapper script
hermes profile export work -o work-backup.tar.gz
hermes profile import work-backup.tar.gz --name restored
hermes -p work chat -q "Hello from work profile" # One-off without switching
Jedes profile erhält sein eigenes HERMES_HOME (standardmäßig ~/.hermes-<name>/), sodass mehrere profiles das gateway gleichzeitig ausführen können, ohne sich gegenseitig in die Quere zu kommen.63
CLI-Befehle
Dieser Abschnitt dient als Praxisreferenz für die übergeordneten CLI-Befehle. Die verbindliche, aus dem Quellcode abgeleitete Referenz finden Sie in der upstream-Dokumentation CLI Commands Reference.6
Globale Optionen
hermes [global-options] <command> [subcommand/options]
| Option | Beschreibung |
|---|---|
--version, -V |
Version anzeigen und beenden |
--profile <name>, -p <name> |
Hermes-Profil auswählen |
--resume <session>, -r <session> |
Sitzung anhand von ID oder Titel fortsetzen |
--continue [name], -c [name] |
Letzte Sitzung fortsetzen (oder nach Titel suchen) |
--worktree, -w |
In einem isolierten Git-Worktree starten |
--yolo |
Bestätigungsabfragen für gefährliche Befehle überspringen |
--pass-session-id |
Sitzungs-ID in den System-Prompt des Agenten einfügen |
Übergeordnete Befehle
| Befehl | Zweck |
|---|---|
hermes chat |
Interaktiver oder einmaliger Chat |
hermes model |
Standardanbieter und -modell interaktiv auswählen |
hermes gateway |
Messaging-Gateway starten oder verwalten |
hermes setup |
Interaktiver Einrichtungsassistent |
hermes auth |
Zugangsdaten verwalten — hinzufügen, auflisten, entfernen, zurücksetzen, Strategie festlegen |
hermes status |
Agent-, Authentifizierungs- und Plattformstatus anzeigen |
hermes cron |
Cron-Scheduler inspizieren und auslösen |
hermes webhook |
Dynamische Webhook-Abonnements verwalten |
hermes doctor |
Konfigurations- und Abhängigkeitsprobleme diagnostizieren |
hermes dump |
Kopierfähige Einrichtungszusammenfassung für Support/Debugging |
hermes logs |
Agent-/Gateway-/Fehlerprotokolle anzeigen, verfolgen und filtern |
hermes config |
Konfiguration anzeigen, bearbeiten, migrieren, abfragen |
hermes pairing |
Messaging-Pairing-Codes genehmigen oder widerrufen |
hermes skills |
Skills durchsuchen, installieren, veröffentlichen, prüfen |
hermes honcho |
Honcho-Sitzungsübergreifenden Speicher verwalten |
hermes memory |
Externen Speicheranbieter konfigurieren |
hermes acp |
Hermes als ACP-Server ausführen (Editor-Integration) |
hermes mcp |
MCP-Serverkonfiguration verwalten; Hermes als MCP-Server ausführen |
hermes plugins |
Plugins verwalten |
hermes tools |
Aktivierte Tools pro Plattform konfigurieren |
hermes sessions |
Sitzungen durchsuchen, exportieren, bereinigen, löschen |
hermes insights |
Token-/Kosten-/Aktivitätsanalysen anzeigen |
hermes claw |
OpenClaw-Migrationshelfer |
hermes profile |
Profile verwalten (mehrere isolierte Instanzen) |
hermes completion |
Shell-Completion-Skripte ausgeben (bash/zsh) |
hermes whatsapp |
WhatsApp-Bridge konfigurieren und koppeln |
hermes version |
Versionsinformationen ausgeben |
hermes update |
Neuesten Code abrufen und Abhängigkeiten neu installieren |
hermes uninstall |
Hermes vom System entfernen (--full löscht auch Konfiguration/Daten) |
hermes backup |
Vollständiges Backup von Konfiguration, Sitzungen, Skills und Speicher (v0.9.0+)16 |
hermes import |
Aus einem Backup-Archiv wiederherstellen — zwischen Rechnern migrieren oder zurücksetzen (v0.9.0+)16 |
hermes dashboard |
Lokales Web-Dashboard für browserbasierte Agentenverwaltung starten (v0.9.0+)16 |
hermes debug share |
Vollständigen Debug-Bericht zur Fehlerbehebung auf einen Pastebin hochladen (v0.9.0+)16 |
hermes chat — Der Haupteinstiegspunkt
hermes ohne Argumente öffnet den interaktiven Chat. hermes chat ist die explizite Form mit Optionen:6
hermes chat -q "Summarize the latest PRs" # One-shot, non-interactive
hermes chat --provider openrouter --model anthropic/claude-sonnet-4.6
hermes chat --toolsets web,terminal,skills # Enable specific toolsets
hermes chat --quiet -q "Return only JSON" # Programmatic mode
hermes chat --worktree -q "Review repo and open a PR"
Wichtige Optionen:
| Option | Beschreibung |
|---|---|
-q, --query "..." |
Einmaliger, nicht-interaktiver Prompt |
-m, --model <model> |
Modell für diesen Durchlauf überschreiben |
-t, --toolsets <csv> |
Kommagetrennte Auswahl von Toolsets aktivieren |
--provider <provider> |
Anbieter erzwingen (siehe vollständige Liste) |
-s, --skills <name> |
Einen oder mehrere Skills für diese Sitzung vorladen |
-v, --verbose |
Ausführliche Ausgabe |
-Q, --quiet |
Programmatischer Modus (kein Banner, Spinner, Vorschauen) |
--resume <session> |
Sitzung direkt aus chat fortsetzen |
--worktree |
Isolierten Git-Worktree erstellen |
--checkpoints |
Dateisystem-Checkpoints vor destruktiven Änderungen aktivieren |
--yolo |
Bestätigungsabfragen überspringen |
--source <tag> |
Sitzungsquellen-Tag (Standard: cli; tool für Integrationen) |
--max-turns <N> |
Maximale Tool-Aufruf-Iterationen pro Durchgang (Standard: 90) |
hermes setup — Vollständiger Assistent
Startet den vollständigen Einrichtungsassistenten oder springt direkt in einen Abschnitt:6
hermes setup # Full wizard
hermes setup model # Provider and model only
hermes setup terminal # Terminal backend only
hermes setup gateway # Messaging platforms only
hermes setup tools # Tool enable/disable per platform
hermes setup agent # Agent behavior only
hermes setup --non-interactive
hermes setup --reset # Reset config to defaults before setup
hermes logs — Strukturierte Protokollabfragen
hermes logs ist leistungsfähiger als tail -f auf den Protokolldateien, da es gleichzeitig nach Level, Sitzungs-ID und Zeitraum filtern kann.6
hermes logs # Last 50 lines of agent.log
hermes logs -f # Follow in real time
hermes logs gateway -n 100 # Last 100 lines of gateway.log
hermes logs --level WARNING --since 1h # Warnings from the last hour
hermes logs --session abc123 # Filter by session ID substring
hermes logs errors --since 30m -f # Follow errors.log from 30m ago
hermes logs list # List all log files with sizes
Die Protokolldateien befinden sich in ~/.hermes/logs/:6
- agent.log — sämtliche Agentenaktivitäten (API-Aufrufe, Tool-Dispatch, Sitzungslebenszyklus, INFO+)
- errors.log — ausschließlich Warnungen und Fehler (gefilterte Teilmenge von agent.log)
- gateway.log — Messaging-Gateway-Aktivitäten (Plattformverbindungen, Dispatch, Webhooks)
Die Rotation erfolgt automatisch über Pythons RotatingFileHandler — achten Sie auf agent.log.1, agent.log.2 usw.6
hermes doctor — Diagnose
hermes doctor [--fix] ist der erste Befehl, den Sie bei Problemen ausführen sollten. Er prüft die Konfigurationsvalidität, das Vorhandensein von Abhängigkeiten, die Verfügbarkeit von API-Schlüsseln sowie den Dienststatus und kann mit --fix automatische Reparaturen versuchen.6
Um Diagnoseinformationen mit anderen zu teilen, verwenden Sie hermes dump — dieser Befehl erzeugt eine kompakte Klartextzusammenfassung mit geschwärzten API-Schlüsseln, die Sie direkt in ein GitHub-Issue oder einen Discord-Thread einfügen können.6
Slash-Befehle
Slash-Befehle werden innerhalb einer aktiven Chat-Sitzung (CLI oder Messaging-Plattform) ausgeführt. Sie werden aus einer gemeinsamen COMMAND_REGISTRY in hermes_cli/commands.py heraus ausgelöst, weshalb die meisten Befehle auf allen Oberflächen identisch funktionieren.9
Sitzungssteuerung
| Befehl | Beschreibung |
|---|---|
/new (Alias /reset) |
Neue Sitzung starten |
/clear |
Bildschirm leeren + neue Sitzung starten |
/history |
Gesprächsverlauf anzeigen |
/save |
Aktuelles Gespräch speichern |
/retry |
Letzte Nachricht erneut versuchen |
/undo |
Letzten Benutzer-/Assistentenaustausch entfernen |
/title <name> |
Titel für die aktuelle Sitzung festlegen |
/compress |
Gesprächskontext manuell komprimieren |
/rollback [number] |
Dateisystem-checkpoints auflisten oder wiederherstellen |
/stop |
Alle laufenden Hintergrundprozesse beenden |
/queue <prompt> |
Einen Prompt für den nächsten Durchlauf in die Warteschlange stellen. Achtung: /q wird sowohl von /queue als auch von /quit beansprucht; die letzte Registrierung gewinnt, und /q wird in der Praxis zu /quit aufgelöst — geben Sie immer explizit /queue ein.9 |
/resume [name] |
Eine zuvor benannte Sitzung fortsetzen |
/statusbar (Alias /sb) |
Kontext-/Modellstatusleiste umschalten |
/background <prompt> (Alias /bg) |
Einen Prompt in einer separaten Hintergrundsitzung ausführen |
/btw <question> |
Flüchtige Nebenfrage (keine Tools, nicht gespeichert) |
/plan [request] |
Gebündelte plan-skill laden, um einen Plan zu schreiben, statt auszuführen |
/branch [name] (Alias /fork) |
Aktuelle Sitzung verzweigen |
/goal <target> |
Agent auf ein Ziel festlegen, damit er über mehrere Durchläufe hinweg bei der Aufgabe bleibt. Ralph-loop-Muster als Primitive erster Klasse. Konfigurierbares Durchlaufbudget. Neu in v0.13.0.18 |
/subgoal <criterion> |
Erfolgskriterien zu einem aktiven /goal hinzufügen, ohne den Loop neu zu starten. Neu in v0.14.0.19 |
/handoff <target> |
Live-Sitzung — Nachrichten, Tool-Aufrufe und Kontext — an ein anderes Modell, eine andere persona oder ein anderes profile übertragen. Neu in v0.14.0.19 |
Konfiguration & Modell
| Befehl | Beschreibung |
|---|---|
/config |
Aktuelle Konfiguration anzeigen |
/model [model-name] |
Aktuelles Modell anzeigen oder ändern |
/provider |
Verfügbare Provider und aktuellen Provider anzeigen |
/personality [name] |
personality-Overlay festlegen |
/verbose |
Anzeige des Tool-Fortschritts durchschalten |
/reasoning |
Reasoning-Aufwand und Anzeige verwalten |
/skin |
Anzeige-Skin/-Theme anzeigen oder ändern |
/voice [on\|off\|tts\|status] |
CLI-Sprachmodus umschalten |
/yolo |
YOLO-Modus umschalten (Genehmigungsabfragen überspringen) |
/fast |
Fast Mode umschalten — priorisierte Verarbeitung für OpenAI- und Anthropic-Modelle (v0.9.0+)16 |
/debug |
Schnelldiagnose über alle Plattformen hinweg (v0.9.0+)16 |
Der /model-Befehl ist das Arbeitspferd für den Provider-Wechsel während einer Sitzung:9
/model # Show current model and options
/model claude-sonnet-4 # Switch model (auto-detect provider)
/model zai:glm-5 # Switch provider:model
/model custom:qwen-2.5 # Use model on custom endpoint
/model custom # Auto-detect model from custom endpoint
/model custom:local:qwen-2.5 # Named custom provider
/model openrouter:anthropic/claude-sonnet-4 # Back to cloud
Tools, Skills & Informationen
| Befehl | Beschreibung |
|---|---|
/tools [list\|disable\|enable] [name...] |
Tools für die aktuelle Sitzung verwalten |
/toolsets |
Verfügbare toolsets auflisten |
/browser [connect\|disconnect\|status] |
Lokale Chrome-CDP-Verbindung verwalten |
/skills |
skills suchen, installieren, prüfen oder verwalten |
/cron |
Geplante Aufgaben verwalten |
/reload-mcp |
MCP-Server aus config.yaml neu laden |
/plugins |
Installierte Plugins auflisten |
/help |
Alle Befehle anzeigen |
/usage |
Token-Nutzung, Kosten und Dauer anzeigen |
/insights |
Nutzungsanalysen anzeigen (letzte 30 Tage) |
/platforms |
Status der Messaging-Plattformen anzeigen |
/profile |
Aktiven Profilnamen und Home anzeigen |
Dynamische Skill-Slash-Befehle
Jede installierte skill wird automatisch als Slash-Befehl verfügbar gemacht:9
/gif-search funny cats
/axolotl help me fine-tune Llama 3 on my dataset
/github-pr-workflow create a PR for the auth refactor
/excalidraw # Just the skill name loads it and lets the agent ask what you need
Sie können außerdem Schnellbefehle in config.yaml definieren, die einen Kurznamen als Alias für einen längeren Prompt verwenden:9
quick_commands:
review: "Review my latest git diff and suggest improvements"
deploy: "Run the deployment script at scripts/deploy.sh and verify the output"
morning: "Check my calendar, unread emails, and summarize today's priorities"
Geben Sie anschließend /review, /deploy oder /morning in CLI ein.
Präfixabgleich
Befehle unterstützen Präfixabgleich: Die Eingabe von /h wird zu /help aufgelöst, /mod zu /model. Wenn ein Präfix mehrdeutig ist, gewinnt die erste Registrierung in Registry-Reihenfolge. Vollständige Befehlsnamen und registrierte Aliase haben immer Vorrang vor Präfixübereinstimmungen.9
Messaging-spezifische Befehle
Einige Befehle funktionieren nur auf Messaging-Plattformen (Telegram, Discord, Slack, WhatsApp, Signal, Email, Home Assistant):9
/status— Sitzungsinformationen anzeigen/sethome(Alias/set-home) — aktuellen Chat als Plattform-Home markieren/approve [session|always]— ausstehenden gefährlichen Befehl genehmigen/deny— ausstehenden gefährlichen Befehl ablehnen/update— Hermes Agent auf die neueste Version aktualisieren/commands [page]— alle Befehle und skills durchsuchen (paginiert)
Und einige sind nur für CLI verfügbar: /skin, /tools, /toolsets, /browser, /config, /cron, /skills, /platforms, /paste, /statusbar, /plugins.9
Tools & Toolsets
Hermes wird mit einer breiten integrierten Tool-Registry ausgeliefert, die Websuche, Browserautomatisierung, Terminalausführung, Dateibearbeitung, Memory, Delegation, RL-Training, Nachrichtenzustellung, Home Assistant-Integration und mehr abdeckt.10 Tools sind in logische toolsets organisiert, die je nach Plattform aktiviert oder deaktiviert werden können.
Übergeordnete Kategorien
| Kategorie | Beispiele | Beschreibung |
|---|---|---|
| Web | web_search, web_extract |
Das Web durchsuchen und Seiteninhalte extrahieren |
| Terminal & Dateien | terminal, process, read_file, patch |
Befehle ausführen und Dateien bearbeiten |
| Browser | browser_navigate, browser_snapshot, browser_vision |
Interaktive Browserautomatisierung mit Text und Vision |
| Medien | vision_analyze, video_analyze, video_generate, image_generate, text_to_speech |
Multimodale Analyse und Generierung. video_analyze ist Gemini-first mit erweiterbarer Unterstützung für kompatible multimodale Anbieter (v0.13.0+). v0.14.0 ergänzt ein einheitliches video_generate mit austauschbaren Anbieter-Backends und sendet Rohpixel über vision_analyze, wenn das aktive Modell Vision-fähig ist.1819 |
| Agent-Orchestrierung | todo, clarify, execute_code, delegate_task |
Planung, Klärung, Codeausführung, Subagent-Delegation |
| Computer use | computer_use |
Desktop-Steuerung über das cua-driver-Backend; ab v0.14.0 funktioniert dies mit Nicht-Anthropic-Anbietern, die Vision-fähig sind.19 |
| Memory & Recall | memory, session_search |
Persistentes Memory + Sitzungssuche |
| Automatisierung & Zustellung | cronjob, send_message |
Geplante Aufgaben, ausgehende Nachrichten |
| Integrationen | ha_*, MCP tools, rl_* |
Home Assistant, MCP, RL-Training |
Zu den gängigen toolset-Namen gehören web, terminal, file, browser, vision, image_gen, moa, skills, tts, todo, memory, session_search, cronjob, code_execution, delegation, clarify, homeassistant und rl.10
Tools verwalten
hermes chat --toolsets "web,terminal" # Use specific toolsets
hermes tools # Interactive per-platform tool config
hermes tools --summary # Print enabled-tools summary
Tools können außerdem während einer Sitzung über /tools disable <name> und /tools enable <name> umgeschaltet werden. Dadurch wird die Sitzung zurückgesetzt, damit das neue Toolset wirksam wird.9
Terminal-Backends
Das Terminal-Tool kann Befehle in sechs verschiedenen Umgebungen ausführen:10
| Backend | Anwendungsfall |
|---|---|
local |
Auf Ihrem Rechner ausführen (Standard) — Entwicklung, vertrauenswürdige Aufgaben |
docker |
Isolierte Container — Sicherheit, Reproduzierbarkeit |
ssh |
Remote-Server — Sandbox, Agent vom eigenen Code fernhalten |
singularity |
HPC-Container — Cluster-Computing, rootless |
modal |
Serverlose Cloud-Ausführung |
daytona |
Cloud-Sandbox-Arbeitsbereich — persistente Remote-Entwicklungsumgebung |
Wechseln Sie Backends mit hermes config set terminal.backend <name> oder in config.yaml:
terminal:
backend: docker # or: local, ssh, singularity, modal, daytona
cwd: "." # Working directory
timeout: 180 # Command timeout in seconds
SSH-Backend (aus Sicherheitsgründen empfohlen — der Agent kann seinen eigenen Code nicht ändern):10
terminal:
backend: ssh
# In ~/.hermes/.env
TERMINAL_SSH_HOST=my-server.example.com
TERMINAL_SSH_USER=myuser
TERMINAL_SSH_KEY=~/.ssh/id_rsa
Docker-Backend:
terminal:
backend: docker
docker_image: python:3.11-slim
Container-Ressourcen (gilt für Docker, Singularity, Modal, Daytona):10
terminal:
container_cpu: 1
container_memory: 5120 # MB (default 5GB)
container_disk: 51200 # MB (default 50GB)
container_persistent: true # Persist filesystem across sessions
Mit container_persistent: true bleiben installierte Pakete, Dateien und Konfigurationen sitzungsübergreifend erhalten.10
Alle Container-Backends laufen mit Sicherheits-Härtung: schreibgeschütztes Root-Dateisystem (Docker), alle Linux-Capabilities außer DAC_OVERRIDE, CHOWN und FOWNER entfernt, keine Rechteausweitung, PID-Limits (256 Prozesse), vollständige Namespace-Isolation, persistenter Arbeitsbereich über Volumes.10
Hintergrundprozesse
Das Terminal-Tool unterstützt Hintergrundausführung mit explizitem Prozessmanagement:10
terminal(command="pytest -v tests/", background=true)
# Returns: {"session_id": "proc_abc123", "pid": 12345}
process(action="list") # Show all running processes
process(action="poll", session_id="proc_abc123") # Check status
process(action="wait", session_id="proc_abc123") # Block until done
process(action="log", session_id="proc_abc123") # Full output
process(action="kill", session_id="proc_abc123") # Terminate
process(action="write", session_id="proc_abc123", data="y") # Send input
Der PTY-Modus (pty=true) ermöglicht interaktive CLI-Tools wie Codex und Claude Code.10
Sudo
Wenn ein Befehl sudo benötigt, fragt Hermes nach Ihrem Passwort (für die Sitzung zwischengespeichert). Alternativ können Sie SUDO_PASSWORD in ~/.hermes/.env setzen.10
Multi-Agent-Kanban (v0.13.0+)
v0.13.0 macht Multi-Agent-Zusammenarbeit zu einem Primitive erster Klasse: einem dauerhaften Kanban-Board, das Aufgaben, Status und Worker-Identität agentenübergreifend und über Neustarts hinweg verfolgt.18 Das Board sorgt dafür, dass ein Schwarm von Hermes-Workern Arbeit tatsächlich abschließt, statt an toten Handoffs hängenzubleiben.
| Mechanismus | Funktion |
|---|---|
| Heartbeats | Jeder Worker sendet Pulse, während er eine Aufgabe besitzt. Ein verpasster Heartbeat markiert den Worker als verdächtig und gibt die Aufgabe zur Wiederübernahme frei. |
| Reclaim | Ein anderer Worker kann eine verwaiste Aufgabe übernehmen, inklusive vollständigem Aufgabenstatus und vorheriger Teilergebnisse. |
| Zombie-Erkennung | Worker, die beendet werden, ohne eine Aufgabe als abgeschlossen zu markieren, werden automatisch daran gehindert, neue Arbeit zu beanspruchen. So sammelt der Schwarm keine tote Identität an. |
| Hallucination gate | Output, der das Gate nicht besteht, wird mit einem angegebenen Grund zurück ans Board geschickt, statt als erledigt markiert zu werden. |
max_retries pro Aufgabe |
Überschreiben Sie das standardmäßige Retry-Budget für eine Aufgabe, von der Sie wissen, dass sie fragil ist. |
| Multi-Projekt-Boards | Ein einziges Hermes-Home kann mehrere unabhängige Boards hosten. |
Das Kanban-Board passt auf der Zielseite natürlich zu /goal (locked-target Ralph loop) und bei Spawn-Semantiken zum bestehenden delegate_task-Tool. Das Ergebnis ist ein Schwarmmuster, bei dem jeder Agent dieselbe Quelle der Wahrheit dafür teilt, was als Nächstes zu tun ist, wer daran arbeitet und was feststeckt.
Skill-System
Skills sind Wissensdokumente auf Abruf, die der Agent bei Bedarf laden kann. Sie folgen einem Muster der progressiven Offenlegung, um die Token-Nutzung zu minimieren, und sind mit dem offenen Standard agentskills.io kompatibel.11
Alle Skills liegen in ~/.hermes/skills/ — dem primären Verzeichnis und der maßgeblichen Quelle. Bei einer Neuinstallation werden gebündelte Skills aus dem Repo kopiert. Über Hub installierte und vom Agent erstellte Skills landen ebenfalls hier.11
Progressive Offenlegung
Level 0: skills_list() → [{name, description, category}, ...] (~3k tokens)
Level 1: skill_view(name) → Full content + metadata (varies)
Level 2: skill_view(name, path) → Specific reference file (varies)
Der Agent lädt den vollständigen Skill-Inhalt nur dann, wenn er ihn tatsächlich benötigt.11
Format von SKILL.md
---
name: my-skill
description: Brief description of what this skill does
version: 1.0.0
platforms: [macos, linux] # Optional — restrict to OS platforms
metadata:
hermes:
tags: [python, automation]
category: devops
fallback_for_toolsets: [web] # Conditional activation
requires_toolsets: [terminal] # Conditional activation
config: # Config.yaml settings
- key: my.setting
description: "What this controls"
default: "value"
prompt: "Prompt for setup"
---
# Skill Title
## When to Use
Trigger conditions for this skill.
## Procedure
1. Step one
2. Step two
## Pitfalls
- Known failure modes and fixes
## Verification
How to confirm it worked.
Bedingte Aktivierung
Skills können sich je nach verfügbaren Tools ein- oder ausblenden. Das ist vor allem für Fallback-Skills nützlich — kostenlose oder lokale Alternativen, die nur erscheinen sollen, wenn ein Premium-Tool nicht verfügbar ist:11
| Feld | Verhalten |
|---|---|
fallback_for_toolsets |
Skill wird ausgeblendet, wenn die aufgeführten toolsets verfügbar sind |
fallback_for_tools |
Gleiches Verhalten, prüft aber einzelne Tools |
requires_toolsets |
Skill wird ausgeblendet, wenn die aufgeführten toolsets nicht verfügbar sind |
requires_tools |
Gleiches Verhalten, prüft aber einzelne Tools |
Beispiel: Der integrierte Skill duckduckgo-search verwendet fallback_for_toolsets: [web]. Wenn Sie FIRECRAWL_API_KEY gesetzt haben, ist das Web-toolset verfügbar und der Agent verwendet web_search — der DuckDuckGo-Skill bleibt ausgeblendet. Ohne den Schlüssel API erscheint der DuckDuckGo-Skill automatisch als Fallback.11
Vom Agent verwaltete Skills
Der Agent kann über das Tool skill_manage eigene Skills erstellen, aktualisieren und löschen. Das ist das prozedurale Gedächtnis des Agents — wenn er einen nicht trivialen Workflow herausfindet, speichert er den Ansatz als Skill zur späteren Wiederverwendung.11
Wann der Agent Skills erstellt:11 - Nach erfolgreichem Abschluss einer komplexen Aufgabe (5+ Tool-Aufrufe) - Wenn er auf Fehler oder Sackgassen gestoßen ist und den funktionierenden Weg gefunden hat - Wenn der Benutzer seinen Ansatz korrigiert hat - Wenn er einen nicht trivialen Workflow entdeckt hat
Aktionen:11
| Aktion | Verwendung für |
|---|---|
create |
Neuer Skill von Grund auf |
patch |
Gezielte Korrekturen (bevorzugt — am token-effizientesten) |
edit |
Größere strukturelle Überarbeitungen |
delete |
Einen Skill vollständig entfernen |
write_file |
Unterstützende Dateien hinzufügen/aktualisieren |
remove_file |
Eine unterstützende Datei entfernen |
Skill Hub
Durchsuchen, suchen, installieren und verwalten Sie Skills aus Online-Registries:611
hermes skills browse # Browse all hub skills
hermes skills browse --source official # Browse official optional skills
hermes skills search kubernetes # Search all sources
hermes skills search react --source skills-sh # Search skills.sh directory
hermes skills inspect openai/skills/k8s # Preview before installing
hermes skills install openai/skills/k8s # Install with security scan
hermes skills install skills-sh/anthropics/skills/pdf --force
hermes skills check # Check for upstream updates
hermes skills update # Reinstall changed hub skills
hermes skills audit # Re-scan installed hub skills
hermes skills uninstall k8s
hermes skills publish skills/my-skill --to github --repo owner/repo
hermes skills tap add myorg/skills-repo # Add custom GitHub source
Integrierte Hub-Quellen:11
| Quelle | Beispiel | Hinweise |
|---|---|---|
official |
official/security/1password |
Optionale Skills, die mit Hermes ausgeliefert werden (builtin Vertrauen) |
skills-sh |
skills-sh/vercel-labs/agent-skills/vercel-react-best-practices |
Öffentliches Skill-Verzeichnis von Vercel |
well-known |
well-known:https://mintlify.com/docs/.well-known/skills/mintlify |
URL-basierte Discovery von Websites, die /.well-known/skills/index.json veröffentlichen |
github |
openai/skills/k8s |
Direkte Repo-/Pfad-Installationen über GitHub |
clawhub |
— | Skills-Marketplace von Drittanbietern |
claude-marketplace |
— | Mit Claude kompatible Plugin-/Marketplace-Manifeste |
lobehub |
— | Konvertierung des LobeHub-Agent-Katalogs |
Standardmäßige GitHub taps (ohne Einrichtung durchsuchbar): openai/skills, anthropics/skills, VoltAgent/awesome-agent-skills, garrytan/gstack.11
Sicherheitsprüfung
Alle über den Hub installierten Skills durchlaufen einen Sicherheitsscanner, der auf Datenexfiltration, Prompt Injection, destruktive Befehle, Supply-Chain-Signale und andere Bedrohungen prüft.11
Vertrauensstufen:11
| Stufe | Quelle | Richtlinie |
|---|---|---|
builtin |
Wird mit Hermes ausgeliefert | Immer vertrauenswürdig |
official |
optional-skills/ im Repo |
builtin Vertrauen, keine Drittanbieterwarnung |
trusted |
Vertrauenswürdige Registries (openai/skills, anthropics/skills) |
Lockerere Richtlinie |
community |
Alles andere | Nicht gefährliche Befunde können mit --force überschrieben werden; dangerous-Urteile bleiben blockiert |
--force kann nicht gefährliche Richtlinienblockaden für Community-Skills überschreiben. Es überschreibt kein dangerous-Scanurteil.11
Externe Skill-Verzeichnisse
Sie können Hermes auf zusätzliche Skill-Verzeichnisse verweisen, die zusammen mit dem lokalen Verzeichnis gescannt werden:11
skills:
external_dirs:
- ~/.agents/skills
- /home/shared/team-skills
- ${SKILLS_REPO}/skills
Pfade unterstützen ~-Expansion und die Ersetzung von Umgebungsvariablen mit ${VAR}. Externe Verzeichnisse sind schreibgeschützt — wenn der Agent einen Skill erstellt oder bearbeitet, schreibt er immer nach ~/.hermes/skills/. Lokale Priorität gewinnt, wenn an beiden Orten ein Skill-Name existiert.11
Persistenter Speicher
Hermes verfügt über begrenzten, kuratierten Speicher, der sitzungsübergreifend bestehen bleibt. Der Speicher des Agenten besteht aus 2 Dateien, die beide in ~/.hermes/memories/ gespeichert werden:12
| Datei | Zweck | Zeichenlimit |
|---|---|---|
MEMORY.md |
Persönliche Notizen des Agenten — Umgebungsfakten, Konventionen, Gelerntes | 2.200 Zeichen (~800 Tokens) |
USER.md |
Benutzerprofil — Präferenzen, Kommunikationsstil, Erwartungen | 1.375 Zeichen (~500 Tokens) |
Beide werden beim Sitzungsstart als eingefrorener Snapshot in den System-Prompt eingefügt. Der Agent verwaltet seinen eigenen Speicher über das memory-Tool — add, replace oder remove.12
Muster des eingefrorenen Snapshots: Die System-Prompt-Einfügung wird einmal beim Sitzungsstart erfasst und ändert sich während der Sitzung nicht mehr. Das ist beabsichtigt — so bleibt der Prefix-Cache von LLM für bessere Leistung erhalten. Änderungen, die während einer Sitzung vorgenommen werden, werden sofort auf die Festplatte geschrieben, erscheinen aber erst in der nächsten Sitzung im System-Prompt.12
Was gespeichert werden sollte
Speichern Sie dies (der Agent tut das proaktiv):12
- Benutzerpräferenzen: “I prefer TypeScript over JavaScript” → user
- Umgebungsfakten: “This server runs Debian 12 with PostgreSQL 16” → memory
- Korrekturen: “Don’t use sudo for Docker commands, user is in docker group” → memory
- Konventionen: “Project uses tabs, 120-char line width, Google-style docstrings” → memory
- Abgeschlossene Arbeit: “Migrated database from MySQL to PostgreSQL on 2026-01-15” → memory
Überspringen Sie dies:12 - Triviale/offensichtliche Informationen - Fakten, die sich leicht erneut ermitteln lassen - Rohdaten-Dumps (zu groß für den Speicher) - Sitzungsspezifische Kurzlebigkeiten - Informationen, die bereits in Kontextdateien stehen
Sitzungssuche
Über MEMORY.md und USER.md hinaus kann der Agent mit dem session_search-Tool frühere Gespräche durchsuchen. Alle CLI- und Messaging-Sitzungen werden in SQLite (~/.hermes/state.db) mit FTS5-Volltextsuche gespeichert. Abfragen geben relevante frühere Gespräche mit Gemini Flash-Zusammenfassung zurück.12
| Funktion | Persistenter Speicher | Sitzungssuche |
|---|---|---|
| Kapazität | Insgesamt ~1.300 Tokens | Unbegrenzt (alle Sitzungen) |
| Geschwindigkeit | Sofort (im System-Prompt) | Erfordert Suche + LLM-Zusammenfassung |
| Anwendungsfall | Zentrale Fakten immer verfügbar | Bestimmte frühere Gespräche finden |
| Verwaltung | Vom Agenten manuell kuratiert | Automatisch — alle Sitzungen werden gespeichert |
| Token-Kosten | Fest pro Sitzung (~1.300 Tokens) | Nach Bedarf |
Externe Speicheranbieter
Für tieferen persistenten Speicher über MEMORY.md und USER.md hinaus bringt Hermes 8 externe Speicheranbieter-Plugins mit: Honcho, OpenViking, Mem0, Hindsight, Holographic, RetainDB, ByteRover und Supermemory.12
Externe Anbieter laufen zusätzlich zum integrierten Speicher (sie ersetzen ihn nie) und ergänzen Funktionen wie Wissensgraphen, semantische Suche, automatische Faktenextraktion und sitzungsübergreifende Benutzermodellierung:612
hermes memory setup # Pick a provider and configure it
hermes memory status # Check what's active
hermes memory off # Disable external provider (built-in only)
Es kann immer nur 1 externer Anbieter aktiv sein. Der integrierte Speicher ist immer aktiv.6
Automatische Sitzungsfortsetzung (v0.13.0+)
v0.13.0 macht Unterbrechungen mitten in Agentenläufen überlebbar. Der gateway setzt unterbrochene Sitzungen nach einem Neustart automatisch fort; /update-Neustarts bewahren den Sitzungszustand während des Upgrades; Source-Datei-Reloads während der Entwicklung halten die aktive Sitzung am Leben, statt eine neue zu erzwingen.18 Praktischer Effekt: Lang laufende gateway-Arbeit und cron-gesteuerte Jobs setzen ihr Kontextfenster nicht mehr zurück, wenn der Prozess neu startet.
Checkpoints v2 (v0.13.0+)
Die Zustandspersistenz wird in v0.13.0 als Single-Store-Design mit echtem Pruning, Festplattenleitplanken und ohne verwaiste Shadow-Repos neu geschrieben.18 Das bisherige checkpoint-System sammelte bei lang laufenden profiles Zustand auf der Festplatte an; der v2-Store setzt eine harte Obergrenze für lokalen checkpoint-Speicher und entfernt die doppelte Buchführung, die dieses Wachstum verursacht hat. Eine benutzerseitige Konfigurationsänderung ist nicht erforderlich; der nächste checkpoint-Schreibvorgang nutzt den v2-Pfad.
Persönlichkeit & SOUL.md
SOUL.md ist die primäre Identität einer Hermes-Instanz. Sie belegt Slot #1 im System-Prompt und ersetzt die fest codierte Standardidentität.13
Hermes legt automatisch eine Standard-SOUL.md unter ~/.hermes/SOUL.md an (oder $HERMES_HOME/SOUL.md für benutzerdefinierte profiles). Bestehende Benutzerdateien werden nie überschrieben. Hermes lädt SOUL.md nur aus HERMES_HOME — es sucht nicht im aktuellen Arbeitsverzeichnis. Dadurch bleibt die Persönlichkeit projektübergreifend vorhersehbar.13
Was in SOUL.md gehört
Nutzen Sie sie für dauerhafte Vorgaben zu Stimme und Persönlichkeit:13 - Ton - Kommunikationsstil - Direktheitsgrad - Standardinteraktionsstil - stilistisch zu vermeidende Dinge - wie Hermes mit Unsicherheit, Widerspruch und Mehrdeutigkeit umgehen sollte
Nutzen Sie sie seltener für:13 - einmalige Projektanweisungen - Dateipfade - Repo-Konventionen - temporäre Workflow-Details
Diese gehören in AGENTS.md, nicht in SOUL.md.
SOUL.md vs. AGENTS.md
Das ist die wichtigste Unterscheidung im Identitätsmanagement von Hermes:13
SOUL.md — Identität, Ton, Stil, Kommunikationsstandards, Verhalten auf Persönlichkeitsebene.
AGENTS.md — Projektarchitektur, Coding-Konventionen, Tool-Präferenzen, repo-spezifische Workflows, Befehle, Ports, Pfade, Deployment-Notizen.
Eine nützliche Regel: Wenn es Sie überallhin begleiten soll, gehört es in SOUL.md. Wenn es zu einem Projekt gehört, gehört es in AGENTS.md.13
Integrierte Persönlichkeiten
Hermes bringt integrierte Persönlichkeiten mit, zu denen Sie mit /personality wechseln können:13
| Name | Beschreibung |
|---|---|
helpful |
Freundlicher Allzweckassistent |
concise |
Kurze, auf den Punkt gebrachte Antworten |
technical |
Detaillierter, präziser Technikexperte |
creative |
Innovatives Denken außerhalb gewohnter Muster |
teacher |
Geduldiger Vermittler mit klaren Beispielen |
kawaii |
Niedliche Ausdrücke, Glitzern, Begeisterung |
catgirl |
Neko-chan mit katzenartigen Ausdrücken |
pirate |
Captain Hermes, technisch versierter Freibeuter |
shakespeare |
Bardische Prosa mit dramatischem Flair |
surfer |
Entspannte Bro-Vibes |
noir |
Erzählweise eines abgebrühten Detektivs |
uwu |
Maximale Niedlichkeit mit uwu-Sprech |
philosopher |
Tiefe Betrachtung jeder Anfrage |
hype |
MAXIMALE ENERGIE |
Benutzerdefinierte Persönlichkeiten in config.yaml:13
agent:
personalities:
codereviewer: >
You are a meticulous code reviewer. Identify bugs, security issues,
performance concerns, and unclear design choices. Be precise and constructive.
Wechseln Sie dann mit /personality codereviewer.
SOUL.md vs. /personality
SOUL.md ist die grundlegende Stimme. /personality ist eine Überlagerung auf Sitzungsebene.13 Halten Sie eine pragmatische Standard-SOUL.md vor und verwenden Sie dann /personality teacher für ein Tutoring-Gespräch oder /personality creative fürs Brainstorming.
Nous Tool Gateway (v0.10.0+)
Seit Hermes Agent v0.10.0 (16. April 2026) erhalten zahlende Nous Portal-Abonnenten über ihre bestehenden Portal-Zugangsdaten verwalteten Zugriff auf eine kuratierte Tool-Auswahl — ohne zusätzliche API-Schlüssel verwalten zu müssen.21 Die Hermes CLI selbst bleibt MIT-lizenziert und vollständig Open Source. Geändert hat sich, dass Ihre Portal-Authentifizierung jetzt mehr als nur Modellinferenz freischaltet.
Was im gateway enthalten ist
| Tool | Anbieter | Anwendungsfall |
|---|---|---|
| Websuche | Firecrawl | Retrieval für Agenten, die aktuelle Informationen benötigen |
| Bildgenerierung | FAL / FLUX 2 Pro | Bilder inline generieren, ohne einen FAL-Schlüssel zu konfigurieren |
| Text-to-Speech | OpenAI TTS | Gesprochene Ausgabe auf Messaging-gateways |
| Browserautomatisierung | Browser Use | Headless-Navigation und Scraping |
Funktionsweise
Der gateway ist pro Tool opt-in über ein neues use_gateway-Konfigurationsfeld. Wenn Sie Portal-Zugangsdaten in hermes auth haben und den gateway für ein Tool aktivieren, werden die Aufrufe dieses Tools über Portal geroutet. Andernfalls wird Ihr direkter API-Schlüssel (falls vorhanden) verwendet.
# config.yaml — per-tool gateway opt-in
tools:
web_search:
provider: firecrawl
use_gateway: true # route via Nous Portal subscription
image_generation:
provider: fal
use_gateway: true
Runtime-Priorität: Wenn der gateway verfügbar ist und ein Tool use_gateway: true gesetzt hat, bevorzugt Hermes den gateway, selbst wenn Sie zusätzlich einen direkten API-Schlüssel konfiguriert haben. Das ist für die Abrechnung relevant — gateway-Aufrufe werden aus Ihrem Portal-Abonnement bedient, nicht aus dem Guthaben Ihres direkten API-Schlüssels.
gateway aktivieren
hermes model # select Nous Portal (OAuth flow)
hermes tools # per-platform tool picker integrates gateway tools
hermes status # confirms gateway/subscription detection
Es gibt keinen separaten Befehl hermes subscribe oder hermes login --portal. Das Abonnement wird automatisch anhand der Portal-OAuth-Zugangsdaten erkannt, die Sie bereits in hermes auth haben.
Preise und Zugriff
Preise und Tarifnamen werden auf der Nous Portal-Preisseite veröffentlicht (https://portal.nousresearch.com/pricing). Dieser Leitfaden listet keine Tarife auf, weil sie in die Verantwortung des Portal-Produkts fallen, nicht der Hermes CLI, und sich unabhängig von Hermes-Releases ändern. Registrieren Sie sich unter https://portal.nousresearch.com/ und prüfen Sie die Preisseite auf aktuelle Tarife.
Hinweis zur Einstellung
- Die Umgebungsvariable
HERMES_ENABLE_NOUS_MANAGED_TOOLSwurde in v0.10.0 entfernt. Managed Tools werden jetzt über das Tool-spezifische Konfigurationsfelduse_gatewayaktiviert und durch den Status Ihres Portal-Abonnements freigeschaltet.21
Einordnung: was dieses Release nicht ist
Die Hermes Agent CLI ist nicht hinter einem Abonnement verborgen. Das Projekt ist weiterhin MIT-lizenziert, alle Kernfunktionen (CLI, skills, Speicher, Messaging-gateway, cron, MCP, lokales Dashboard, BYOK für jeden Anbieter) funktionieren durchgängig, ohne irgendwen zu bezahlen. v0.10.0 ergänzt einen bequemeren Weg für Benutzer, die bereits für Nous Portal bezahlen — es entfernt nichts aus dem kostenlosen Weg.
Messaging Gateway
Hermes kann als dauerhaft laufender gateway-Prozess betrieben werden, der 22 Messaging-Plattformen über einen einzigen gateway-Prozess verbindet: Telegram, Discord, Slack, WhatsApp, Signal, SMS, Email, Home Assistant, Mattermost, Matrix, DingTalk, Feishu/Lark, WeCom, Weixin (WeChat), BlueBubbles (iMessage), QQBot, Microsoft Teams, Tencent Yuanbao, Google Chat, LINE, SimpleX Chat und einen generischen Webhook-Adapter.320171819 v0.9.0 fügte iMessage über BlueBubbles hinzu (automatische Webhook-Registrierung, Einrichtungsassistent, Absturzresilienz) sowie native WeChat-Unterstützung über iLink Bot API mit WeCom-Callback-Modus für Unternehmens-Apps.16 v0.11.0 fügte QQBot hinzu.20 v0.12.0 fügte Microsoft Teams und Tencent Yuanbao hinzu.17 v0.13.0 fügte Google Chat als 20. Plattform hinzu, auf Basis derselben steckbaren Adapterarchitektur; IRC und Microsoft Teams wurden außerdem auf das neue Adaptermuster mit generischen env_enablement_fn- / cron_deliver_env_var-Plugin-Hooks migriert.18 v0.14.0 fügt LINE und SimpleX Chat hinzu und vervollständigt den Microsoft Teams-Stack durchgängig mit Graph-Auth, Webhook-Listener, Pipeline-Runtime und ausgehender Zustellung.19
Einrichtung
hermes gateway setup # Interactive platform configuration
hermes gateway install # Install as user service (systemd/launchd)
hermes gateway start # Start the installed service
hermes gateway stop
hermes gateway restart
hermes gateway status
hermes gateway run # Run in foreground (debugging)
Die interaktive Einrichtung führt Sie durch die Verbindung jeder Plattform: API-Tokens, Bot-IDs, Kanalzuordnungen, Allowlists.6
Nachrichtenfluss
Aus den Upstream-Architekturdokumenten:3
Platform event → Adapter.on_message() → MessageEvent
→ GatewayRunner._handle_message()
→ authorize user
→ resolve session key
→ create AIAgent with session history
→ AIAgent.run_conversation()
→ deliver response back through adapter
Jede Messaging-Plattform läuft durch dieselbe AIAgent-Konversationsschleife wie CLI. Deshalb funktionieren Slash-Befehle an beiden Stellen identisch, und deshalb kann ein in Telegram geplanter cron-Job seine Ausgabe an Discord liefern - der Plattformunterschied liegt nur am Rand.3
Benutzerautorisierung und Pairing
hermes pairing list # Show pending and approved users
hermes pairing approve <platform> <code>
hermes pairing revoke <platform> <user-id>
hermes pairing clear-pending
Pairing-Codes verhindern, dass beliebige Fremde mit Ihrem gateway sprechen. Ein Benutzer sendet einen Pairing-Code von seiner Messaging-Plattform; Sie genehmigen ihn mit hermes pairing approve; ab dann ist der Benutzer autorisiert.6
Geplante Aufgaben (cron)
Hermes hat ein erstklassiges cron-System, in dem Jobs Agentenaufgaben sind, keine Shell-Befehle. Jeder geplante Job läuft durch einen frischen AIAgent mit dem konfigurierten Prompt, optional angehängten skills, und liefert Ergebnisse an jede Plattform:36
hermes cron list
hermes cron create --prompt "Check HN for AI news and summarize" --schedule "0 9 * * *" --deliver telegram
hermes cron edit <id>
hermes cron pause <id>
hermes cron resume <id>
hermes cron run <id> # Trigger now on the next tick
hermes cron remove <id>
hermes cron status # Check if scheduler is running
hermes cron tick # Run due jobs once and exit
Oder erstellen Sie einen Job dialogisch innerhalb eines Messaging-Chats:
Every morning at 9am, check Hacker News for AI news and send me a summary on Telegram.
Der Agent richtet den cron-Job über seine Tools ein. Jobs bleiben in JSON bestehen und überstehen Neustarts.3
MCP-Integration
Hermes unterstützt das Model Context Protocol sowohl als Client als auch als Server:6
Als Client - verbinden Sie Hermes mit externen MCP-Servern, um seine Tool-Oberfläche zu erweitern:
hermes mcp add <name> --url https://example.com/mcp
hermes mcp add <name> --command npx --args "-y,@modelcontextprotocol/server-github"
hermes mcp list
hermes mcp test <name>
hermes mcp remove <name>
hermes mcp configure <name> # Toggle individual tool selection
Oder manuell in config.yaml:14
mcp_servers:
github:
command: npx
args: ["-y", "@modelcontextprotocol/server-github"]
env:
GITHUB_PERSONAL_ACCESS_TOKEN: "ghp_xxx"
Als Server - stellen Sie Hermes-Konversationen anderen Agents bereit:
hermes mcp serve
hermes mcp serve -v # Verbose
Kontextkomprimierung
Hermes komprimiert lange Konversationen automatisch, damit sie innerhalb des Kontextfensters Ihres Modells bleiben. Der Komprimierungs-Summarizer ist ein separater LLM-Aufruf - Sie können ihn auf jeden Provider oder Endpoint richten.4
compression:
enabled: true
threshold: 0.50 # Compress at this % of context limit
target_ratio: 0.20 # Fraction to preserve as recent tail
protect_last_n: 20 # Min recent messages to keep uncompressed
summary_model: "google/gemini-3-flash-preview"
summary_provider: "auto" # "auto", "openrouter", "nous", "codex", "main", etc.
summary_base_url: null # Custom OpenAI-compatible endpoint
Provider-Optionen:4
summary_provider |
summary_base_url |
Ergebnis |
|---|---|---|
auto (Standard) |
nicht gesetzt | Erkennt automatisch den besten verfügbaren Provider |
nous / openrouter / etc. |
nicht gesetzt | Erzwingt diesen Provider und nutzt dessen Auth |
| beliebig | gesetzt | Nutzt den benutzerdefinierten Endpoint direkt (Provider wird ignoriert) |
summary_model muss eine Kontextlänge unterstützen, die mindestens so groß ist wie die Ihres Hauptmodells, da es für die Komprimierung den vollständigen mittleren Abschnitt der Konversation erhält.4
Warnungen bei Budgetdruck
Wenn der Agent an einer komplexen Aufgabe mit vielen Tool-Aufrufen arbeitet, kann er sein Iterationsbudget (Standard: 90 Durchläufe) verbrauchen, ohne es zu merken. Budgetdruck warnt das Modell automatisch:4
| Schwellenwert | Stufe | Was das Modell sieht |
|---|---|---|
| 70% | Vorsicht | [BUDGET: 63/90. 27 iterations left. Start consolidating.] |
| 90% | Warnung | [BUDGET WARNING: 81/90. Only 9 left. Respond NOW.] |
Stream-Timeouts
Die LLM-Streaming-Verbindung hat zwei Timeout-Ebenen, die sich für lokale Provider (localhost, LAN-IPs) automatisch anpassen:4
| Timeout | Standard | Lokale Provider | Env-Var |
|---|---|---|---|
| Socket-Lese-Timeout | 120s | Automatisch auf 1800s erhöht | HERMES_STREAM_READ_TIMEOUT |
| Erkennung veralteter Streams | 180s | Automatisch deaktiviert | HERMES_STREAM_STALE_TIMEOUT |
| API-Aufruf (nicht streamend) | 1800s | Unverändert | HERMES_API_TIMEOUT |
Der Socket-Lese-Timeout wird für lokale Endpoints auf 30 Minuten erhöht, weil lokale LLMs bei großen Kontexten mehrere Minuten für Prefill benötigen können, bevor sie das erste Token erzeugen.4
Lokales Web-Dashboard (v0.9.0+)
Ein browserbasiertes Dashboard zur lokalen Verwaltung Ihres Hermes Agent. Konfigurieren Sie Einstellungen, überwachen Sie Sitzungen, durchsuchen Sie skills und verwalten Sie Ihr gateway, ohne Konfigurationsdateien oder das Terminal anzufassen.16 Starten Sie es mit hermes dashboard. Dies ist der einfachste Onboarding-Pfad für neue Benutzer, die eine GUI bevorzugen.
Hintergrundprozessüberwachung (v0.9.0+)
Mit watch_patterns können Sie Muster festlegen, die in der Ausgabe von Hintergrundprozessen überwacht werden, und sich in Echtzeit benachrichtigen lassen, wenn sie übereinstimmen.16 Überwachen Sie Fehler, warten Sie auf bestimmte Ereignisse („listening on port“) oder beobachten Sie Build-Logs - ganz ohne Polling. Zusammen mit notify_on_complete aus v0.8.0 (das über den Abschluss von Hintergrundaufgaben benachrichtigt) verfügt Hermes nun über eine vollständige Observability-Ebene für Hintergrundprozesse.15
Steckbare Context Engine (v0.9.0+)
Kontextverwaltung ist jetzt über hermes plugins ein steckbarer Slot. Tauschen Sie benutzerdefinierte context engines ein, die steuern, was der Agent in jedem Durchlauf sieht - Filterung, Zusammenfassung oder domänenspezifische Kontextinjektion.16 Dadurch wird die Kontextstrategie von der Kernschleife des Agents entkoppelt, sodass Kontextanpassungen pro Projekt oder Domäne möglich sind.
Backup und Wiederherstellung (v0.9.0+)
hermes backup erstellt ein vollständiges Archiv Ihrer Konfiguration, Sitzungen, skills und memory. hermes import stellt aus einem Backup-Archiv wieder her.16 Nutzen Sie dies, um zwischen Rechnern zu migrieren, Snapshots vor größeren Änderungen zu erstellen oder eine bekanntermaßen funktionierende Konfiguration mit Teammitgliedern zu teilen.
Termux- / Android-Unterstützung (v0.9.0+)
Hermes läuft nativ auf Android über Termux. Angepasste Installationspfade, TUI-Optimierungen für mobile Bildschirme, Unterstützung für Voice-Backends und der /image-Befehl funktionieren direkt auf dem Gerät.16
Sicherheits-Hardening (v0.13.0+)
v0.13.0 hat 8 P0-Sicherheitsprobleme geschlossen und eine Standardeinstellung zugunsten des Benutzers geändert.18 v0.14.0 legt mit weiteren 12 P0- und 50 P1-Schließungen nach, darunter Härtung gegen sudo-Brute-Force / sudo-stdin, Korrekturen für Umgehungen gefährlicher Befehle, Bereinigung von Tool-Fehlern vor erneuter Model-Einspeisung, dashboard plugin API auth, skills-hub SSRF-Abdeckung und Supply-Chain-Advisory-Scans während der Installation.19
| Korrektur | Was sich geändert hat |
|---|---|
| Standardmäßig aktivierte Secret-Schwärzung | Zuvor opt-in. Logs und Uploads von hermes debug share schwärzen Secrets, sofern dies nicht ausdrücklich deaktiviert wurde. v0.12.0 hatte die Schwärzung nach Berichten über Payload-Beschädigungen standardmäßig deaktiviert; v0.13.0 aktiviert sie wieder als sicherere Basis. |
| Discord Cross-Guild-DM-Bypass (CVSS 8.1) | Discord-Rollen-Allowlists sind jetzt guild-spezifisch und schließen damit einen Pfad, über den eine Benutzerrolle auf einer Guild DMs über alle Guilds hinweg autorisierte. |
| WhatsApp-Standardeinschränkungen | Der WhatsApp-Adapter weist Fremde standardmäßig ab und antwortet niemals im Selbst-Chat. |
| MCP OAuth TOCTOU-Fenster | Eine Race Condition beim Speichern von Anmeldedaten in MCP OAuth-Flows wurde geschlossen. |
CLI auth.json TOCTOU |
Ein analoges TOCTOU-Fenster im Credential-Writer für den CLI-Auth-Store wurde geschlossen. |
| Browser-SSRF-Untergrenze | Hybrid Routing erzwingt eine Cloud-Metadata-SSRF-Untergrenze gegen Anfragen, die 169.254.169.254 und Entsprechungen erreichen wollen. |
| Cron-Scanning auf Prompt Injection | Zusammengesetzte Prompts (einschließlich geladener skill-Inhalte) werden vor dem Ausführen des cron-Jobs auf Prompt Injection gescannt. |
hermes debug share-Schwärzung |
Debug-Share-Uploads schwärzen Log-Inhalte beim Upload, nicht nur beim Schreiben. |
Wenn Sie eine Hermes-Bereitstellung betreiben, behandeln Sie v0.13.0 und v0.14.0 als sicherheitsrelevante Upgrades, nicht nur als Funktionsupdates. v0.13.0 schließt den Discord Cross-Guild-Bypass und zwei TOCTOU-Fenster; v0.14.0 ergänzt eine weitere Härtungsrunde für sudo-Handling, erneute Tool-Error-Einspeisung, plugin APIs, skills-hub SSRF und Dependency-Advisories.
Architektur für Praktiker
Dieser Abschnitt richtet sich an Personen, die verstehen möchten, was unter der Haube passiert, damit sie debuggen, erweitern oder Performance einschätzen können. Er ist eine Synthese der Upstream-Architekturdokumentation.3
Einstiegspunkte → AIAgent
Jeder Einstiegspunkt in Hermes ruft letztlich AIAgent.run_conversation() auf:
┌──────────────────────────────────────────────────────────────────┐
│ Entry Points │
│ │
│ CLI (cli.py) Gateway (gateway/run.py) ACP (acp_adapter/) │
│ Batch Runner API Server Python Library │
└──────────┬──────────────┬───────────────────────┬────────────────┘
│ │ │
▼ ▼ ▼
┌──────────────────────────────────────────────────────────────────┐
│ AIAgent (run_agent.py) │
│ │
│ ┌─────────────┐ ┌──────────────┐ ┌──────────────┐ │
│ │ Prompt │ │ Provider │ │ Tool │ │
│ │ Builder │ │ Resolution │ │ Dispatch │ │
│ └──────┬──────┘ └──────┬───────┘ └──────┬───────┘ │
│ │ │ │ │
│ ┌──────┴───────┐ ┌──────┴───────┐ ┌──────┴───────┐ │
│ │ Compression │ │ 3 API Modes │ │ Tool Registry│ │
│ │ & Caching │ │ chat_compl │ │ 47 tools │ │
│ │ │ │ codex_resp │ │ 20 toolsets │ │
│ │ │ │ anthropic │ │ │ │
│ └──────────────┘ └──────────────┘ └──────────────┘ │
└──────────────────────────────────────────────────────────────────┘
Diagramm adaptiert aus der Upstream-Architekturdokumentation.3
„47 Tools / 20 Toolsets“ gegenüber „28 Tools“ in Ihrem Banner. Die Zählung „47 Tools“ ist die gesamte Tool-Registry des Upstream-Repositorys, also jedes Tool, mit dessen Quellcode Hermes ausgeliefert wird, über alle toolsets hinweg. Ihr tatsächlich laufendes CLI zeigt in seinem Startbanner eine kleinere Zahl an (die Installation, gegen die ich diesen Guide geprüft habe, meldet 28 tools / 89 skills). Das ist kein Bug. Viele toolsets sind opt-in und müssen in config.yaml unter toolsets: ausdrücklich aktiviert werden, etwa Messaging-Plattform-Adapter, Browser-Automation, schwerere Scraping-Tools usw. Die Registry-Gesamtzahl bedeutet „was verfügbar ist“; die Banner-Zahl bedeutet „was in Ihrem aktuellen profile aktiviert ist“. Prüfen Sie mit hermes tools --list, welche toolsets aktiv sind, und aktivieren oder deaktivieren Sie einzelne toolsets mit dem toolsets:-Block in ~/.hermes/config.yaml (oder mit /tools list / /tools enable <name> / /tools disable <name> innerhalb einer laufenden Sitzung; das Entfernen eines Tools löst einen Sitzungs-Reset aus, damit der Agent sein Tool-Manifest neu aufbaut).
Die drei API-Modi
Hermes abstrahiert Provider-Unterschiede in drei API-Modi, die zur Laufzeit automatisch ausgewählt werden:3
| API-Modus | Verwendet von |
|---|---|
chat_completions |
OpenRouter, z.ai, Kimi, MiniMax, DeepSeek, Alibaba, die meisten benutzerdefinierten Endpunkte, jeder OpenAI-kompatible Server |
codex_responses |
OpenAI Codex (über ChatGPT OAuth) |
anthropic_messages |
Anthropic API (nativ), Anthropic OAuth, Anthropic-kompatible Proxys |
Der runtime_provider.py-Resolver ordnet (provider, model)-Tupel für mehr als 18 Provider (api_mode, api_key, base_url) zu und verarbeitet dabei OAuth-Flows, Credential-Pools und Alias-Auflösung.3
Datenfluss durch eine CLI-Sitzung
User input → HermesCLI.process_input()
→ AIAgent.run_conversation()
→ prompt_builder.build_system_prompt()
→ runtime_provider.resolve_runtime_provider()
→ API call (chat_completions / codex_responses / anthropic_messages)
→ tool_calls? → model_tools.handle_function_call() → loop
→ final response → display → save to SessionDB
Von der Upstream-Architekturseite.3
Reihenfolge der Prompt-Zusammensetzung
Der Prompt-Stack umfasst:13
SOUL.md(Agent-Identität oder integrierter Fallback, falls nicht verfügbar)- Tool-bewusste Verhaltensanweisungen
- Memory-/Benutzerkontext (
MEMORY.md,USER.md) - Skills-Anweisungen
- Kontextdateien (
AGENTS.md,.cursorrules) - Zeitstempel
- Plattformspezifische Formatierungshinweise
- Optionale System-Prompt-Overlays wie
/personality
SOUL.md ist das Fundament; alles andere baut darauf auf.13
Sitzungsspeicher
SQLite-basierter Sitzungsspeicher mit FTS5-Volltextsuche. Sitzungen verfügen über Lineage-Tracking (Parent/Child über Komprimierungen hinweg), plattformbezogene Isolation und atomare Schreibvorgänge mit Behandlung von Contention.3
Plugin-System
Drei Discovery-Quellen: ~/.hermes/plugins/ (Benutzer), .hermes/plugins/ (Projekt) und pip entry points. Plugins registrieren Tools, Hooks und CLI-Befehle über einen Kontext API. Memory-Provider sind ein spezialisierter Plugin-Typ unter plugins/memory/.3
hermes plugins # Interactive enable/disable UI
hermes plugins install <repo> # Install from Git URL or owner/repo
hermes plugins enable <name>
hermes plugins disable <name>
hermes plugins list
Designprinzipien
Von der Upstream-Architekturseite:3
| Prinzip | Was es in der Praxis bedeutet |
|---|---|
| Prompt-Stabilität | Der System-Prompt ändert sich nicht mitten in einer Unterhaltung. Keine cache-brechenden Mutationen außer ausdrücklichen Benutzeraktionen (/model) |
| Beobachtbare Ausführung | Jeder Tool-Aufruf ist für den Benutzer über Callbacks sichtbar. Fortschrittsupdates in CLI (Spinner) und gateway (Chat-Nachrichten) |
| Unterbrechbar | API-Aufrufe und Tool-Ausführung können während der Ausführung durch Benutzereingaben oder Signale abgebrochen werden |
| Plattformunabhängiger Kern | Eine AIAgent-Klasse bedient CLI, gateway, ACP, batch und API-Server. Plattformunterschiede liegen im Einstiegspunkt |
| Lose Kopplung | Optionale Subsysteme (MCP, Plugins, Memory-Provider, RL-Umgebungen) verwenden Registry-Patterns und check_fn-Gating, keine harten Abhängigkeiten |
| Profile-Isolation | Jedes profile erhält sein eigenes HERMES_HOME, config, memory, sessions und gateway-PID. Mehrere profiles laufen parallel |
Migration von OpenClaw
Hermes Agent ist der Nachfolger von OpenClaw. Wenn Sie von einer bestehenden OpenClaw-Installation migrieren:65
hermes claw migrate --dry-run # Preview what would be migrated
hermes claw migrate --preset full # Full migration including API keys
hermes claw migrate --preset user-data --overwrite # User data only, no secrets
hermes claw migrate --source /custom/path # Non-default OpenClaw location
hermes claw migrate liest standardmäßig aus ~/.openclaw (erkennt außerdem automatisch Legacy-Verzeichnisse ~/.clawdbot und ~/.moldbot) und schreibt nach ~/.hermes.6
Direkt importiert (30+ Kategorien): SOUL.md, MEMORY.md, USER.md, AGENTS.md, skills aus 4 Quellverzeichnissen, Standardmodell, benutzerdefinierte Provider, MCP-Server, Messaging-Plattform-Tokens und Allowlists (Telegram, Discord, Slack, WhatsApp, Signal, Matrix, Mattermost), Agent-Standardeinstellungen (reasoning effort, Komprimierung, menschliche Verzögerung, Zeitzone, sandbox), Sitzungs-Reset-Richtlinien, approval rules, TTS-config, Browser-Einstellungen, Tool-Einstellungen, exec timeout, Befehls-Allowlist, gateway-config und API-Schlüssel aus 3 Quellen.6
Für manuelle Prüfung archiviert: cron-Jobs, Plugins, Hooks/Webhooks, Memory-Backend (QMD), skills registry config, UI/Identität, Logging, Multi-Agent-Setup, Kanalbindungen, IDENTITY.md, TOOLS.md, HEARTBEAT.md, BOOTSTRAP.md.6
Die Auflösung von API-Schlüsseln prüft drei Quellen in Prioritätsreihenfolge: config-Werte → ~/.openclaw/.env → auth-profiles.json.6
Fehlerbehebung
“API key not set”
Führen Sie hermes model aus, um Ihren Provider interaktiv zu konfigurieren, oder hermes config set OPENROUTER_API_KEY your_key. Der Befehl hermes doctor zeigt Ihnen genau, welche Schlüssel fehlen.7
“Context limit: 2048 tokens” beim Start (lokale Modelle)
Hermes erkennt die Kontextlänge automatisch über den /v1/models-Endpunkt Ihres Servers, viele lokale Server melden jedoch niedrige Standardwerte. Setzen Sie sie explizit in config.yaml:2
model:
default: your-model
provider: custom
base_url: http://localhost:11434/v1
context_length: 32768
Tool-Aufrufe erscheinen als Text statt ausgeführt zu werden
Auf Ihrem Server ist Tool Calling nicht aktiviert, oder das Modell unterstützt es nicht über die Implementierung des Servers.2
| Server | Lösung |
|---|---|
| llama.cpp | Fügen Sie --jinja zum Startbefehl hinzu |
| vLLM | Fügen Sie --enable-auto-tool-choice --tool-call-parser hermes hinzu |
| SGLang | Fügen Sie --tool-call-parser qwen (oder den passenden Parser) hinzu |
| Ollama | Tool Calling ist standardmäßig aktiviert — prüfen Sie mit ollama show <model>, ob Ihr Modell es unterstützt |
| LM Studio | Aktualisieren Sie auf 0.3.6+ und verwenden Sie ein Modell mit nativer Tool-Unterstützung |
Antworten werden mitten im Satz abgeschnitten
Zwei mögliche Ursachen:2
- Niedrige Ausgabengrenze (
max_tokens) auf dem Server — SGLang verwendet standardmäßig 128 Tokens pro Antwort. Setzen Sie--default-max-tokensauf dem Server oder konfigurieren Siemodel.max_tokensinconfig.yaml. - Kontext erschöpft — Das Modell hat sein Kontextfenster gefüllt. Erhöhen Sie
model.context_lengthoder aktivieren Sie die Kontextkomprimierung in Hermes.
“Connection refused” von WSL2 zu einem in Windows gehosteten Modellserver
WSL2 verwendet einen virtuellen Netzwerkadapter mit eigenem Subnetz — localhost innerhalb von WSL2 verweist auf die Linux-VM, nicht auf den Windows-Host. Zwei Möglichkeiten:2
Mirrored Networking (Windows 11 22H2+): Bearbeiten Sie %USERPROFILE%\.wslconfig:
[wsl2]
networkingMode=mirrored
Anschließend wsl --shutdown und neu starten. localhost funktioniert nun in beide Richtungen.
Host-IP als Fallback (ältere Windows-Versionen): Ermitteln Sie die Windows-Host-IP innerhalb von WSL2 und verwenden Sie sie anstelle von localhost:
ip route show | grep -i default | awk '{ print $3 }'
# Use that IP as the base_url host
Außerdem muss der Modellserver an 0.0.0.0 gebunden sein, nicht an 127.0.0.1 — setzen Sie OLLAMA_HOST=0.0.0.0 für Ollama, fügen Sie --host 0.0.0.0 für llama-server/SGLang hinzu, oder aktivieren Sie “Serve on Network” in LM Studio.2
Wo befindet sich was?
hermes status und hermes dump sind hier Ihre Freunde. hermes logs list zeigt alle Logdateien mit Größen an. hermes config path gibt den Speicherort der Konfigurationsdatei aus. hermes config env-path gibt den Speicherort der .env-Datei aus.6
FAQ
Was ist der Unterschied zwischen Hermes Agent und Claude Code?
Claude Code ist die offizielle CLI von Anthropic und auf Anthropic-Modelle festgelegt. Hermes Agent ist ein Open-Source-Agent-Framework von Nous Research, das mit jedem OpenAI-kompatiblen Provider funktioniert — Nous Portal, OpenRouter, Anthropic, GitHub Copilot, z.ai, Kimi, MiniMax, DeepSeek, Hugging Face, Google oder Ihrem eigenen selbst gehosteten Endpunkt.12 Hermes liefert zudem ein Messaging-Gateway für Telegram/Discord/Slack/WhatsApp/Signal mit, das Claude Code nicht hat.
Kann ich Hermes mit einem Anthropic-API-Schlüssel verwenden?
Ja. Auf drei Wegen:2
- Setzen Sie
ANTHROPIC_API_KEYin~/.hermes/.envund führen Siehermes chat --provider anthropic --model claude-sonnet-4-6aus - Führen Sie
hermes modelaus und wählen Sie Anthropic — Hermes verwendet den Credential Store von Claude Code, sofern verfügbar - Setzen Sie ein manuelles
ANTHROPIC_TOKEN(Setup-Token oder OAuth-Token) als Fallback
Option 2 ist vorzuziehen, wenn Sie Claude Code bereits auf demselben Rechner verwenden — sie hält erneuerbare Claude-Anmeldedaten erneuerbar.
Wie wechsle ich den Provider, ohne meine Konversation zu verlieren?
Verwenden Sie /model provider:model innerhalb einer Sitzung. Konversationsverlauf, Memory und Skills werden alle übernommen:9
/model zai:glm-5
/model openrouter:anthropic/claude-sonnet-4
/model custom:local:qwen-2.5
Ich habe Anthropic konfiguriert, aber Vision/Web/Komprimierung funktionieren nicht
Sie geraten an den Fallback für das Hilfsmodell. Vision, Web-Zusammenfassung, Komprimierung und andere Nebenaufgaben verwenden ein separates Hilfs-LLM — standardmäßig Gemini Flash über automatische Erkennung (OpenRouter → Nous → Codex). Wenn keiner davon konfiguriert ist und Sie nur Anthropic eingerichtet haben, verschlechtern sich diese Funktionen stillschweigend.4
Lösung: Fügen Sie entweder einen OPENROUTER_API_KEY für Hilfsaufgaben hinzu oder konfigurieren Sie die Hilfs-Slots so, dass sie Ihren Hauptprovider verwenden. Beachten Sie, dass die Kontextkomprimierung in einem eigenen Top-Level-compression:-Block lebt und summary_provider annimmt, nicht auxiliary.compression.provider — der auxiliary.compression-Slot bietet nur ein timeout. Vollständige Lösung:
auxiliary:
vision: { provider: "main" }
web_extract: { provider: "main" }
compression:
summary_provider: "main"
Was ist der Unterschied zwischen SOUL.md und AGENTS.md?
SOUL.md ist die Identität Ihres Agents — Tonfall, Stil, Kommunikationsvoreinstellungen. Sie liegt in ~/.hermes/SOUL.md und folgt Ihnen überallhin. AGENTS.md ist projektspezifisch — Architektur, Konventionen, Befehle, Pfade — und liegt in Ihrem Projektverzeichnis.13 Wenn es Sie überallhin begleiten soll, SOUL.md. Wenn es zu einem Projekt gehört, AGENTS.md.
Wie führe ich mehrere Hermes-Instanzen nebeneinander aus?
Über Profile. Jedes Profil erhält sein eigenes HERMES_HOME, eigene Konfiguration, Memory, Sitzungen und Gateway-PID:6
hermes profile create work --clone
hermes profile use work # Sticky default
hermes -p work chat -q "..." # One-off without switching
hermes profile alias work --name h-work # Wrapper script
Unterstützt Hermes lokale LLMs?
Ja, über den Pfad für benutzerdefinierte Endpunkte. Hermes funktioniert mit jedem OpenAI-kompatiblen Server: Ollama, vLLM, SGLang, llama.cpp/llama-server, LM Studio, LocalAI, Jan oder Ihrem eigenen.2 Siehe Custom & Self-Hosted Endpoints für die Einrichtung pro Server.
Warum zeigt mein Start-Banner weniger Tools an, als laut Anleitung in Hermes enthalten sind?
Die Anleitung nennt 47 Tools / 20 Toolsets aus dem Upstream-Architektur-Registry — das ist die Gesamtzahl der Tools, für die Hermes Quellcode über alle Toolsets hinweg mitliefert. Ihre laufende Installation zeigt im Banner eine kleinere Zahl an (die Referenzinstallation für diese Anleitung meldet 28 Tools), weil Hermes beim Start nur die Standard-Toolsets aktiviert. Viele Toolsets sind opt-in: Messaging-Gateway-Adapter, Browser-Automatisierung, schwerere Scraping-Stacks und mehrere spezialisierte Integrationen müssen explizit unter toolsets: in ~/.hermes/config.yaml aufgeführt werden, bevor sie geladen werden. Registry-Gesamtzahl = “was verfügbar ist, wenn Sie es aktivieren.” Banner-Gesamtzahl = “was Ihr aktuelles Profil tatsächlich geladen hat.” Verwenden Sie hermes tools --list, um zu sehen, welche Toolsets aktiv sind und welche zwar verfügbar, aber deaktiviert sind. Schalten Sie einzelne Toolsets zur Laufzeit mit /tools enable <name> und /tools disable <name> um (Deaktivieren löst einen Sitzungs-Reset aus, damit der Agent sein Tool-Manifest mit der neuen Form neu aufbaut).
Wie geht Hermes mit Modell-Fallback um, wenn mein primärer Provider ausfällt?
Konfigurieren Sie einen fallback_model-Block in config.yaml:2
fallback_model:
provider: openrouter
model: anthropic/claude-sonnet-4
Wenn der primäre Provider ausfällt (Rate-Limit, Serverfehler, Authentifizierungsfehler), wechselt Hermes mitten in der Sitzung auf den Fallback, ohne den Konversationsverlauf zu verlieren. Wird höchstens einmal pro Sitzung ausgelöst.
Kann der Agent seine eigenen Skills im Lauf der Zeit verbessern?
Ja — das ist der “selbstverbessernde” Teil von Hermes Agent. Der Agent kann Skills über das Tool skill_manage erstellen, aktualisieren und löschen. Sobald er einen nicht trivialen Workflow herausfindet, speichert er den Ansatz als Skill zur künftigen Wiederverwendung.11 Der Agent erstellt Skills nach komplexen Aufgaben (5+ Tool-Aufrufe), wenn er auf Fehler stößt und den funktionierenden Pfad findet, wenn Sie seinen Ansatz korrigieren, oder wenn er einen nicht trivialen Workflow entdeckt.
Gibt es eine IDE-Integration?
Ja — Hermes kann als ACP (Agent Client Protocol)-Server für VS Code, Zed und JetBrains laufen:6
pip install -e '.[acp]'
hermes acp
Änderungsprotokoll
| Datum | Änderung | Quelle |
|---|---|---|
| 2026-05-21 | Guide v1.6: v0.14.0 (16. Mai 2026) — The Foundation release hinzugefügt. Schlagzeile: schlankere Installations-/Runtime-Grundlage plus breitere Provider-, gateway-, Medien- und Verifizierungsflächen. Hinzugefügt wurden SuperGrok OAuth mit grok-4.3 1M context, OpenAI-kompatibles hermes proxy für OAuth-Provider, erstklassiges x_search, pip install hermes-agent, Lazy Dependency Installs, ~19s schnellerer Start, 180x schnellere Browser-CDP-Aufrufe, LINE + SimpleX Chat für 22 Messaging-Plattformen, Microsoft Teams Ende-zu-Ende, /handoff, /subgoal, native Klärungs-Schaltflächen auf Telegram/Discord, Discord-Verlauf-Backfill, Raw-Pixel-vision_analyze, Per-Turn-Dateimutations-Verifier-Footer, semantische LSP-Diagnosen bei jedem Schreibvorgang, vereinheitlichtes video_generate, computer_use über cua-driver für Nicht-Anthropic-Provider, klickbare OSC8-URLs, Zed ACP Registry-Unterstützung, OpenRouter Pareto Code router, NovitaAI, Codex App-Server-Runtime, vertrauenswürdiger huggingface/skills-Tap, 9 optionale skills, Plugin ctx.llm / tool_override, Brave/DDGS-Websuche, Qwen Cloud-Umbenennung, native Windows-Beta und Abschlüsse von 12 P0 / 50 P1. |
19 |
| 2026-05-07 | Guide v1.5: v0.13.0 (7. Mai 2026) — The Tenacity release hinzugefügt. Schlagzeile: ein robustes Multi-Agent-Kanban-Board (Heartbeat, Reclaim, Zombie-Erkennung, Hallucination Gate, max_retries pro Aufgabe, Multi-Projekt-Boards), das Swarms zu einem erstklassigen Primitive macht statt zu einem Delegationsmuster. Der /goal-Befehl hält den Agent über mehrere Turns hinweg auf ein Ziel ausgerichtet (Ralph-Loop-Muster als Slash Command). Neues video_analyze-Tool, Gemini-first mit erweiterbarer Unterstützung kompatibler Modelle. xAI Custom Voices TTS-Provider mit Voice Cloning. 7-sprachige i18n (zh-Hans, ja, de, es, fr, uk, tr) für CLI und gateway-Nachrichten; Dokumentation nur zh-Hans. Google Chat als 20. Messaging-Plattform über das steckbare Adaptermuster; IRC + Microsoft Teams wurden auf dasselbe Muster migriert. ProviderProfile ABC + plugins/model-providers/ für steckbare Drittanbieter-Provider ohne Kernänderungen. Automatische Sitzungsfortsetzung über gateway-Neustart, /update und Quelldatei-Neuladen hinweg. Checkpoints v2-Neufassung mit Single-Store-Design, echtem Pruning und Festplatten-Schutzgrenzen. Acht P0-Sicherheitsabschlüsse: Secret-Redaction standardmäßig aktiviert, Discord Cross-Guild-DM-Bypass (CVSS 8.1), WhatsApp Stranger-Reject + Self-Chat-Mute, MCP OAuth TOCTOU, CLI auth.json TOCTOU, Browser-SSRF-Untergrenze, Cron-Prompt-Injection-Scanning, hermes debug share-Redaction. Post-Write-Linting für Python/JSON/YAML/TOML, Cron-no_agent-Nur-Skript-Modus, Plattform-Allowlists über Slack/Telegram/Mattermost/Matrix/DingTalk hinweg, MCP-Erweiterungen (SSE-Transport, OAuth-Weiterleitung, Image-MEDIA-Tags). Statistiken seit v0.12.0: 864 Commits, 588 gemergte PRs, 829 geänderte Dateien, 295 Community-Beitragende, 282 geschlossene Issues (13 P0, 36 P1). |
18 |
| 2026-05-06 | Guide v1.4: v0.12.0 (30. April 2026) — The Curator release hinzugefügt. Schlagzeile: ein autonomer Hintergrund-Curator, der auf dem Cron-Ticker des gateway läuft (7-Tage-Standardzyklus), die skill-Bibliothek anhand einer Rubrik bewertet, tote skills entfernt, verwandte skills zusammenführt und Berichte pro Lauf schreibt — Hermes wartet sich zwischen aktiven Sitzungen selbst. Der Selbstverbesserungs-Loop wurde mit rubrikbasierter Bewertung, Active-Update-Bias, korrekter Runtime-Vererbung und auf Speicher und skills beschränkten toolsets erweitert. Vier neue Inferenz-Provider: GMI Cloud, Azure AI Foundry, MiniMax OAuth und Tencent Tokenhub. LM Studio wurde erstklassig gemacht. Remote-Modellkatalog-Manifeste aktualisieren sich jetzt automatisch ohne Releases. Zwei neue Messaging-Plattformen: Microsoft Teams (19., über steckbare gateway-Architektur) und Tencent Yuanbao (18., nativer Text + Medien). Natives Spotify über PKCE OAuth mit gebündeltem skill; Google Meet-Plugin für Anrufe und Transkription; Piper local TTS-Provider. ComfyUI v5 + TouchDesigner-MCP wurden von optional zu standardmäßig gebündelt verschoben. Neue skills: Humanizer, claude-design, design-md, airtable. CLI-Ergänzungen: hermes -z-One-Shot-Modus, hermes update --check-Preflight, /reload-skills-Slash Command, steckbare Busy-Indicator-Stile. Sichtbarer TUI-Kaltstart durch Lazy Agent Init und Lazy Imports um ~57 % verkürzt. Sicherheit: Secret-Redaction standardmäßig deaktiviert, um Payload-Korruption zu verhindern; strikte Blocklist für nicht wiederherstellbare Befehle. Statistiken: 1.096 Commits, 550 gemergte PRs, 213 Community-Beitragende. |
17 |
| 2026-04-25 | Guide v1.3: v0.11.0 (23. April 2026) — The Interface release hinzugefügt. Vollständige React/Ink-Neufassung der interaktiven TUI mit Python JSON-RPC-Backend (tui_gateway); Sticky Composer, Live-Streaming mit OSC-52-Zwischenablage-Unterstützung, stabile Picker-Tasten, Statusleiste mit Per-Turn-Stoppuhr und Git-Branch, /clear-Bestätigung, Light-Theme-Preset, Observability-Overlay für Subagent-Spawns. Steckbare Transportarchitektur — Formatkonvertierung und HTTP-Transport wurden nach agent/transports/ ausgelagert, um sauberere Provider-Anbindung zu ermöglichen. Natives AWS Bedrock über das Converse API. Fünf neue Inferenzpfade: NVIDIA NIM, Arcee AI, Step Plan, Google Gemini CLI OAuth und Vercel ai-gateway. GPT-5.5 über Codex OAuth — das neue OpenAI-Flaggschiff ist jetzt über ChatGPT Codex OAuth ohne separaten API-Schlüssel erreichbar. QQBot (17. Messaging-Plattform) mit QR-Scan-Einrichtung und Streaming. Erweiterung der Plugin-Oberfläche: Slash Commands, Tool-Dispatch, Ausführungsblockierung, Ergebnisumwandlung. /steer <prompt> — Agent-Anstöße während eines laufenden Durchlaufs, die eine Notiz injizieren, die der laufende Agent nach seinem nächsten Tool-Aufruf sieht, ohne den Turn zu unterbrechen oder den Prompt Cache zu brechen. Shell Hooks verbinden Skripte als Lifecycle Hooks ohne Python-Plugins. Webhook-Direktzustellungsmodus leitet Payloads direkt an einen Plattform-Chat weiter und umgeht den Agent für Fan-out. Intelligentere Delegation mit Orchestrator-Rollen, konfigurierbarer Spawn-Tiefe und Dateikoordination. Dashboard erhält ein Plugin-System, Live-Theme-Wechsel, i18n und mobile Responsivität. Statistiken seit v0.9.0: 1.556 Commits, 761 gemergte PRs, 1.314 geänderte Dateien, 224.174 Einfügungen, 29 Community-Beitragende. |
20 |
| 2026-04-16 | Guide v1.2: v0.10.0 — Nous Tool Gateway hinzugefügt. Zahlende Nous Portal-Abonnenten erhalten jetzt Zugriff auf verwaltete Tools (Firecrawl-Websuche, FAL / FLUX 2 Pro-Bildgenerierung, OpenAI TTS, Browser Use-Browserautomatisierung) ohne zusätzliche API-Schlüssel. Opt-in pro Tool über das neue use_gateway-Konfigurationsfeld. Die Runtime bevorzugt gateway gegenüber direkten API-Schlüsseln, wenn beides konfiguriert ist. Die Umgebungsvariable HERMES_ENABLE_NOUS_MANAGED_TOOLS wurde entfernt. Hermes Agent CLI bleibt MIT-lizenziert und vollständig kostenlos. |
21 |
| 2026-04-13 | Guide v1.1: Funktionen aus v0.8.0 und v0.9.0 hinzugefügt. Lokales Web-Dashboard, /fast-Modus, iMessage + WeChat-Plattformen (16 insgesamt), Überwachung von Hintergrundprozessen (watch_patterns), steckbarer context engine, hermes backup/hermes import, Termux/Android, xAI + MiMo + Google AI Studio + Qwen-Provider, /debug-Befehl, umfassende Sicherheitshärtung. |
15 16 |
| 2026-04-10 | Guide v1.0: Erstveröffentlichung zu Hermes Agent v0.7.0. Provider-Auth, config, CLI, Slash Commands, Tools, skills, memory, gateway, cron, MCP, Komprimierung, Architektur, OpenClaw-Migration, Fehlerbehebung, FAQ. |
Referenzen
-
Nous Research, Projekt-README “Hermes Agent” auf GitHub. Primärquelle für die Produktbeschreibung (selbstverbessernder Agent, Multi-Provider, Messaging-gateway, Terminal-Backends, skill-Evolution, cron-Scheduler, Delegation) und den “Quick Install”-Einzeiler. ↩↩↩
-
Nous Research, “AI Providers” in der Hermes Agent-Dokumentation. Primärquelle für die vollständige Provider-Liste, Auth-Methoden pro Provider (Nous Portal OAuth, Codex device code, GitHub Copilot-Token-Typen, Anthropic-Authentifizierung mit drei Methoden, chinesische AI-Provider, Hugging Face-Routing, benutzerdefinierte Endpunkte), die drei Auth-Pfade (API-Schlüssel in
.env, OAuth überhermes model, benutzerdefinierter Endpunkt inconfig.yaml), die Syntax des Slash-Befehls/model(einschließlichcustom:name:model), Setup-Vorlagen für Ollama/vLLM/SGLang/llama.cpp/LM Studio, WSL2-Netzwerkanweisungen, Kette zur Erkennung der Kontextlänge, Fallback-Modellkonfiguration, Smart Model Routing und benannte benutzerdefinierte Provider. Alle providerspezifischen Umgebungsvariablennamen, Token-Typen, Base-URL-Overrides und Modellkennungen in diesem Beitrag stammen von dieser Seite. ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩ -
Nous Research, “Architecture” im Hermes Agent-Entwicklerleitfaden. Primärquelle für das Systemübersichtsdiagramm, die Verzeichnisstruktur, den Datenfluss durch CLI-Sitzungs- und gateway-Nachrichtenpfade, die drei API-Modi (
chat_completions,codex_responses,anthropic_messages), Provider-Auflösung überruntime_provider.py, Sitzungspersistenz über SQLite + FTS5, die Plattformliste des Messaging-gateway, Erkennungsquellen des Plugin-Systems, Profilisolation und die sechs Designprinzipien. ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩ -
Nous Research, “Configuration” im Hermes Agent-Benutzerleitfaden. Primärquelle für die Struktur des Konfigurationsverzeichnisses, die
config.yaml-vs.-.env-Regel (“config.yamlwins for non-secret settings”), die Konfigurationsprioritätskette (CLI-Argumente → env → config.yaml → .env → Defaults), Einstellungen zur Kontextkomprimierung (compression.*-Block mitthreshold,target_ratio,protect_last_n,summary_model,summary_provider,summary_base_url), Budgetdruck-Schwellenwerte (70 % Vorsicht, 90 % Warnung), Streaming-Timeouts mit automatischer Anpassung lokaler Provider und den vollständigen Konfigurationsblock für Hilfsmodelle (auxiliary:mitvision,web_extract,approval,compression,session_search,skills_hub,mcp,flush_memories-Slots). Die Beschränkung des"main"-Providers auf Auxiliary-/Compression-/Fallback-Slots stammt ebenfalls von dieser Seite. ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩ -
Nous Research, “Migrate from OpenClaw” in den Hermes Agent-Leitfäden. Quelle für den Migrationsablauf von OpenClaw → Hermes. ↩↩
-
Nous Research, “CLI Commands Reference” in der Hermes Agent-Referenzdokumentation. Primärquelle für jeden in diesem Beitrag dokumentierten CLI-Befehl auf oberster Ebene, einschließlich
hermes chat,hermes model,hermes gateway,hermes setup,hermes auth,hermes status,hermes cron,hermes webhook,hermes doctor,hermes dump,hermes logs,hermes config,hermes pairing,hermes skills,hermes honcho,hermes memory,hermes acp,hermes mcp,hermes plugins,hermes tools,hermes sessions,hermes insights,hermes claw,hermes profile,hermes completion,hermes updateundhermes uninstall. Alle Subcommand-Flags, Optionsbeschreibungen, das Verhalten des Credential-Pools, die Syntax zur Log-Filterung, OpenClaw-Migrationsflags, Profilverwaltungsbefehle und Befehle zur Dienstinstallation in diesem Beitrag stammen von dieser Seite. ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩ -
Nous Research, “Installation” im Getting-Started-Leitfaden von Hermes Agent. Primärquelle für den Einzeiler-Installerbefehl, das Verhalten des Installers (Voraussetzungen, Plattformunterstützung, automatische Termux-Erkennung, Windows-/WSL2-Anforderungen), die Tabelle der optionalen Extras, die manuellen Installationsschritte und die Verifizierungsbefehle. ↩↩↩↩↩↩↩
-
Nous Research, “CLI Commands Reference” — siehe insbesondere den Abschnitt
hermes dump, der das Ausgabeformat des Befehls (Header, Umgebung, Identität, Modell, Terminal, API-Schlüssel, Funktionen, Dienste, Workload, Konfigurationsüberschreibungen) und den vorgesehenen Einsatz zum Teilen von Diagnosedaten beschreibt. ↩ -
Nous Research, “Slash Commands Reference” in der Hermes Agent-Referenzdokumentation. Primärquelle für jeden in diesem Beitrag aufgeführten Slash-Befehl, die
COMMAND_REGISTRY-Architektur, die Aufteilung zwischen CLI und Messaging, dynamische skill-Slash-Befehle, Schnellbefehle inconfig.yaml, das Verhalten beim Prefix-Matching und die nur für Messaging verfügbaren Befehle (/status,/sethome,/approve,/deny,/update,/commands). ↩↩↩↩↩↩↩↩↩↩ -
Nous Research, “Tools & Toolsets” im Hermes Agent-Benutzerleitfaden. Primärquelle für die Übersicht der Tool-Kategorien, Befehle zur toolset-Nutzung, die sechs Terminal-Backends (local, docker, ssh, singularity, modal, daytona), Containerkonfiguration (cpu, memory, disk, persistent), Security-Härtung für Container, Hintergrundprozessverwaltung API und sudo-Unterstützung. ↩↩↩↩↩↩↩↩↩↩
-
Nous Research, “Skills System” im Hermes Agent-Benutzerleitfaden. Primärquelle für Progressive Disclosure, das
SKILL.md-Format, plattformspezifische skills, bedingte Aktivierung (fallback_for_toolsets,requires_toolsets,fallback_for_tools,requires_tools), agentverwaltete skills überskill_manage, die skill hub-Befehle und Quellenliste (official,skills-sh,well-known,github,clawhub,claude-marketplace,lobehub), Security-Scanning und Vertrauensstufen sowie externe skill-Verzeichnisse. ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩ -
Nous Research, “Persistent Memory” im Hermes Agent-Benutzerleitfaden. Primärquelle für die Zeichenlimits von
MEMORY.md/USER.md, das Frozen-Snapshot-Muster, Memory-Tool-Aktionen (add,replace,remove), was gespeichert bzw. übersprungen werden sollte, den Vergleich zwischen Memory und Sitzungssuche sowie die Liste von acht externen Memory-Providern (Honcho, OpenViking, Mem0, Hindsight, Holographic, RetainDB, ByteRover, Supermemory). ↩↩↩↩↩↩↩↩ -
Nous Research, “Personality & SOUL.md” im Hermes Agent-Benutzerleitfaden. Primärquelle für das Verhalten von
SOUL.md(liegt inHERMES_HOME, wird nie überschrieben, Slot #1 im System-Prompt, vor Einbindung security-geprüft), die Unterscheidung zwischen SOUL.md und AGENTS.md, die integrierte Persönlichkeitsliste (14 Persönlichkeiten vonhelpfulbishype), benutzerdefinierte Persönlichkeiten inconfig.yaml, das Overlay-Muster von/personalityund die vollständige Reihenfolge beim Zusammenbau des Prompt-Stacks. ↩↩↩↩↩↩↩↩↩↩↩↩ -
Nous Research, “Use MCP with Hermes” und MCP Config Reference in den Hermes Agent-Leitfäden und der Referenz. Quelle für das Konfigurationsformat
mcp_servers:inconfig.yamlmit den Felderncommand,args,env. ↩ -
Hermes Agent v0.8.0 Release Notes. 8. April 2026. Automatische Benachrichtigungen für Hintergrundprozesse, kostenloses MiMo v2 Pro auf Nous Portal, Live-Wechsel per
/modelüber Plattformen hinweg, nativer Provider für Google AI Studio, Qwen OAuth, inaktivitätsbasierte Timeouts, Genehmigungsschaltflächen auf Slack/Telegram, MCP OAuth 2.1 PKCE, zentralisiertes Logging, Erweiterung des Plugin-Systems. ↩↩↩↩↩ -
Hermes Agent v0.9.0 Release Notes. 13. April 2026. Lokales Web-Dashboard, Fast Mode (
/fast), iMessage über BlueBubbles, WeChat + WeCom, Termux/Android, Überwachung von Hintergrundprozessen (watch_patterns), native Provider für xAI + Xiaomi MiMo, pluggable context engine, einheitliche Proxy-Unterstützung, Security-Härtung (Behebungen für Path Traversal, Shell Injection, SSRF, RCE),hermes backup/hermes import,/debug+hermes debug share, 16 unterstützte Plattformen. 487 Commits, 269 gemergte PRs, 24 Mitwirkende. ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩ -
Hermes Agent v0.12.0 Release Notes. 30. April 2026. “The Curator release.” Autonomer Hintergrund-Curator, der die skill-Bibliothek in einem standardmäßigen 7-Tage-Zyklus auf dem cron-Ticker des gateway bewertet, bereinigt und konsolidiert. Self-Improvement-Loop verbessert: rubric-basiertes Grading, Active-Update-Bias, korrekte Runtime-Vererbung, scoped toolsets auf Memory und skills beschränkt. Vier neue Inferenz-Provider: GMI Cloud, Azure AI Foundry, MiniMax OAuth, Tencent Tokenhub. LM Studio wurde zu First-Class hochgestuft. Remote-Modellkatalog-Manifeste aktualisieren sich automatisch ohne Releases. Zwei neue Messaging-Plattformen: Microsoft Teams (19., über pluggable gateway architecture) und Tencent Yuanbao (18., nativer Text + Medien). Native Spotify über PKCE OAuth mit gebündeltem skill; Google Meet-Plugin für Anrufe und Transkription; lokaler Piper-TTS-Provider. ComfyUI v5 + TouchDesigner-MCP standardmäßig gebündelt. Neue skills: Humanizer, claude-design, design-md, airtable. CLI:
hermes -z-One-Shot-Modus,hermes update --check-Preflight, Slash-Befehl/reload-skills, pluggable Busy-Indicator-Stile. TUI-Kaltstart durch Lazy Initialization um ca. 57 % verkürzt. Security: Secret-Redaction standardmäßig deaktiviert; harte Blocklist für nicht wiederherstellbare Befehle. Statistiken seit v0.11.0: 1.096 Commits, 550 gemergte PRs, 213 Community-Mitwirkende. Siehe auch: v2026.4.30 release tag. ↩↩↩ -
Hermes Agent v0.13.0 Release Notes. 7. Mai 2026. “The Tenacity release.” Multi-Agent-Kanban-Board mit Heartbeat, Reclaim, Zombie-Erkennung, Hallucination Gate,
max_retriespro Aufgabe, Multi-Projekt-Boards. Slash-Befehl/goalfür zielgebundene Arbeit über mehrere Turns hinweg (Ralph-Loop-Primitiv) mit konfigurierbarem Turn-Budget. Toolvideo_analyze, Gemini-first mit kompatibler multimodaler Erweiterbarkeit. xAI Custom Voices-TTS-Provider mit Voice Cloning. 7-sprachige i18n: zh-Hans, ja, de, es, fr, uk, tr (CLI + gateway-Nachrichten; Dokumentation nur zh-Hans). Google Chat als 20. Messaging-Plattform über pluggable adapter pattern mit generischenenv_enablement_fn/cron_deliver_env_var-Plugin-Hooks; IRC und Microsoft Teams wurden auf dasselbe Muster migriert.ProviderProfileABC +plugins/model-providers/für pluggable Third-Party-Provider. Automatische Sitzungsfortsetzung nach gateway-Neustart,/updateund Source-Datei-Reloads. Checkpoints v2: Single-Store-Neuschreibung mit echter Bereinigung, Disk-Guardrails, keine verwaisten Shadow-Repos. Acht P0-Security-Abschlüsse: Secret-Redaction standardmäßig aktiviert, Discord-Cross-Guild-DM-Bypass (CVSS 8.1, Rollen-Allowlisten guild-scoped), WhatsApp lehnt Fremde standardmäßig ab + antwortet nie im Self-Chat, MCP OAuth Credential-Save-TOCTOU, CLIauth.json-TOCTOU in Credential-Writern, Browser-Cloud-Metadata-SSRF-Untergrenze im Hybrid-Routing, cron-Scanning zusammengesetzter Prompts (einschließlich skill-Inhalt) auf Prompt Injection,hermes debug share-Redaction von Log-Inhalten beim Upload. Weitere erwähnenswerte Punkte: Post-Write-Linting für Python/JSON/YAML/TOML, cronno_agent-Watchdog-Modus nur für Skripte, Plattform-Allowlisten für Slack/Telegram/Mattermost/Matrix/DingTalk, MCP-Erweiterungen (SSE-Transport, OAuth-Forwarding, Bildergebnisse als MEDIA-Tags). Statistiken seit v0.12.0: 864 Commits, 588 gemergte PRs, 829 geänderte Dateien, 295 Community-Mitwirkende, 282 geschlossene Issues (13 P0, 36 P1). ↩↩↩↩↩↩↩↩↩↩↩↩ -
Hermes Agent v0.14.0 Release Notes. 16. Mai 2026. “The Foundation release.” Seit v0.13.0: 808 Commits, 633 gemergte PRs, 1.393 geänderte Dateien, 165.061 Einfügungen, 545 geschlossene Issues (12 P0, 50 P1) und 215 Community-Mitwirkende. Fügt SuperGrok OAuth mit grok-4.3 1M-Kontext,
hermes proxy,x_search, PyPI-Packaging, Lazy Dependencies, sitzungsübergreifenden 1h-Claude-Prompt-Cache, ca. 19 s schnelleren Start, 180x schnellere Browser-CDP-Aufrufe, LINE und SimpleX Chat für 22 Messaging-Plattformen,/handoff, native Klärungsschaltflächen, Discord-Verlaufs-Backfill, Raw-Pixel-vision_analyze, Footer zur Dateiänderungsverifizierung pro Turn, semantische LSP-Diagnostics, einheitlichesvideo_generate, cua-driver-computer_use, OSC8-Links, Zed ACP Registry-Unterstützung, OpenRouter Pareto Code router, NovitaAI, Codex app-server runtime,huggingface/skills, Plugin-ctx.llm,tool_override, Brave/DDGS-Suche, Härtung gefährlicher Befehle,/subgoal, Qwen Cloud-Umbenennung, native Windows-Beta, 16 Sprachen insgesamt sowie breite Dokumentations- und Testupdates hinzu. ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩ -
Hermes Agent v0.11.0 Release Notes. 23. April 2026. “The Interface release” — vollständige React/Ink-Neuschreibung der interaktiven CLI mit einem Python JSON-RPC-Backend (
tui_gateway); pluggable Transportarchitektur (agent/transports/); natives AWS Bedrock über Converse API; fünf neue Inferenzpfade (NVIDIA NIM, Arcee AI, Step Plan, Google Gemini CLI OAuth, Vercel ai-gateway); GPT-5.5 über Codex OAuth; QQBot als 17. Messaging-Plattform mit QR-Scan-Setup; erweiterte Plugin-Oberfläche (Slash-Befehle, Tool-Dispatch, Execution Blocking, Result Transformation);/steer <prompt>für Mid-Run-Agent-Anstöße, die Kontext nach dem nächsten Tool-Aufruf injizieren, ohne den Prompt-Cache zu brechen; Shell-Hooks für Lifecycle-Events ohne Python-Plugins; Webhook-Direct-Delivery-Modus, der Payloads direkt an einen Plattform-Chat weiterleitet; intelligentere Delegation mit Orchestrator-Rollen + konfigurierbarer Spawn-Tiefe + Dateikoordination; Dashboard-Plugin-System, Live-Theme-Wechsel, i18n, mobile Responsiveness. Statistiken seit v0.9.0: 1.556 Commits · 761 gemergte PRs · 1.314 geänderte Dateien · 224.174 Einfügungen · 29 Community-Mitwirkende. Siehe auch: Hermes Agent v0.11.0 GitHub release tag. ↩↩↩ -
Hermes Agent v0.10.0 Release Notes. 16. April 2026. “The Tool Gateway Release.” Nous Tool Gateway-Integration für zahlende Nous Portal-Abonnenten — verwalteter Zugriff auf Firecrawl-Websuche, FAL / FLUX 2 Pro-Bilderzeugung, OpenAI TTS und Browser Use-Browserautomatisierung ohne zusätzliche API-Schlüssel. Opt-in pro Tool über das neue Konfigurationsfeld
use_gateway. Die Runtime bevorzugt gateway gegenüber direkten API-Schlüsseln, wenn beides konfiguriert ist. Vollständige Integration mithermes toolsundhermes status. Ersetzt die veraltete Env-VariableHERMES_ENABLE_NOUS_MANAGED_TOOLS. Implementierung von @jquesnelle (emozilla). Hermes Agent CLI bleibt MIT-lizenziert und vollständig Open Source; das gateway ist eine Integration mit dem bestehenden Portal-Abonnementprodukt, keine Paywall für die CLI. Siehe auch: Nous Portal für Abonnementpreise und Registrierung. ↩↩↩