hermes@agent:~/.hermes$ cat hermes.md

Hermes Agent: Die Praktiker-Referenz (2026)

# v0.13 Tenacity bringt Multi-Agent-Kanban mit Heartbeat- und Zombie-Erkennung, /goal Ralph-Loop-Locking, video_analyze, xAI Custom Voices TTS, Internationalisierung in 7 Sprachen, Google Chat als 20. Plattform, ProviderProfile mit pluggable Providern, automatische Sitzungsfortsetzung, Checkpoints v2 sowie 8 P0-Sicherheitslücken-Schließungen.

words: 10839 read_time: 55m updated: 2026-05-07 20:08
$ less hermes.md

TL;DR: Hermes Agent ist ein Open-Source-Self-Improving-AI-Agent von Nous Research. Er läuft als CLI und als Multi-Plattform-Messaging-Gateway, speichert eine dauerhafte Identität sowie persistenten Speicher auf der Festplatte, aggregiert Skills, die sich mit der Nutzung verbessern, und funktioniert mit jedem OpenAI-kompatiblen LLM-Provider — Nous Portal, OpenRouter, Anthropic, GitHub Copilot, z.ai, Kimi, MiniMax, DeepSeek, Alibaba, Hugging Face, Google oder Ihrem eigenen selbst gehosteten Endpoint.12 Die größte Hürde für die meisten neuen Benutzer ist die Provider-Authentifizierung: Hermes unterstützt rund 19 erstklassige Provider sowie benutzerdefinierte Endpoints und drei verschiedene Auth-Pfade (API-Schlüssel in .env, OAuth via hermes model oder benutzerdefinierter Endpoint in config.yaml). Das Auth-Modell sollten Sie zuerst verstehen — alles andere ergibt sich daraus, welcher Provider aufgelöst wird.

Hermes Agent arbeitet als vollwertige Agent-Runtime, nicht als Chat-Wrapper. Er liest Ihr Dateisystem, führt Befehle in Sandbox-Backends aus, scrapt das Web, spawnt Subagenten, führt geplante Cron-Jobs aus, kommuniziert mit Telegram/Discord/Slack/WhatsApp/Signal/E-Mail über einen einzigen Gateway-Prozess und erstellt aus Erfahrung eigene Skills.1 Die CLI ist ein Terminal-UI, das auf einem Conversation Loop in run_agent.py aufbaut; das Gateway ist ein langlaufender Prozess, der Nachrichten von Messaging-Plattformen durch denselben Conversation Loop routet.3

Der Unterschied zwischen gelegentlicher und expertenhafter Hermes-Nutzung liegt in fünf Systemen. Beherrschen Sie diese, wird Hermes zum Force Multiplier:

  1. Provider-Auflösung: Wie Auth-Flows auf API-Aufrufe abgebildet werden
  2. Konfigurationshierarchie: config.yaml + .env + auth.json + SOUL.md + AGENTS.md
  3. Tool- und Toolset-System: Was der Agent tun kann, pro Plattform gesteuert
  4. Skills-System: Prozedurales Gedächtnis, das der Agent erstellt und weiterentwickelt
  5. Gateway + Cron + Profile: Hermes dort betreiben, wo Sie leben — nicht nur dort, wo Sie sind

Wichtigste Erkenntnisse

  • Provider-Auth umfasst drei Pfade, nicht einen. API-Schlüssel in .env, OAuth via hermes model/hermes auth oder benutzerdefinierter Endpoint in config.yaml. Wählen Sie den Pfad, der zu Ihrem Provider passt — nicht den, der vertraut wirkt.
  • Provider zu wechseln ist ein einziger Befehl. hermes model führt Sie interaktiv durch jeden unterstützten Provider, einschließlich OAuth-Logins, und /model provider:model wechselt mitten in der Session, ohne den Verlauf zu verlieren.2
  • Zwei Dateien bilden die benutzerseitig editierbare Konfigurationsoberfläche. ~/.hermes/config.yaml enthält Einstellungen und ~/.hermes/.env enthält Secrets. auth.json, SOUL.md, MEMORY.md und skills/ werden direkt von Hermes verwaltet — SOUL.md können Sie von Hand bearbeiten, der Rest wird vom Agent selbst angefasst.4
  • Hermes ist der Nachfolger von OpenClaw. Bei einer Migration importiert hermes claw migrate automatisch über 30 Zustandskategorien.5
  • Die Servicequalität hängt von Ihrem Auxiliary-Modell ab. Vision, Web-Zusammenfassung, Kompression und Memory-Flush nutzen alle ein separates Auxiliary-LLM. Standardmäßig ist dies Gemini Flash via Auto-Detection (OpenRouter → Nous → Codex) — wenn keiner davon konfiguriert ist, verschlechtern sich diese Funktionen stillschweigend, bis Sie die Auxiliary-Slots auf Ihren Hauptprovider umlenken.4

Jeder folgende Abschnitt stützt sich auf die Upstream-Dokumentation unter hermes-agent.nousresearch.com/docs und den Quellbaum unter github.com/NousResearch/hermes-agent. Jede sachliche Aussage hat eine Fußnote, die auf die spezifische Upstream-Seite verweist, von der sie stammt.

Wählen Sie Ihren Pfad

Was Sie brauchen Hier entlang
Hermes installieren Installation — Einzeilen-Installer oder manuelle Schritte
Bei einem Provider anmelden Authentication & Providers — der Abschnitt, dessentwegen Sie hier sind
Modelle mitten in der Session wechseln The hermes auth Command und Custom & Self-Hosted Endpoints für /model-Syntax
Ein lokales LLM ausführen Custom & Self-Hosted Endpoints — Ollama, vLLM, SGLang, llama.cpp, LM Studio
Messaging-Plattformen anbinden Messaging Gateway — Telegram, Discord, Slack, WhatsApp, Signal, Google Chat (insgesamt 20)
Einen Skill schreiben oder installieren Skills System — Progressive Disclosure + Skill-Hub
Tiefenreferenz für jeden CLI-Befehl Lesen Sie weiter — und springen Sie direkt zu CLI Commands

Wie Hermes funktioniert: Das mentale Modell

Hermes basiert auf einer einzigen Konversationsschleife, 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, wobei folgende Schritte durchlaufen werden:

  1. Aufbau des System-Prompts aus SOUL.md, MEMORY.md, USER.md, Skills, Kontextdateien und Tool-Anweisungen über prompt_builder.py3
  2. Auflösung des Runtime-Providers über runtime_provider.py — in diesem Schritt werden Authentifizierung, Basis-URL und API-Modus bestimmt3
  3. Aufruf des Providers in einem von drei API-Modi: chat_completions, codex_responses oder anthropic_messages3
  4. Weiterleitung aller zurückgegebenen Tool-Aufrufe über model_tools.py und die zentrale Tool-Registry (tools/registry.py)3
  5. Wiederholung der Schleife, bis das Modell eine endgültige Antwort liefert; anschließend wird die Sitzung in SQLite mit FTS5 persistiert3

Dieses Verständnis der Schleife ist entscheidend, da sich jede Funktion — Personalities, Memory, Skills, Komprimierung, Fallback — an eine dieser Stufen anhängt. Wenn Sie sich bei einem Konfigurationsschlüssel fragen, was er bewirkt, lautet die Antwort in der Regel: „Er ist ein Stellrad an Stufe 1, 2, 3 oder 4 der obigen Schleife.”

Plattformunabhängiger Kern. Eine einzige AIAgent-Klasse bedient CLI, Gateway, ACP, Batch und API-Server. Plattformspezifische Unterschiede befinden sich im Einstiegspunkt, nicht im Agenten selbst.3 Deshalb funktionieren dieselben Slash-Befehle sowohl im Terminal als auch in Telegram — sie werden über eine gemeinsame COMMAND_REGISTRY in hermes_cli/commands.py verteilt.6

Die Verzeichnisstruktur 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 oben genannten Dateien hat eine spezifische Aufgabe; keine davon überschneidet sich mit einer anderen. Wenn Sie wissen möchten, „wo speichert Hermes X”, ist es eine dieser Dateien.


Installation

Das Einzeiler-Installationsskript ist der Weg für 95 % aller Benutzer. Es kümmert sich um Python, uv, Node.js, ripgrep, ffmpeg, das Repository-Klonen, die virtuelle Umgebung und den globalen hermes-Befehl.7

curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash

Funktioniert unter Linux, macOS, WSL2 und Android/Termux (das Installationsskript erkennt Termux automatisch und wechselt zu einem getesteten Android-Bundle).7 Natives Windows wird nicht unterstützt — installieren Sie WSL2 und führen Sie den obigen Befehl von dort aus.7

Nach Abschluss der Installation:

source ~/.bashrc    # or ~/.zshrc
hermes              # Start chatting

Die einzige Voraussetzung ist git. Das Installationsskript stellt automatisch Python 3.11 ü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 zeigt Ihnen genau, was fehlt und wie Sie es beheben können.7 hermes dump ist der Diagnosebefehl, den Sie in ein GitHub-Issue oder einen Discord-Thread einfügen sollten, wenn Sie um Hilfe bitten — eine Klartextzusammenfassung Ihres gesamten Setups mit geschwärzten Geheimnissen.8

Manuelle Installation

Wenn Sie die volle Kontrolle benötigen — eine bestimmte Python-Version, spezifische Extras, Nix/NixOS-Integration — ist der manuelle Ablauf Schritt für Schritt in der Upstream-Installationsanleitung dokumentiert.7 Wichtige optionale Extras, die Sie mit uv pip install -e ".[<extras>]" kombinieren können:

Extra Was es hinzufügt
all Alles Nachfolgende
messaging Telegram- & Discord-Gateway
cron Cron-Ausdrucksanalyse
cli Terminal-Menü-UI für den Einrichtungsassistenten
modal Modal-Cloud-Ausführungs-Backend
voice CLI-Mikrofoneingabe + Audiowiedergabe
tts-premium ElevenLabs-Premium-Stimmen
honcho KI-natives Memory (Honcho-Integration)
mcp Model Context Protocol-Unterstützung
homeassistant Home Assistant-Integration
acp ACP-Editor-Integrationsunterstützung
slack Slack-Messaging
pty PTY-Terminal-Unterstützung (interaktive CLI-Tools)
dev pytest & Test-Utilities
termux Getestetes Android-Bundle (enthält cron, cli, pty, mcp, honcho, acp)

Der Termux-Installationsbefehl unterscheidet sich — er verwendet pip mit einer Constraints-Datei, nicht uv pip:

python -m pip install -e ".[termux]" -c constraints-termux.txt

Der Grund dafür ist, dass .[all] unter Android faster-whisper über das voice-Extra einbindet, welches von ctranslate2-Wheels abhängt, die nicht für Android veröffentlicht werden.7


Authentifizierung & Provider

Hermes unterstützt rund 19 erstklassige Provider sowie benutzerdefinierte Endpunkte und drei verschiedene Authentifizierungspfade. Hier finden Sie die gesamte Auth-Oberfläche, nach Pfad geordnet, damit Sie den passenden für Ihre Situation finden.

Die drei Authentifizierungspfade

Jeder Provider in Hermes lässt sich einem von drei Authentifizierungsmustern zuordnen:

Pfad 1 — API-Schlüssel in .env. Hinterlegen Sie Ihren Schlüssel in ~/.hermes/.env, und Hermes liest ihn beim Start ein. Verwendet von OpenRouter, AI Gateway, z.ai/GLM, Kimi/Moonshot, MiniMax (sowie MiniMax China), Alibaba Cloud/DashScope, Kilo Code, OpenCode Zen, OpenCode Go, DeepSeek, Hugging Face, Google/Gemini und den meisten Drittanbietern.2

Pfad 2 — OAuth über hermes model oder hermes auth. Startet einen Device-Code-Flow, öffnet einen Browser und speichert die Anmeldedaten in ~/.hermes/auth.json (kann auch vorhandene Anmeldedaten 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. Einmalig über hermes model → Custom endpoint konfiguriert und anschließend in config.yaml persistiert.2

Die vollständige Provider-Matrix

Dies ist die komplette Liste der erstklassigen Provider mit dem genauen Einrichtungsablauf für jeden einzelnen.2

Provider Auth-Pfad Einrichtung
Nous Portal OAuth hermes model (OAuth-Login, abonnementbasiert)
OpenAI Codex OAuth hermes model (ChatGPT-Device-Code, nutzt 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-Schlüssel hermes model (bevorzugt Claude Code-Anmeldedaten) oder ANTHROPIC_API_KEY oder ANTHROPIC_TOKEN Setup-Token
OpenRouter API-Schlüssel OPENROUTER_API_KEY in ~/.hermes/.env
AI Gateway (Vercel) API-Schlüssel AI_GATEWAY_API_KEY in ~/.hermes/.env (Provider: ai-gateway)
z.ai / GLM (ZhipuAI) API-Schlüssel GLM_API_KEY in ~/.hermes/.env (Provider: zai)
Kimi / Moonshot API-Schlüssel KIMI_API_KEY in ~/.hermes/.env (Provider: kimi-coding)
MiniMax (global) API-Schlüssel MINIMAX_API_KEY in ~/.hermes/.env (Provider: minimax)
MiniMax China API-Schlüssel MINIMAX_CN_API_KEY in ~/.hermes/.env (Provider: minimax-cn)
Alibaba Cloud (Qwen) API-Schlüssel DASHSCOPE_API_KEY in ~/.hermes/.env (Provider: alibaba, Aliase: dashscope, qwen)
Kilo Code API-Schlüssel KILOCODE_API_KEY in ~/.hermes/.env (Provider: kilocode)
OpenCode Zen API-Schlüssel OPENCODE_ZEN_API_KEY in ~/.hermes/.env (Provider: opencode-zen)
OpenCode Go API-Schlüssel OPENCODE_GO_API_KEY in ~/.hermes/.env (Provider: opencode-go)
DeepSeek API-Schlüssel DEEPSEEK_API_KEY in ~/.hermes/.env (Provider: deepseek)
Hugging Face API-Schlüssel HF_TOKEN in ~/.hermes/.env (Provider: huggingface, Alias: hf)
Google / Gemini API-Schlüssel GOOGLE_API_KEY oder GEMINI_API_KEY in ~/.hermes/.env (Provider: gemini)
xAI (Grok) Nativer Provider Erstklassiger Provider mit direktem API-Zugang und Modellkatalog (v0.9.0+). Aktiviert Prompt-Caching automatisch über den Header x-grok-conv-id.216
xAI Custom Voices API-Schlüssel TTS-Provider mit Voice-Cloning. Neu in v0.13.0; konfigurieren Sie ihn unter tts: in config.yaml und hinterlegen Sie den xAI-Schlüssel in .env.18
Xiaomi MiMo Nativer Provider Erstklassiger Provider mit Einrichtungsassistent und Modellkatalog. Kostenloses MiMo v2 Pro im Nous Portal für Hilfsaufgaben (v0.9.0+).1615
Google AI Studio API-Schlüssel 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 OAuth OAuth-Provider mit Portal-Request-Unterstützung (v0.8.0+).15
Custom endpoint config.yaml hermes model → “Custom endpoint” (gespeichert in config.yaml)

Anthropic: Drei Authentifizierungsmethoden

Anthropic erhält einen eigenen Abschnitt, weil Hermes drei verschiedene Wege in Claude unterstützt — und die Wahl des richtigen Wegs ist entscheidend. 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 wählen, bevorzugt Hermes den Anmeldedatenspeicher von Claude Code, statt das Token in ~/.hermes/.env zu kopieren. Damit bleiben aktualisierbare Claude-Anmeldedaten aktualisierbar.2 Falls Sie Claude Code ohnehin auf derselben Maschine nutzen, ist dies der sauberste Weg.

Um Anthropic dauerhaft in config.yaml festzulegen:

model:
  provider: "anthropic"
  default: "claude-sonnet-4-6"

--provider claude und --provider claude-code funktionieren ebenfalls als Kurzschreibweise für --provider anthropic.2

GitHub Copilot: Zwei Modi

Copilot wird in zwei Modi unterstützt: direkte Copilot-API (empfohlen) und Copilot ACP (das die lokale Copilot-CLI als Subprozess startet).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. Fallback gh auth token CLI 5. OAuth-Device-Code-Login über hermes model

Der Token-Typ ist entscheidend. Die Copilot-API unterstützt keine klassischen Personal Access Tokens (ghp_*). Unterstützt werden OAuth-Tokens (gho_*), Fine-Grained PATs (github_pat_* mit der Berechtigung Copilot Requests) und GitHub-App-Tokens (ghu_*). Liefert gh auth token ein ghp_*-Token zurück, authentifizieren Sie sich stattdessen über hermes model per OAuth.2

Chinesische KI-Provider (erstklassige Unterstützung)

Hermes verfügt über integrierte Unterstützung für z.ai/GLM, Kimi/Moonshot, MiniMax (globale und chinesische Endpunkte) sowie 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 lassen sich über die Umgebungsvariablen GLM_BASE_URL, KIMI_BASE_URL, MINIMAX_BASE_URL, MINIMAX_CN_BASE_URL oder DASHSCOPE_BASE_URL überschreiben.2

Z.AI erkennt den Endpunkt automatisch. Beim Einsatz des z.ai/GLM-Providers prüft Hermes mehrere Endpunkte (global, China, Coding-Varianten), um einen zu finden, der Ihren API-Schlüssel akzeptiert. Der funktionierende Endpunkt wird automatisch zwischengespeichert — für die meisten Benutzer ist GLM_BASE_URL nicht nötig.2

xAI (Grok) aktiviert Prompt-Caching automatisch. Enthält die Basis-URL x.ai, sendet Hermes bei jeder Anfrage den Header x-grok-conv-id, um innerhalb einer Konversationssitzung an denselben Server zu routen und zwischengespeicherte System-Prompts und Verlauf wiederzuverwenden.2 Automatisch; keine Konfiguration erforderlich.

Der Befehl hermes auth

hermes auth ist der Befehl zur Verwaltung von Anmeldedaten für Pools und OAuth-Anmeldedaten.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

Über Anmeldedaten-Pools rotieren Sie mehrere API-Schlüssel oder OAuth-Tokens für denselben Provider — nützlich, um Rate-Limits über mehrere Schlüssel zu verteilen, ohne den Code zu ändern.6 Die Legacy-Befehle hermes login / hermes logout wurden entfernt; verwenden Sie stattdessen hermes auth.6

Benutzerdefinierte und selbst gehostete Endpunkte

Hermes funktioniert mit jedem OpenAI-kompatiblen API-Endpunkt. Implementiert ein Server /v1/chat/completions, 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 persistieren in config.yaml, das die alleinige Quelle der Wahrheit für Hauptmodell, Provider und Basis-URL ist.2 Die Legacy-Umgebungsvariablen OPENAI_BASE_URL und LLM_MODEL werden nicht mehr für die Konfiguration des Hauptmodells 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 Routing-Pfad des Hilfs-provider: "main" berücksichtigt; löschen Sie sie also nicht blind, wenn Sie sie dort einsetzen.)4

Benutzerdefinierte Endpunkte mitten in der 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 (ohne Modellnamen) fragt die /v1/models-API Ihres Endpunkts ab und wählt automatisch das Modell aus, sofern genau eines geladen ist — nützlich für lokale Server, die ein einzelnes Modell betreiben.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 zentralen Befehle, die Sie tatsächlich ausführen werden. Jeder ist darauf ausgelegt, einen funktionierenden Endpunkt zu erzeugen, auf den Hermes verweisen kann.2

Ollama — der einfachste lokale Weg, ohne 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

Wichtige Ollama-Falle: Ollama verwendet standardmäßig sehr niedrige Kontextlängen (4.096 Tokens bei unter 24 GB 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 den Einsatz als Agent setzen Sie mindestens 16k–32k.

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 reiner Text zurück.2

SGLang — schnelles Serving mit RadixAttention für KV-Cache-Wiederverwendung:

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-Falle: 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, falls 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 dieses Flag ignoriert llama-server den tools-Parameter komplett, und das Modell versucht, Tools aufzurufen, indem es JSON in seinen Antworttext schreibt — was Hermes nicht als tatsächliche Tool-Aufrufe interpretieren kann.2

LM Studio — Desktop-App mit GUI:

Starten Sie den Server aus der LM-Studio-App heraus (Tab „Developer” → „Start Server”) oder über CLI: lms server start (startet auf Port 1234) und lms load qwen2.5-coder --context-length 32768.2 Verweisen Sie anschließend hermes model auf http://localhost:1234/v1.

Wichtige LM-Studio-Falle: LM Studio liest die Kontextlänge aus den Modell-Metadaten, viele GGUF-Modelle melden jedoch Standardwerte von 2048 oder 4096. Setzen Sie die Kontextlänge stets ausdrücklich in den LM-Studio-Modelleinstellungen — klicken Sie auf das Zahnradsymbol neben der Modellauswahl, setzen Sie „Context Length” auf mindestens 16384 (idealerweise 32768) und laden Sie das Modell neu.2

Benannte benutzerdefinierte Provider

Wenn Sie mit mehreren benutzerdefinierten Endpunkten arbeiten (etwa einem lokalen Entwicklungsserver und einem entfernten GPU-Server), definieren Sie diese als benannte benutzerdefinierte Provider 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

Anschließend wechseln Sie mitten in der Sitzung mit der Tripel-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 Provider auch im interaktiven Menü von hermes model auswählen.2

Pluggable-Provider-Architektur (v0.13.0+)

v0.13.0 liefert eine ProviderProfile-ABC plus ein Verzeichnis plugins/model-providers/ aus, sodass Inferenz-Provider von Drittanbietern ohne Kernanpassungen integriert werden können.18 Spricht ein Provider einen OpenAI-, Anthropic- oder Codex-kompatiblen API-Modus, können Sie eine ProviderProfile-Subklasse implementieren, die den Auth-Pfad, die Basis-URL, den Modellkatalog und die Caching-Header deklariert; Hermes löst sie über denselben runtime_provider.py-Pfad auf, den auch die integrierten Provider nutzen. Dies ist die architektonische Änderung hinter der Provider-Erweiterung in v0.13.0: Statt den Kerncode zu bearbeiten, um einen Provider hinzuzufügen, liefern Sie ein Plugin aus.

Erkennung der Kontextlänge

Zwei Einstellungen werden laut Upstream-Dokumentation regelmäßig 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 diesen Wert, um zu entscheiden, wann der Verlauf komprimiert werden soll.
  • model.max_tokens — die Ausgabe-Obergrenze (maximale Anzahl Tokens, die das Modell in einer einzelnen Antwort generieren darf). Hat nichts mit der Verlaufslänge zu tun.

Setzen Sie context_length, wenn die automatische Erkennung die Fenstergröße falsch ermittelt:

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: Config-Override → benutzerdefinierter Provider pro Modell → persistenter Cache → Endpunkt /models → Anthropic /v1/models → OpenRouter-API → Nous Portal → models.dev (community-gepflegte Registry für 3800+ Modelle) → Fallback-Standardwerte (128K).2 Das System ist provider-bewusst, sodass dasselbe Modell je nach Anbieter unterschiedliche Kontextgrenzen aufweisen kann (z. B. ist claude-opus-4.6 direkt bei Anthropic 1M groß, bei GitHub Copilot dagegen 128K).2

Provider-Rotation & Fallback

Anmeldedaten-Pools. Wenn Sie mehrere API-Schlüssel für denselben Provider haben, konfigurieren Sie über hermes auth eine Rotationsstrategie. So verteilen Sie Rate-Limits auf mehrere Schlüssel.6

Fallback-Modell. Konfigurieren Sie ein Backup-provider:model, auf das Hermes automatisch umschaltet, wenn Ihr Hauptmodell ausfällt (Rate-Limits, Serverfehler, Auth-Fehler):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 mitten in der Sitzung aus, ohne Ihre Konversation zu verlieren. Er löst höchstens einmal pro Sitzung aus.2 Unterstützte Provider für den 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 setzt schlanke „Hilfsmodelle” für Nebenaufgaben ein: Bildanalyse, Zusammenfassung von Webseiten, Analyse von Browser-Screenshots, Klassifizierung der Freigabe gefährlicher Befehle, Kontextkompression, Zusammenfassung der Sitzungssuche, Skill-Matching, MCP-Tool-Dispatch und Memory-Flush.4 Standardmäßig nutzen diese Gemini Flash über automatische 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 „den Provider verwenden, den auch mein Hauptagent nutzt” — gültig ausschließlich in den Konfigurationen auxiliary:, compression: und fallback_model:. Sie ist nicht für Ihre Top-Level-Einstellung model.provider gültig. Verwenden Sie einen benutzerdefinierten OpenAI-kompatiblen Endpunkt als Hauptmodell, setzen Sie provider: custom in Ihrem model:-Abschnitt.4

Warum das wichtig ist: Falls Sie nur Anthropic OAuth konfiguriert haben (kein OpenRouter-Schlüssel), werden Bildanalyse, Web-Zusammenfassung und Kompression beeinträchtigt oder schlagen fehl, weil die standardmäßige Hilfs-Fallback-Kette zuerst OpenRouter versucht. Ergänzen Sie einen OPENROUTER_API_KEY für Hilfsaufgaben oder konfigurieren Sie jeden Hilfsslot so um, dass er Ihren Haupt-Provider nutzt:

auxiliary:
  vision:
    provider: "main"
  web_extract:
    provider: "main"

Dies ist die mit Abstand häufigste „Meine Funktionen funktionieren stillschweigend nicht”-Falle für neue Hermes-Benutzer.

Konfigurationssystem

Hermes verfügt über ein mehrschichtiges Konfigurationssystem. Das Verständnis der Vorrangregeln ist entscheidend, da höhere Schichten niedrigere überschreiben und eine der Schichten eine globale Provider-Registry ist, die in config.yaml nicht sichtbar ist.

Aufbau der Konfigurationsdateien

Gemäß der offiziellen Dokumentation bilden die folgenden 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, hat config.yaml bei nicht-geheimen Einstellungen Vorrang.4 Die Regel lautet: - Geheimnisse (API-Schlüssel, Bot-Tokens, Passwörter) → .env - Alles andere (Modell, Terminal-Backend, Komprimierungseinstellungen, Memory-Limits, Toolsets) → config.yaml

Geheimnisse können aus config.yaml mittels Shell-artiger 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 in Ihrer Datei noch fehlen.6

Vorrang der Konfiguration

Hermes lädt die Konfiguration aus mehreren Quellen. Wenn mehrere Quellen denselben Wert setzen, gewinnt die Quelle mit der höchsten Priorität:4

  1. CLI-Argumentehermes chat --model anthropic/claude-sonnet-4 (Override pro Aufruf)
  2. Umgebungsvariablen — werden beim Prozessstart angewendet
  3. config.yaml — die primäre Einstellungsdatei
  4. .env — ausschließlich Geheimnisse
  5. Eingebaute Standardwerte — werden angewendet, wenn nichts anderes einen Wert setzt

CLI-Flags gewinnen für den jeweiligen einzelnen Aufruf immer. config.yaml ist die langfristige Quelle der Wahrheit.

Lokalisierung (v0.13.0+)

v0.13.0 fügt 7 Sprachversionen für CLI- und Gateway-Meldungen hinzu: Chinesisch (Vereinfacht), Japanisch, Deutsch, Spanisch, Französisch, Ukrainisch und Türkisch.18 Die Dokumentation ist derzeit nur in zh-Hans lokalisiert. Die Sprache wird aus den Umgebungsvariablen LC_ALL / LANG oder einem expliziten locale:-Schlüssel in config.yaml ermittelt. Englisch bleibt die Standardsprache und die Quelle der Wahrheit für jede Zeichenkette, die noch nicht von einer Übersetzung abgedeckt ist.

Profile — Mehrere isolierte Hermes-Instanzen

Profile ermöglichen mehrere isolierte Hermes-Instanzen, jede mit eigener Konfiguration, eigenen Sessions, Skills, Memory und Gateway-PID. So können Sie „Arbeits-Hermes” und „Privat-Hermes” parallel 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 Profil erhält sein eigenes HERMES_HOME (standardmäßig ~/.hermes-<name>/), sodass mehrere Profile das Gateway gleichzeitig betreiben können, ohne sich gegenseitig zu beeinträchtigen.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 ausgeführt (CLI oder Messaging-Plattform). Sie werden über ein gemeinsames COMMAND_REGISTRY in hermes_cli/commands.py verteilt, weshalb die meisten Befehle auf allen Oberflächen identisch funktionieren.9

Sitzungssteuerung

Befehl Beschreibung
/new (Alias /reset) Eine neue Sitzung starten
/clear Bildschirm löschen + neue Sitzung starten
/history Konversationsverlauf anzeigen
/save Die aktuelle Konversation speichern
/retry Die letzte Nachricht erneut versuchen
/undo Den letzten Benutzer-/Assistent-Austausch entfernen
/title <name> Einen Titel für die aktuelle Sitzung festlegen
/compress Konversationskontext manuell komprimieren
/rollback [number] Dateisystem-Checkpoints auflisten oder wiederherstellen
/stop Alle laufenden Hintergrundprozesse beenden
/queue <prompt> Einen Prompt für die nächste Runde 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-/Modell-Statusleiste umschalten
/background <prompt> (Alias /bg) Einen Prompt in einer separaten Hintergrundsitzung ausführen
/btw <question> Kurzlebige Nebenfrage (keine Tools, nicht persistent)
/plan [request] Den mitgelieferten plan-Skill laden, um einen Plan zu schreiben statt auszuführen
/branch [name] (Alias /fork) Die aktuelle Sitzung verzweigen
/goal <target> Den Agenten auf ein Ziel festlegen, damit er über mehrere Runden hinweg auf Kurs bleibt. Ralph-Loop-Pattern als erstklassiges Primitiv. Konfigurierbares Runden-Budget. Neu in v0.13.0.18

Konfiguration & Modell

Befehl Beschreibung
/config Aktuelle Konfiguration anzeigen
/model [model-name] Das aktuelle Modell anzeigen oder ändern
/provider Verfügbare Provider und aktuellen Provider anzeigen
/personality [name] Ein Persönlichkeits-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-Voice-Modus umschalten
/yolo YOLO-Modus umschalten (Bestätigungsabfragen überspringen)
/fast Fast Mode umschalten — Prioritätsverarbeitung für OpenAI- und Anthropic-Modelle (v0.9.0+)16
/debug Schnelldiagnose über alle Plattformen (v0.9.0+)16

Der Befehl /model ist das Arbeitstier für den Provider-Wechsel mitten in der 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 & Infos

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, inspizieren oder verwalten
/cron Geplante Tasks verwalten
/reload-mcp MCP-Server aus config.yaml neu laden
/plugins Installierte Plugins auflisten
/help Alle Befehle anzeigen
/usage Token-Verbrauch, Kosten, Dauer anzeigen
/insights Nutzungsanalysen anzeigen (letzte 30 Tage)
/platforms Status der Messaging-Plattformen anzeigen
/profile Aktiven Profilnamen und Home anzeigen

Dynamische Skill-Slash-Befehle

Jeder installierte Skill wird automatisch als Slash-Befehl bereitgestellt: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 in config.yaml zudem Quick Commands 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"

Tippen Sie dann /review, /deploy oder /morning in der CLI.

Präfix-Matching

Befehle unterstützen Präfix-Matching: Die Eingabe /h wird zu /help aufgelöst, /mod zu /model. Bei einem mehrdeutigen Präfix gewinnt die erste Registrierung in der Registry-Reihenfolge. Vollständige Befehlsnamen und registrierte Aliase haben immer Vorrang vor Präfix-Treffern.9

Messaging-spezifische Befehle

Einige Befehle funktionieren nur auf Messaging-Plattformen (Telegram, Discord, Slack, WhatsApp, Signal, E-Mail, Home Assistant):9

  • /status — Sitzungsinformationen anzeigen
  • /sethome (Alias /set-home) — Den aktuellen Chat als Platform Home markieren
  • /approve [session|always] — Einen ausstehenden gefährlichen Befehl genehmigen
  • /deny — Einen ausstehenden gefährlichen Befehl ablehnen
  • /update — Hermes Agent auf die neueste Version aktualisieren
  • /commands [page] — Alle Befehle und Skills durchsuchen (mit Seitenumbruch)

Und einige sind nur in der CLI verfügbar: /skin, /tools, /toolsets, /browser, /config, /cron, /skills, /platforms, /paste, /statusbar, /plugins.9

Tools & Toolsets

Hermes wird mit einer umfangreichen integrierten Tool-Registry ausgeliefert, die Websuche, Browser-Automatisierung, Terminal-Ausführung, Datei-Bearbeitung, Memory, Delegation, RL-Training, Messaging-Zustellung, Home Assistant-Integration und vieles mehr abdeckt.10 Tools sind in logische Toolsets organisiert, die pro 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 manipulieren
Browser browser_navigate, browser_snapshot, browser_vision Interaktive Browser-Automatisierung mit Text und Vision
Medien vision_analyze, video_analyze, image_generate, text_to_speech Multimodale Analyse und Generierung. video_analyze ist Gemini-first mit erweiterbarer Unterstützung für kompatible multimodale Provider (v0.13.0+).18
Agent-Orchestrierung todo, clarify, execute_code, delegate_task Planung, Klärung, Code-Ausführung, Subagent-Delegation
Memory & Recall memory, session_search Persistentes Memory + Session-Suche
Automatisierung & Zustellung cronjob, send_message Geplante Aufgaben, ausgehende Nachrichten
Integrationen ha_*, MCP-Tools, rl_* Home Assistant, MCP, RL-Training

Gängige Toolset-Namen umfassen 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 auch mitten in einer Session über /tools disable <name> und /tools enable <name> umgeschaltet werden, was die Session zurücksetzt, damit das neue Tool-Set wirksam wird.9

Terminal-Backends

Das Terminal-Tool kann Befehle in sechs verschiedenen Umgebungen ausführen:10

Backend Anwendungsfall
local Auf Ihrer Maschine 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-Workspace — 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 (empfohlen aus Sicherheitsgründen — der Agent kann seinen eigenen Code nicht modifizieren):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 überdauern installierte Pakete, Dateien und Konfigurationen mehrere Sessions.10

Alle Container-Backends laufen mit Sicherheitshärtung: schreibgeschütztes Root-Dateisystem (Docker), alle Linux-Capabilities außer DAC_OVERRIDE, CHOWN und FOWNER entfernt, keine Privilegien-Eskalation, PID-Limits (256 Prozesse), vollständige Namespace-Isolation, persistenter Workspace über Volumes.10

Hintergrundprozesse

Das Terminal-Tool unterstützt Hintergrundausführung mit expliziter Prozessverwaltung: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 Session zwischengespeichert). Alternativ können Sie SUDO_PASSWORD in ~/.hermes/.env setzen.10


Multi-Agent Kanban (v0.13.0+)

v0.13.0 macht Multi-Agent-Kollaboration zu einem erstklassigen Primitiv: ein dauerhaftes Kanban-Board, das Aufgaben, Status und Worker-Identität über Agenten und Neustarts hinweg verfolgt.18 Das Board ist das, was einem Schwarm aus Hermes-Workern ermöglicht, Arbeit tatsächlich abzuschließen, statt an toten Übergaben zu stocken.

Mechanismus Was er bewirkt
Heartbeats Jeder Worker pulsiert, solange er eine Aufgabe besitzt. Ein ausbleibender Heartbeat markiert den Worker als verdächtig und gibt die Aufgabe zur Übernahme frei.
Reclaim Ein anderer Worker kann eine verlassene Aufgabe übernehmen — mit vollem Aufgabenstatus und vorheriger Teilausgabe.
Zombie-Erkennung Worker, die sich beenden, ohne eine Aufgabe als abgeschlossen zu markieren, werden automatisch daran gehindert, neue Arbeit zu beanspruchen, sodass der Schwarm keine tote Identität ansammelt.
Halluzinations-Gate Ausgaben, die das Gate nicht bestehen, werden mit einem vermerkten Grund zurück auf das Board geschickt, anstatt als erledigt markiert zu werden.
Pro-Aufgabe max_retries Überschreiben Sie das Standard-Retry-Budget bei einer Aufgabe, von der Sie wissen, dass sie fragil ist.
Multi-Projekt-Boards Ein Hermes-Home kann mehrere unabhängige Boards beherbergen.

Das Kanban-Board passt natürlich zu /goal (Ralph-Loop mit fixiertem Ziel) auf der Zielseite und zum bestehenden delegate_task-Tool für die Spawn-Semantik. Das Ergebnis ist ein Schwarmmuster, bei dem jeder Agent eine einzige Quelle der Wahrheit darüber teilt, was als Nächstes zu tun ist, wer es tut und was feststeckt.


Skills-System

Skills sind bei Bedarf ladbare Wissensdokumente, die der Agent laden kann, wenn er sie benötigt. Sie folgen einem Muster der progressiven Offenlegung, um den Token-Verbrauch zu minimieren, und sind kompatibel mit dem offenen Standard von agentskills.io.11

Alle Skills liegen in ~/.hermes/skills/ — dem primären Verzeichnis und der Quelle der Wahrheit. Bei einer Neuinstallation werden mitgelieferte Skills aus dem Repo kopiert. Über den Hub installierte und vom Agenten 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

SKILL.md-Format

---
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

## Verifizierung
So bestätigen Sie, dass es funktioniert hat.

Bedingte Aktivierung

Skills können sich selbst ein- oder ausblenden, basierend darauf, welche Tools verfügbar sind. Dies ist besonders nützlich für Fallback-Skills — 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 jedoch einzelne Tools
requires_toolsets Skill wird ausgeblendet, wenn die aufgeführten toolsets nicht verfügbar sind
requires_tools Gleiches Verhalten, prüft jedoch einzelne Tools

Beispiel: Der eingebaute duckduckgo-search-Skill verwendet fallback_for_toolsets: [web]. Wenn FIRECRAWL_API_KEY gesetzt ist, ist das web-toolset verfügbar und der Agent verwendet web_search — der DuckDuckGo-Skill bleibt ausgeblendet. Ohne den API-Schlüssel erscheint der DuckDuckGo-Skill automatisch als Fallback.11

Vom Agenten verwaltete Skills

Der Agent kann seine eigenen Skills über das skill_manage-Tool erstellen, aktualisieren und löschen. Dies ist das prozedurale Gedächtnis des Agenten — wenn er einen nicht trivialen Workflow ausarbeitet, 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 Pfad 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

Skills aus Online-Registries durchsuchen, suchen, installieren und verwalten: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 trust)
skills-sh skills-sh/vercel-labs/agent-skills/vercel-react-best-practices Vercels öffentliches Skills-Verzeichnis
well-known well-known:https://mintlify.com/docs/.well-known/skills/mintlify URL-basierte Erkennung von Websites, die /.well-known/skills/index.json veröffentlichen
github openai/skills/k8s Direkte GitHub-Repo-/Pfad-Installationen
clawhub Drittanbieter-Skills-Marktplatz
claude-marketplace Claude-kompatible Plugin-/Marketplace-Manifeste
lobehub LobeHub-Agent-Katalog-Konvertierung

Standardmäßige GitHub-Taps (ohne Einrichtung durchsuchbar): openai/skills, anthropics/skills, VoltAgent/awesome-agent-skills, garrytan/gstack.11

Sicherheitsprüfung

Alle aus dem Hub installierten Skills durchlaufen einen Sicherheits-Scanner, der auf Datenabfluss, 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 Drittanbieter-Warnung
trusted Vertrauenswürdige Registries (openai/skills, anthropics/skills) Großzügigere 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-Scan-Urteil.11

Externe Skill-Verzeichnisse

Sie können Hermes auf zusätzliche Skill-Verzeichnisse verweisen, die zusammen mit dem lokalen gescannt werden:11

skills:
  external_dirs:
    - ~/.agents/skills
    - /home/shared/team-skills
    - ${SKILLS_REPO}/skills

Pfade unterstützen ~-Erweiterung und ${VAR}-Substitution von Umgebungsvariablen. Externe Verzeichnisse sind schreibgeschützt — wenn der Agent einen Skill erstellt oder bearbeitet, schreibt er immer in ~/.hermes/skills/. Die lokale Priorität gewinnt, falls ein Skill-Name an beiden Orten existiert.11


Persistentes Gedächtnis

Hermes verfügt über ein begrenztes, kuratiertes Gedächtnis, das über Sessions hinweg bestehen bleibt. Zwei Dateien bilden das Gedächtnis des Agenten, beide gespeichert in ~/.hermes/memories/:12

Datei Zweck Zeichenlimit
MEMORY.md Persönliche Notizen des Agenten — Umgebungsfakten, Konventionen, Erlerntes 2.200 Zeichen (~800 Token)
USER.md Benutzerprofil — Präferenzen, Kommunikationsstil, Erwartungen 1.375 Zeichen (~500 Token)

Beide werden als eingefrorener Snapshot beim Session-Start in den System-Prompt injiziert. Der Agent verwaltet sein eigenes Gedächtnis über das memory-Tool — add, replace oder remove.12

Eingefrorenes Snapshot-Muster: Die Injektion in den System-Prompt wird einmal beim Session-Start erfasst und ändert sich während der Session nicht mehr. Dies ist beabsichtigt — es bewahrt den Prefix-Cache des LLM für Performance. Während einer Session vorgenommene Änderungen werden sofort auf Festplatte persistiert, erscheinen aber erst beim nächsten Session-Start im System-Prompt.12

Was zu speichern ist

Speichern Sie diese (der Agent tut dies proaktiv):12 - Benutzerpräferenzen: „Ich bevorzuge TypeScript gegenüber JavaScript” → user - Umgebungsfakten: „Dieser Server läuft mit Debian 12 und PostgreSQL 16” → memory - Korrekturen: „Verwende kein sudo für Docker-Befehle, der Benutzer ist in der docker-Gruppe” → memory - Konventionen: „Projekt verwendet Tabs, 120-Zeichen-Zeilenbreite, Google-style Docstrings” → memory - Abgeschlossene Arbeit: „Datenbank am 15.01.2026 von MySQL zu PostgreSQL migriert” → memory

Diese überspringen:12 - Triviale/offensichtliche Informationen - Leicht wieder auffindbare Fakten - Rohdaten-Dumps (zu groß für das Gedächtnis) - Session-spezifische Ephemera - Informationen, die bereits in Kontextdateien enthalten sind

Session-Suche

Über MEMORY.md und USER.md hinaus kann der Agent seine vergangenen Konversationen mit dem session_search-Tool durchsuchen. Alle CLI- und Messaging-Sessions werden in SQLite (~/.hermes/state.db) mit FTS5-Volltextsuche gespeichert. Anfragen liefern relevante vergangene Konversationen mit Gemini-Flash-Zusammenfassung zurück.12

Funktion Persistentes Gedächtnis Session-Suche
Kapazität ~1.300 Token insgesamt Unbegrenzt (alle Sessions)
Geschwindigkeit Sofort (im System-Prompt) Erfordert Suche + LLM-Zusammenfassung
Anwendungsfall Schlüsselfakten immer verfügbar Bestimmte vergangene Konversationen finden
Verwaltung Manuell vom Agenten kuratiert Automatisch — alle Sessions gespeichert
Token-Kosten Fest pro Session (~1.300 Token) Bei Bedarf

Externe Memory Provider

Für tieferes persistentes Gedächtnis über MEMORY.md und USER.md hinaus liefert Hermes acht externe Memory-Provider-Plugins mit: Honcho, OpenViking, Mem0, Hindsight, Holographic, RetainDB, ByteRover und Supermemory.12

Externe Provider laufen neben dem eingebauten Gedächtnis (ersetzen es nie) und fügen Funktionen wie Knowledge Graphs, semantische Suche, automatische Faktenextraktion und sessionübergreifende Benutzermodellierung hinzu: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)

Nur ein externer Provider kann gleichzeitig aktiv sein. Das eingebaute Gedächtnis ist immer aktiv.6

Session Auto-Resume (v0.13.0+)

v0.13.0 macht Unterbrechungen mitten im Agentenlauf überlebbar. Das gateway nimmt unterbrochene Sessions nach einem Neustart automatisch wieder auf; /update-Neustarts erhalten den Session-Status durch das Upgrade hindurch; Reloads von Quelldateien während der Entwicklung halten die aktive Session am Leben, anstatt eine neue zu erzwingen.18 Praktischer Effekt: Lang laufende gateway-Arbeiten und cron-gesteuerte Jobs setzen ihr Kontextfenster nicht mehr zurück, wenn der Prozess neu startet.

Checkpoints v2 (v0.13.0+)

Die Zustandspersistenz ist in v0.13.0 als Single-Store-Design neu geschrieben — mit echtem Pruning, Disk-Schutzmaßnahmen und ohne verwaiste Shadow-Repos.18 Das frühere checkpoint-System sammelte über lang laufende profile hinweg Zustand auf der Festplatte an; der v2-Store setzt eine harte Obergrenze für lokalen checkpoint-Speicher und entfernt die duplizierte Buchhaltung, die dieses Wachstum antrieb. Es ist keine benutzerseitige Konfigurationsänderung erforderlich; der nächste checkpoint-Write verwendet 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 eincodierte Standardidentität.13

Hermes legt automatisch eine Standard-SOUL.md unter ~/.hermes/SOUL.md (oder $HERMES_HOME/SOUL.md bei benutzerdefinierten Profilen) an. Bestehende Benutzerdateien werden nie überschrieben. Hermes lädt SOUL.md ausschließlich aus HERMES_HOME — im aktuellen Arbeitsverzeichnis wird nicht gesucht. Dadurch bleibt die Persönlichkeit projektübergreifend vorhersehbar.13

Was in SOUL.md gehört

Verwenden Sie sie für dauerhafte Vorgaben zu Stimme und Persönlichkeit:13 - Tonfall - Kommunikationsstil - Direktheitsgrad - Standard-Interaktionsstil - Was stilistisch zu vermeiden ist - Wie Hermes mit Unsicherheit, Meinungsverschiedenheiten und Mehrdeutigkeit umgehen soll

Weniger geeignet ist sie 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

Dies ist die wichtigste Unterscheidung im Identitätsmanagement von Hermes:13

SOUL.md — Identität, Tonfall, Stil, Kommunikationsvorgaben, Verhalten auf Persönlichkeitsebene.

AGENTS.md — Projektarchitektur, Coding-Konventionen, Tool-Präferenzen, repo-spezifische Workflows, Befehle, Ports, Pfade, Deployment-Hinweise.

Eine nützliche Faustregel: 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

Eingebaute Persönlichkeiten

Hermes liefert eingebaute Persönlichkeiten mit, zu denen Sie mit /personality wechseln können:13

Name Beschreibung
helpful Freundlicher Allzweckassistent
concise Kurze, prägnante Antworten
technical Detaillierter, präziser technischer Experte
creative Innovatives, unkonventionelles Denken
teacher Geduldiger Lehrer mit klaren Beispielen
kawaii Niedliche Ausdrücke, Glitzer, Begeisterung
catgirl Neko-chan mit katzenartigen Ausdrücken
pirate Captain Hermes, technikaffiner Freibeuter
shakespeare Bardische Prosa mit dramatischem Flair
surfer Entspannte Bro-Vibes
noir Hartgesottene Detektiv-Erzählweise
uwu Maximale Niedlichkeit mit Uwu-Speak
philosopher Tiefgründige Betrachtungen zu 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 Grundstimme. /personality ist eine Überlagerung auf Sitzungsebene.13 Pflegen Sie eine pragmatische Standard-SOUL.md und nutzen Sie dann /personality teacher für ein Lerngespräch oder /personality creative zum Brainstorming.


Nous Tool Gateway (v0.10.0+)

Seit Hermes Agent v0.10.0 (16.04.2026) erhalten zahlende Nous Portal-Abonnenten verwalteten Zugang zu einer kuratierten Auswahl von Tools über ihre bestehenden Portal-Anmeldedaten — keine zusätzlichen API-Schlüssel zu verwalten.20 Die Hermes CLI selbst bleibt MIT-lizenziert und vollständig Open Source. Geändert hat sich, dass Ihre Portal-Authentifizierung nun mehr als nur Modell-Inferenz freischaltet.

Was im Gateway enthalten ist

Tool Anbieter Anwendungsfall
Web-Suche 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 Sprachausgabe auf Messaging-Gateways
Browser-Automatisierung Browser Use Headless-Navigation und Scraping

Funktionsweise

Das Gateway ist pro Tool optional aktivierbar über ein neues Konfigurationsfeld use_gateway. Wenn Sie Portal-Anmeldedaten in hermes auth haben und das Gateway für ein Tool aktivieren, werden die Aufrufe dieses Tools über das Portal geleitet. Andernfalls wird Ihr direkter API-Schlüssel (sofern 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

Laufzeit-Vorrang: Wenn das Gateway verfügbar ist und ein Tool use_gateway: true gesetzt hat, bevorzugt Hermes das Gateway, selbst wenn Sie zusätzlich einen direkten API-Schlüssel konfiguriert haben. Das ist für die Abrechnung relevant — Gateway-Aufrufe werden Ihrem Portal-Abonnement belastet, nicht dem Guthaben Ihres direkten API-Schlüssels.

Aktivierung des Gateways

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 aus den Portal-OAuth-Anmeldedaten erkannt, die Sie bereits in hermes auth hinterlegt haben.

Preise und Zugang

Preise und Tarifnamen werden auf der Preisseite des Nous Portal veröffentlicht (https://portal.nousresearch.com/pricing). In dieser Anleitung werden die Tarife nicht aufgeführt, da sie in der Verantwortung des Portal-Produkts liegen, 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 für die aktuellen Tarife.

Deprecation-Hinweis

  • Die Umgebungsvariable HERMES_ENABLE_NOUS_MANAGED_TOOLS wurde in v0.10.0 entfernt. Verwaltete Tools werden nun über das Konfigurationsfeld use_gateway pro Tool aktiviert und sind an den Status Ihres Portal-Abonnements gekoppelt.20

Einordnung: Was dieses Release nicht ist

Die Hermes Agent CLI ist nicht hinter einem Abonnement gesperrt. Das Projekt ist weiterhin MIT-lizenziert, alle Kernfunktionen (CLI, Skills, Memory, Messaging-Gateway, Cron, MCP, lokales Dashboard, BYOK für jeden Anbieter) funktionieren durchgängig, ohne dass Sie irgendjemanden bezahlen müssen. v0.10.0 fügt einen Komfortpfad für Benutzer hinzu, die ohnehin schon für Nous Portal zahlen — am freien Pfad wird nichts weggenommen.


Messaging Gateway

Hermes kann als langlaufender Gateway-Prozess laufen, der aus einem einzigen Prozess heraus Verbindungen zu 20 Messaging-Plattformen herstellt: Telegram, Discord, Slack, WhatsApp, Signal, SMS, E-Mail, Home Assistant, Mattermost, Matrix, DingTalk, Feishu/Lark, WeCom, Weixin (WeChat), BlueBubbles (iMessage), QQBot, Microsoft Teams, Tencent Yuanbao, Google Chat sowie einen generischen Webhook-Adapter.3191718 v0.9.0 ergänzte iMessage via BlueBubbles (automatische Webhook-Registrierung, Setup-Assistent, Crash-Resilienz) und native WeChat-Unterstützung über die iLink Bot API mit WeCom-Callback-Modus für Unternehmens-Apps.16 v0.11.0 fügte QQBot hinzu.19 v0.12.0 ergänzte Microsoft Teams und Tencent Yuanbao.17 v0.13.0 nahm Google Chat als 20. Plattform auf — auf derselben pluggable Adapter-Architektur; IRC und Microsoft Teams wurden ebenfalls auf das neue Adapter-Pattern mit generischen Plugin-Hooks env_enablement_fn / cron_deliver_env_var migriert.18

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 Anbindung jeder Plattform: API-Tokens, Bot-IDs, Channel-Zuordnungen, Allowlists.6

Wie Nachrichten fließen

Aus der vorgelagerten Architekturdokumentation: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 durchläuft dieselbe AIAgent-Konversationsschleife wie die CLI. Deshalb funktionieren Slash-Befehle an beiden Stellen identisch, und deshalb kann ein in Telegram geplanter Cron-Job seine Ausgabe an Discord ausliefern — der Plattformunterschied liegt nur am Rand.3

Benutzerautorisierung & 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 kommunizieren. Ein Benutzer sendet einen Pairing-Code von seiner Messaging-Plattform; Sie genehmigen ihn mit hermes pairing approve; ab diesem Zeitpunkt ist er autorisiert.6


Geplante Aufgaben (Cron)

Hermes verfügt über ein erstklassiges Cron-System, in dem Jobs Agent-Aufgaben sind, keine Shell-Befehle. Jeder geplante Job läuft durch einen frischen AIAgent mit dem konfigurierten Prompt, optional angehängten Skills, und liefert die Ergebnisse an eine beliebige 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 konversationell direkt in einem Messaging-Chat:

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 werden in JSON persistiert 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 Agenten zur Verfügung:

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 einen beliebigen Provider oder Endpunkt 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 Automatische Erkennung des besten verfügbaren Providers
nous / openrouter / etc. nicht gesetzt Erzwingt diesen Provider, verwendet dessen Authentifizierung
beliebig gesetzt Verwendet den benutzerdefinierten Endpunkt direkt (Provider wird ignoriert)

summary_model muss eine Kontextlänge unterstützen, die mindestens so groß ist wie die Ihres Hauptmodells, da es den vollständigen Mittelteil der Konversation zur Komprimierung erhält.4

Budget-Druck-Warnungen

Wenn der Agent an einer komplexen Aufgabe mit vielen Tool-Aufrufen arbeitet, kann er sein Iterationsbudget (Standard: 90 Durchläufe) verbrauchen, ohne es zu bemerken. Der Budget-Druck warnt das Modell automatisch:4

Schwellwert Stufe Was das Modell sieht
70 % Hinweis [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 verfügt über zwei Timeout-Schichten, die sich für lokale Provider (localhost, LAN-IPs) automatisch anpassen:4

Timeout Standard Lokale Provider Env-Variable
Socket-Read-Timeout 120 s Automatisch auf 1800 s erhöht HERMES_STREAM_READ_TIMEOUT
Erkennung veralteter Streams 180 s Automatisch deaktiviert HERMES_STREAM_STALE_TIMEOUT
API-Aufruf (nicht streaming) 1800 s Unverändert HERMES_API_TIMEOUT

Der Socket-Read-Timeout wird für lokale Endpunkte auf 30 Minuten erhöht, weil lokale LLMs bei großen Kontexten Minuten für das Prefill benötigen können, bevor das erste Token erzeugt wird.4


Lokales Web-Dashboard (v0.9.0+)

Ein browserbasiertes Dashboard zur lokalen Verwaltung Ihres Hermes Agent. Konfigurieren Sie Einstellungen, überwachen Sie Sessions, 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 Einstiegspfad für neue Benutzer, die eine GUI bevorzugen.

Hintergrundprozess-Überwachung (v0.9.0+)

watch_patterns ermöglicht es Ihnen, Muster zur Überwachung in der Ausgabe von Hintergrundprozessen festzulegen und in Echtzeit benachrichtigt zu werden, wenn diese übereinstimmen.16 Überwachen Sie auf Fehler, warten Sie auf bestimmte Ereignisse („listening on port”) oder beobachten Sie Build-Logs — alles ohne Polling. Kombiniert mit notify_on_complete aus v0.8.0 (das bei Abschluss von Hintergrundaufgaben benachrichtigt) verfügt Hermes nun über eine vollständige Beobachtungsschicht für Hintergrundprozesse.15

Pluggable Context Engine (v0.9.0+)

Das Kontextmanagement ist nun ein steckbarer Slot über hermes plugins. Tauschen Sie benutzerdefinierte context engines ein, die steuern, was der Agent in jedem Durchlauf sieht — Filterung, Zusammenfassung oder domänenspezifische Kontexteinspeisung.16 Dies entkoppelt die Kontextstrategie von der Kern-Agent-Schleife und ermöglicht eine projekt- oder domänenspezifische Kontextanpassung.

Backup & Wiederherstellung (v0.9.0+)

hermes backup erstellt ein vollständiges Archiv Ihrer Konfiguration, Sessions, Skills und Speicher. hermes import stellt aus einem Backup-Archiv wieder her.16 Verwenden Sie dies, um zwischen Maschinen zu migrieren, vor größeren Änderungen Snapshots zu erstellen oder eine bekannt funktionierende Konfiguration mit Teamkollegen 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, Voice-Backend-Unterstützung und der /image-Befehl funktionieren on-device.16

Security Hardening (v0.13.0+)

v0.13.0 hat 8 P0-Sicherheitsprobleme geschlossen und einen Standard zugunsten des Benutzers geändert.18

Fix Was sich geändert hat
Secret-Redaction standardmäßig aktiviert Zuvor opt-in. Logs und hermes debug share-Uploads schwärzen Secrets, sofern dies nicht explizit deaktiviert wird. v0.12.0 hatte die Redaction nach Berichten über Payload-Korruption standardmäßig deaktiviert; v0.13.0 reaktiviert sie als sichereren Standard.
Discord Cross-Guild-DM-Bypass (CVSS 8.1) Discord-Rollen-Allowlists sind jetzt guild-scoped, wodurch ein Pfad geschlossen wird, bei dem eine Benutzerrolle in einer Guild DMs über alle Guilds hinweg autorisierte.
WhatsApp-Standardbeschränkungen Der WhatsApp-Adapter weist Fremde standardmäßig ab und antwortet niemals im Self-Chat.
MCP OAuth TOCTOU-Fenster Schließt eine Race Condition während des Credential-Save in MCP-OAuth-Flows.
CLI auth.json TOCTOU Schließt ein analoges TOCTOU-Fenster im Credential-Writer für den CLI-Auth-Store.
Browser SSRF Floor Hybrides Routing erzwingt einen Cloud-Metadata-SSRF-Floor gegen Anfragen, die 169.254.169.254 und Äquivalente erreichen wollen.
Cron-Prompt-Injection-Scanning Zusammengesetzte Prompts (einschließlich geladener Skill-Inhalte) werden vor der Ausführung des Cron-Jobs auf Prompt-Injection gescannt.
hermes debug share-Redaction Debug-Share-Uploads schwärzen Log-Inhalte zum Upload-Zeitpunkt, nicht nur zum Schreibzeitpunkt.

Wenn Sie eine Hermes-Bereitstellung pflegen, behandeln Sie v0.13.0 als sicherheitsrelevantes Upgrade, nicht nur als Feature-Drop. Der Discord-Cross-Guild-Bypass und die beiden TOCTOU-Fenster sind auf früheren Versionen ausnutzbar.


Architektur für Praktiker

Dieser Abschnitt richtet sich an Personen, die verstehen möchten, was unter der Haube passiert, um es zu debuggen, zu erweitern oder über die Performance zu urteilen. Es handelt sich um eine Synthese der vorgelagerten 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 angepasst aus der vorgelagerten Architekturdokumentation.3

„47 tools / 20 toolsets” vs. „28 tools” in Ihrem Banner. Die Zahl „47 tools” ist die Gesamtzahl der Tool-Registry des vorgelagerten Repositorys — jedes Tool, für das Hermes Quellcode mitliefert, über alle toolsets hinweg. Ihr tatsächlich laufender CLI zeigt im Startbanner eine kleinere Zahl an (die Installation, gegen die ich diese Anleitung verifiziert habe, meldet 28 tools / 89 skills). Das ist kein Fehler. Viele toolsets sind opt-in und müssen explizit in config.yaml unter toolsets: aktiviert werden — Adapter für Messaging-Plattformen, Browser-Automatisierung, schwerere Scraping-Tools und so weiter. Die Gesamtzahl der Registry beschreibt „was verfügbar ist”; die Bannerzahl beschreibt „was im aktuellen profile aktiviert ist.” Prüfen Sie mit hermes tools --list, welche toolsets aktiv sind, und aktivieren oder deaktivieren Sie einzelne toolsets über den toolsets:-Block in ~/.hermes/config.yaml (oder /tools list / /tools enable <name> / /tools disable <name> innerhalb einer laufenden Session — das Entfernen eines Tools löst einen Session-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 Custom-Endpunkte, jeder OpenAI-kompatible Server
codex_responses OpenAI Codex (über ChatGPT OAuth)
anthropic_messages Anthropic API (nativ), Anthropic OAuth, Anthropic-kompatible Proxys

Der Resolver runtime_provider.py ordnet (provider, model)-Tupel auf (api_mode, api_key, base_url) für mehr als 18 Provider ab und kümmert sich um OAuth-Flows, Credential-Pools und Alias-Auflösung.3

Datenfluss durch eine CLI-Session

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

Aus der vorgelagerten Architekturseite.3

Reihenfolge des Prompt-Aufbaus

Der Prompt-Stack umfasst:13

  1. SOUL.md (Agent-Identität — oder integrierter Fallback, falls nicht verfügbar)
  2. Tool-bewusste Verhaltensanleitung
  3. Memory/Benutzerkontext (MEMORY.md, USER.md)
  4. Skills-Anleitung
  5. Kontext-Dateien (AGENTS.md, .cursorrules)
  6. Zeitstempel
  7. Plattformspezifische Formatierungshinweise
  8. Optionale System-Prompt-Overlays wie /personality

SOUL.md ist das Fundament — alles andere baut darauf auf.13

Session-Speicher

SQLite-basierter Session-Speicher mit FTS5-Volltextsuche. Sessions verfügen über Lineage-Tracking (Parent/Child über Komprimierungen hinweg), pro-Plattform-Isolation sowie atomare Schreibvorgänge mit Konfliktbehandlung.3

Plugin-System

Drei Discovery-Quellen: ~/.hermes/plugins/ (Benutzer), .hermes/plugins/ (Projekt) und pip-Entry-Points. Plugins registrieren Tools, Hooks und CLI-Befehle über eine 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

Aus der vorgelagerten Architekturseite:3

Prinzip Was es in der Praxis bedeutet
Prompt-Stabilität Der System-Prompt ändert sich nicht mitten in der Konversation. Keine Cache-brechenden Mutationen außer durch explizite Benutzeraktionen (/model)
Beobachtbare Ausführung Jeder Tool-Aufruf ist für den Benutzer über Callbacks sichtbar. Fortschrittsmeldungen im CLI (Spinner) und im gateway (Chat-Nachrichten)
Unterbrechbar API-Aufrufe und Tool-Ausführung können während des Vorgangs durch Benutzereingaben oder Signale abgebrochen werden
Plattformunabhängiger Kern Eine einzige AIAgent-Klasse bedient CLI, gateway, ACP, Batch und API-Server. Plattformunterschiede leben 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 gleichzeitig

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 zudem automatisch die Legacy-Verzeichnisse ~/.clawdbot und ~/.moldbot) und schreibt nach ~/.hermes.6

Direkt importiert (mehr als 30 Kategorien): SOUL.md, MEMORY.md, USER.md, AGENTS.md, skills aus 4 Quellverzeichnissen, Standardmodell, Custom Provider, MCP-Server, Tokens und Allowlists für Messaging-Plattformen (Telegram, Discord, Slack, WhatsApp, Signal, Matrix, Mattermost), Agent-Defaults (Reasoning-Aufwand, Komprimierung, Human-Delay, Zeitzone, Sandbox), Session-Reset-Richtlinien, Approval-Regeln, TTS-Konfiguration, Browser-Einstellungen, Tool-Einstellungen, Exec-Timeout, Befehls-Allowlist, gateway-Konfiguration sowie API-Schlüssel aus 3 Quellen.6

Archiviert zur manuellen Überprüfung: cron-Jobs, Plugins, Hooks/Webhooks, Memory-Backend (QMD), Skills-Registry-Konfiguration, UI/Identität, Logging, Multi-Agent-Setup, Channel-Bindings, IDENTITY.md, TOOLS.md, HEARTBEAT.md, BOOTSTRAP.md.6

Die Auflösung der API-Schlüssel prüft drei Quellen in priorisierter Reihenfolge: Config-Werte → ~/.openclaw/.envauth-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

  1. Niedrige Ausgabengrenze (max_tokens) auf dem Server — SGLang verwendet standardmäßig 128 Tokens pro Antwort. Setzen Sie --default-max-tokens auf dem Server oder konfigurieren Sie model.max_tokens in config.yaml.
  2. Kontext erschöpft — Das Modell hat sein Kontextfenster gefüllt. Erhöhen Sie model.context_length oder 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

  1. Setzen Sie ANTHROPIC_API_KEY in ~/.hermes/.env und führen Sie hermes chat --provider anthropic --model claude-sonnet-4-6 aus
  2. Führen Sie hermes model aus und wählen Sie Anthropic — Hermes verwendet den Credential Store von Claude Code, sofern verfügbar
  3. 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-07 Leitfaden v1.5: v0.13.0 (7. Mai 2026) — das Tenacity-Release hinzugefügt. Schlagzeile: ein langlebiges Multi-Agent-Kanban-Board (Heartbeat, Reclaim, Zombie-Erkennung, Halluzinations-Gate, max_retries pro Aufgabe, Boards für mehrere Projekte), das Schwärme zu einer erstklassigen Primitive macht statt zu einem Delegationsmuster. Der /goal-Befehl fixiert den Agenten über Turns hinweg auf ein Ziel (Ralph-Loop-Muster als Slash-Befehl). Neues video_analyze-Tool, Gemini-zuerst mit erweiterbarer Unterstützung kompatibler Modelle. xAI Custom Voices TTS-Provider mit Voice Cloning. i18n in 7 Sprachen (zh-Hans, ja, de, es, fr, uk, tr) für CLI und Gateway-Meldungen; Dokumentation nur zh-Hans. Google Chat als 20. Messaging-Plattform über das pluggable Adapter-Muster; IRC + Microsoft Teams auf dasselbe Muster migriert. ProviderProfile ABC + plugins/model-providers/ für pluggable Drittanbieter-Provider ohne Core-Änderungen. Sitzungs-Auto-Resume über Gateway-Neustart, /update und Source-File-Reload hinweg. Checkpoints v2 als Neuschreibung mit Single-Store-Design, echtem Pruning und Disk-Schutzgrenzen. Acht P0-Sicherheitsschließungen: Secret-Redaction standardmäßig aktiv, 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 Script-Only-Modus, Plattform-Allowlists in Slack/Telegram/Mattermost/Matrix/DingTalk, MCP-Erweiterungen (SSE-Transport, OAuth-Forwarding, Image-MEDIA-Tags). Statistik seit v0.12.0: 864 Commits, 588 gemergte PRs, 829 geänderte Dateien, 295 Community-Contributors, 282 geschlossene Issues (13 P0, 36 P1). 18
2026-05-06 Leitfaden v1.4: v0.12.0 (30. April 2026) — das Curator-Release hinzugefügt. Schlagzeile: ein autonomer Hintergrund-Curator, der auf dem Cron-Ticker des Gateways läuft (7-Tage-Standardzyklus), die Skill-Bibliothek anhand einer Rubrik bewertet, tote Skills entfernt, verwandte Skills konsolidiert und Berichte pro Lauf schreibt — Hermes pflegt sich zwischen aktiven Sitzungen selbst. Self-Improvement-Loop aufgewertet mit rubrikbasierter Bewertung, Active-Update-Bias, korrekter Runtime-Vererbung und scoped Toolsets, die auf Memory und Skills beschränkt sind. Vier neue Inference-Provider: GMI Cloud, Azure AI Foundry, MiniMax OAuth und Tencent Tokenhub. LM Studio zur First-Class-Komponente befördert. Remote-Modellkatalog-Manifeste werden jetzt ohne Releases automatisch aktualisiert. Zwei neue Messaging-Plattformen: Microsoft Teams (19., über pluggable Gateway-Architektur) und Tencent Yuanbao (18., natives 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 von optional auf 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-Befehl, pluggable Busy-Indicator-Stile. Sichtbarer TUI-Kaltstart um ca. 57% durch Lazy-Agent-Init und Lazy-Imports verkürzt. Sicherheit: Secret-Redaction standardmäßig deaktiviert, um Payload-Korruption zu vermeiden; harte Blocklist für nicht wiederherstellbare Befehle. Statistik: 1.096 Commits, 550 gemergte PRs, 213 Community-Contributors. 17
2026-04-25 Leitfaden v1.3: v0.11.0 (23. April 2026) — das Interface-Release hinzugefügt. Vollständiges React/Ink-Rewrite der interaktiven TUI mit einem Python JSON-RPC-Backend (tui_gateway); sticky Composer, Live-Streaming mit OSC-52-Clipboard-Support, stabile Picker-Keys, Statusleiste mit Stoppuhr pro Turn und Git-Branch, /clear-Bestätigung, Light-Theme-Preset, Subagent-Spawn-Observability-Overlay. Pluggable Transport-Architektur — Formatkonvertierung und HTTP-Transport in agent/transports/ ausgelagert für sauberere Provider-Verkabelung. Natives AWS Bedrock über die Converse API. Fünf neue Inference-Pfade: 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 die ChatGPT-Codex-OAuth ohne separaten API-Key erreichbar. QQBot (17. Messaging-Plattform) mit QR-Scan-Setup und Streaming. Erweiterung der Plugin-Oberfläche: Slash-Befehle, Tool-Dispatch, Ausführungsblockierung, Ergebnistransformation. /steer <prompt> — Agenten-Nudges während des Laufs, die eine Notiz einfügen, die der laufende Agent nach seinem nächsten Tool-Call sieht, ohne den Turn zu unterbrechen oder den Prompt-Cache zu zerstören. Shell-Hooks verbinden Skripte als Lifecycle-Hooks ohne Python-Plugins. Webhook-Direct-Delivery-Modus leitet Payloads direkt an einen Plattform-Chat weiter und umgeht den Agenten für Fan-Out. Intelligentere Delegation mit Orchestrator-Rollen, konfigurierbarer Spawn-Tiefe und Datei-Koordination. Dashboard erhält ein Plugin-System, Live-Theme-Wechsel, i18n und Mobile-Responsiveness. Statistik seit v0.9.0: 1.556 Commits, 761 gemergte PRs, 1.314 geänderte Dateien, 224.174 Einfügungen, 29 Community-Contributors. 19
2026-04-16 Leitfaden v1.2: v0.10.0 — Nous Tool Gateway hinzugefügt. Zahlende Nous Portal-Abonnenten erhalten jetzt Zugriff auf verwaltete Tools (Firecrawl Web-Suche, FAL / FLUX 2 Pro Bildgenerierung, OpenAI TTS, Browser Use Browser-Automatisierung) ohne zusätzliche API-Keys. Opt-in pro Tool über das neue use_gateway-Konfigurationsfeld. Die Laufzeit bevorzugt Gateway gegenüber direkten API-Keys, wenn beide konfiguriert sind. HERMES_ENABLE_NOUS_MANAGED_TOOLS-Umgebungsvariable entfernt. Hermes Agent CLI bleibt MIT-lizenziert und vollständig kostenlos. 20
2026-04-13 Leitfaden v1.1: Funktionen von v0.8.0 und v0.9.0 hinzugefügt. Lokales Web-Dashboard, /fast-Modus, iMessage + WeChat-Plattformen (insgesamt 16), Hintergrundprozess-Monitoring (watch_patterns), pluggable 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 Leitfaden v1.0: Erstrelease zu Hermes Agent v0.7.0. Provider-Authentifizierung, Konfiguration, CLI, Slash-Befehle, Tools, Skills, Memory, Gateway, Cron, MCP, Komprimierung, Architektur, OpenClaw-Migration, Troubleshooting, FAQ.

Referenzen


  1. Nous Research, “Hermes Agent” Projekt-README 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. 

  2. Nous Research, “AI Providers” in der Hermes Agent Dokumentation. Primärquelle für die vollständige Provider-Liste, Authentifizierungsmethoden pro Provider (Nous Portal OAuth, Codex Device Code, GitHub Copilot Token-Typen, Anthropic Drei-Methoden-Authentifizierung, chinesische AI-Provider, Hugging Face Routing, benutzerdefinierte Endpunkte), die drei Authentifizierungspfade (API Schlüssel in .env, OAuth via hermes model, benutzerdefinierter Endpunkt in config.yaml), die /model Slash-Command-Syntax (einschließlich custom:name:model), Ollama/vLLM/SGLang/llama.cpp/LM Studio Setup-Vorlagen, WSL2-Netzwerkanweisungen, Kontextlängen-Erkennungskette, Fallback-Modellkonfiguration, Smart Model Routing und benannte benutzerdefinierte Provider. Alle providerspezifischen Umgebungsvariablennamen, Token-Typen, Base-URL-Überschreibungen und Modellbezeichner in diesem Beitrag stammen von dieser Seite. 

  3. Nous Research, “Architecture” im Hermes Agent Entwicklerhandbuch. Primärquelle für das Systemübersichtsdiagramm, die Verzeichnisstruktur, den Datenfluss durch CLI Session- und Gateway-Nachrichtenpfade, die drei API Modi (chat_completions, codex_responses, anthropic_messages), Provider-Auflösung via runtime_provider.py, Session-Persistenz via SQLite + FTS5, Plattformliste des Messaging-Gateways, Plugin-System-Discovery-Quellen, Profilisolierung und die sechs Designprinzipien. 

  4. Nous Research, “Configuration” im Hermes Agent Benutzerhandbuch. Primärquelle für die Konfigurationsverzeichnisstruktur, die config.yaml vs. .env Regel (“config.yaml gewinnt bei nicht geheimen Einstellungen”), die Konfigurationspräzedenzkette (CLI Argumente → env → config.yaml → .env → Standardwerte), Kontextkomprimierungs-Einstellungen (compression.* Block mit threshold, target_ratio, protect_last_n, summary_model, summary_provider, summary_base_url), Budget-Druck-Schwellenwerte (70 % Vorsicht, 90 % Warnung), Streaming-Timeouts mit lokaler Provider-Auto-Anpassung und den vollständigen Hilfsmodell-Konfigurationsblock (auxiliary: mit vision, web_extract, approval, compression, session_search, skills_hub, mcp, flush_memories Slots). Die Beschränkung von "main" Provider auf Auxiliary/Compression/Fallback Slots stammt ebenfalls von dieser Seite. 

  5. Nous Research, “Migrate from OpenClaw” in den Hermes Agent Guides. Quelle für den OpenClaw → Hermes Migrationsablauf. 

  6. Nous Research, “CLI Commands Reference” in der Hermes Agent Referenzdokumentation. Primärquelle für jeden in diesem Beitrag dokumentierten Top-Level CLI Befehl, 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 update und hermes uninstall. Alle Subcommand-Flags, Optionsbeschreibungen, Credential-Pool-Verhalten, Log-Filter-Syntax, OpenClaw-Migrationsflags, Profilverwaltungsbefehle und Service-Installationsbefehle in diesem Beitrag stammen von dieser Seite. 

  7. Nous Research, “Installation” im Hermes Agent Getting-Started-Guide. Primärquelle für den Einzeiler-Installer-Befehl, das Verhalten des Installers (Voraussetzungen, Plattformunterstützung, Termux-Auto-Erkennung, Windows/WSL2-Anforderungen), die Tabelle der optionalen Extras, die manuellen Installationsschritte und die Verifikationsbefehle. 

  8. Nous Research, “CLI Commands Reference” — siehe insbesondere den Abschnitt hermes dump, der das Ausgabeformat des Befehls beschreibt (Header, Umgebung, Identität, Modell, Terminal, API Schlüssel, Funktionen, Services, Workload, Config-Überschreibungen) und den vorgesehenen Einsatz zum Teilen von Diagnosedaten. 

  9. 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 CLI vs. Messaging, dynamische Skill-Slash-Befehle, Quick Commands in config.yaml, Präfix-Matching-Verhalten und die Messaging-only Befehle (/status, /sethome, /approve, /deny, /update, /commands). 

  10. Nous Research, “Tools & Toolsets” im Hermes Agent Benutzerhandbuch. Primärquelle für die Tool-Kategorieübersicht, Toolset-Nutzungsbefehle, die sechs Terminal-Backends (local, docker, ssh, singularity, modal, daytona), Container-Konfiguration (cpu, memory, disk, persistent), Sicherheitshärtung für Container, Hintergrundprozessverwaltung API und Sudo-Unterstützung. 

  11. Nous Research, “Skills System” im Hermes Agent Benutzerhandbuch. Primärquelle für progressive Disclosure, das SKILL.md Format, plattformspezifische Skills, bedingte Aktivierung (fallback_for_toolsets, requires_toolsets, fallback_for_tools, requires_tools), agent-verwaltete Skills via skill_manage, die Skill-Hub-Befehle und Quellenliste (official, skills-sh, well-known, github, clawhub, claude-marketplace, lobehub), Sicherheitsscans und Vertrauensstufen sowie externe Skill-Verzeichnisse. 

  12. Nous Research, “Persistent Memory” im Hermes Agent Benutzerhandbuch. Primärquelle für die MEMORY.md / USER.md Zeichenlimits, das Pattern für eingefrorene Snapshots, Memory-Tool-Aktionen (add, replace, remove), was zu speichern vs. zu überspringen ist, den Vergleich Memory vs. Session-Suche und die Liste der acht externen Memory-Provider (Honcho, OpenViking, Mem0, Hindsight, Holographic, RetainDB, ByteRover, Supermemory). 

  13. Nous Research, “Personality & SOUL.md” im Hermes Agent Benutzerhandbuch. Primärquelle für das SOUL.md Verhalten (lebt in HERMES_HOME, wird nie überschrieben, Slot #1 im System-Prompt, sicherheitsgescannt vor Einbindung), die Unterscheidung SOUL.md vs. AGENTS.md, die Liste der eingebauten Persönlichkeiten (14 Persönlichkeiten von helpful bis hype), benutzerdefinierte Persönlichkeiten in config.yaml, das /personality Overlay-Pattern und die vollständige Reihenfolge der Prompt-Stack-Zusammenstellung. 

  14. Nous Research, “Use MCP with Hermes” und MCP Config Reference in den Hermes Agent Guides und Referenzen. Quelle für das mcp_servers: Konfigurationsformat in config.yaml mit den Feldern command, args, env

  15. Hermes Agent v0.8.0 Release Notes. 8. April 2026. Auto-Benachrichtigungen für Hintergrundprozesse, kostenloses MiMo v2 Pro auf Nous Portal, Live-/model-Switching plattformübergreifend, Google AI Studio nativer Provider, Qwen OAuth, inaktivitätsbasierte Timeouts, Approval-Buttons auf Slack/Telegram, MCP OAuth 2.1 PKCE, zentralisiertes Logging, Erweiterung des Plugin-Systems. 

  16. Hermes Agent v0.9.0 Release Notes. 13. April 2026. Lokales Web-Dashboard, Fast Mode (/fast), iMessage via BlueBubbles, WeChat + WeCom, Termux/Android, Hintergrundprozessüberwachung (watch_patterns), xAI + Xiaomi MiMo native Provider, austauschbarer Context Engine, einheitlicher Proxy-Support, Sicherheitshärtung (Path Traversal, Shell Injection, SSRF, RCE Fixes), hermes backup/hermes import, /debug + hermes debug share, 16 unterstützte Plattformen. 487 Commits, 269 gemergte PRs, 24 Mitwirkende. 

  17. Hermes Agent v0.12.0 Release Notes. 30. April 2026. “The Curator release.” Autonomer Hintergrund-Curator, der die Skill-Bibliothek bewertet, ausdünnt und konsolidiert, in einem 7-Tage-Standardzyklus auf dem Cron-Ticker des Gateways. Self-Improvement-Loop verbessert: rubrikbasiertes Grading, aktiver Update-Bias, korrekte Runtime-Vererbung, gescopte Toolsets beschränkt auf Memory und Skills. Vier neue Inference-Provider: GMI Cloud, Azure AI Foundry, MiniMax OAuth, Tencent Tokenhub. LM Studio in den First-Class-Status erhoben. Manifeste des Remote-Modellkatalogs aktualisieren sich automatisch ohne Releases. Zwei neue Messaging-Plattformen: Microsoft Teams (19., über austauschbare Gateway-Architektur) und Tencent Yuanbao (18., nativer Text + Medien). Natives Spotify via PKCE OAuth mit gebündeltem Skill; Google Meet Plugin für Anrufe und Transkription; Piper lokaler 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, /reload-skills Slash-Befehl, austauschbare Busy-Indicator-Stile. TUI-Kaltstart um ~57 % verkürzt durch Lazy Initialization. Sicherheit: Secret-Redaction standardmäßig deaktiviert; Hardline-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

  18. Hermes Agent v0.13.0 Release Notes. 7. Mai 2026. “The Tenacity release.” Multi-Agent-Kanban-Board mit Heartbeat, Reclaim, Zombie-Detection, Halluzinations-Gate, max_retries pro Task, Multi-Project-Boards. /goal Slash-Befehl für Cross-Turn-Target-Locking (Ralph-Loop-Primitive) mit konfigurierbarem Turn-Budget. video_analyze Tool, Gemini-first mit kompatibler multimodaler Erweiterbarkeit. xAI Custom Voices TTS-Provider mit Voice Cloning. 7-Sprachen-i18n: zh-Hans, ja, de, es, fr, uk, tr (CLI + Gateway-Nachrichten; Docs nur zh-Hans). Google Chat als 20. Messaging-Plattform via austauschbarem Adapter-Pattern mit generischen env_enablement_fn / cron_deliver_env_var Plugin-Hooks; IRC und Microsoft Teams auf dasselbe Pattern migriert. ProviderProfile ABC + plugins/model-providers/ für austauschbare Drittanbieter-Provider. Session-Auto-Resume über Gateway-Neustart, /update und Source-File-Reloads hinweg. Checkpoints v2 Single-Store-Rewrite mit echtem Pruning, Disk-Guardrails, ohne Orphan-Shadow-Repos. Acht P0-Sicherheitslücken geschlossen: Secret-Redaction default-on, Discord Cross-Guild-DM-Bypass (CVSS 8.1, Rollen-Allowlists Guild-scoped), WhatsApp lehnt Fremde standardmäßig ab + antwortet niemals im Self-Chat, MCP OAuth Credential-Save TOCTOU, CLI auth.json TOCTOU in Credential-Writern, Browser Cloud-Metadata SSRF-Floor in Hybrid-Routing, Cron-Scanning zusammengesetzter Prompts (einschließlich Skill-Inhalt) auf Prompt-Injection, hermes debug share Log-Content-Redaction zum Upload-Zeitpunkt. Weitere bemerkenswerte Punkte: Post-Write-Linting für Python/JSON/YAML/TOML, Cron no_agent Script-only-Watchdog-Modus, Plattform-Allowlists über Slack/Telegram/Mattermost/Matrix/DingTalk, MCP Verbesserungen (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). 

  19. Hermes Agent v0.11.0 Release Notes. 23. April 2026. “The Interface release” — vollständiger React/Ink-Rewrite des interaktiven CLI mit Python JSON-RPC-Backend (tui_gateway); austauschbare Transport-Architektur (agent/transports/); natives AWS Bedrock via Converse API; fünf neue Inference-Pfade (NVIDIA NIM, Arcee AI, Step Plan, Google Gemini CLI OAuth, Vercel ai-gateway); GPT-5.5 via 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-Nudges, die nach dem nächsten Tool-Call Kontext einfügen, ohne den Prompt-Cache zu brechen; Shell-Hooks für Lifecycle-Ereignisse ohne Python Plugins; Webhook Direct-Delivery-Modus, der Payloads direkt an einen Plattform-Chat weiterleitet; intelligentere Delegation mit Orchestrator-Rollen + konfigurierbarer Spawn-Tiefe + Datei-Koordination; Dashboard-Plugin-System, Live-Theme-Switching, i18n, mobile Responsiveness. Statistiken seit v0.9.0: 1.556 Commits · 761 gemergte PRs · 1.314 geänderte Dateien · 224.174 Insertions · 29 Community-Mitwirkende. Siehe auch: Hermes Agent v0.11.0 GitHub Release-Tag

  20. 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 Web-Suche, FAL / FLUX 2 Pro Bildgenerierung, OpenAI TTS und Browser Use Browser-Automatisierung ohne zusätzliche API Schlüssel. Per-Tool-Opt-in via neuem use_gateway Config-Feld. Runtime bevorzugt Gateway gegenüber direkten API Schlüsseln, wenn beide konfiguriert sind. Vollständige Integration mit hermes tools und hermes status. Ersetzt veraltete HERMES_ENABLE_NOUS_MANAGED_TOOLS env-Variable. 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 auf dem CLI. Siehe auch: Nous Portal für Abonnementpreise und Anmeldung. 

NORMAL hermes.md EOF