Human Agent Interface / Tutorials / Hermes Referenz

Hermes Harness — Referenz für AI Engineers

Stand: März 2026. Aus der täglichen Praxis mit Hermes; Flags, Preise und Bugs können sich seitdem geändert haben. Siehe auch: Hermes Tutorial.

Zielgruppe: Leute, die Claude Code gut kennen, Hermes aber noch nicht. Fokus: Architektur-Unterschiede, Konfiguration, Tuning, ehrliche Bewertung.


1. Architektur (fundamental anders als Claude Code)

Hermes ist kein natives API-Harness wie Claude Code, sondern ein Multi-Platform Agent-Gateway mit eigenem REPL, Session-DB, Memory-System und Skills-Hub. Der zentrale Unterschied: Claude Code ist eine CLI mit Hook-System; Hermes ist ein verteiltes System, das über mehrere Kanäle (CLI, Telegram, Discord, Slack, WhatsApp, Signal, HomeAssistant) auf demselben Backend läuft.

config.yaml (284 Zeilen)         ← Haupt-Config (YAML, nicht JSON)
       ↓
SOUL.md                          ← Agent-Personality (freier Text)
       ↓
Multi-Platform Gateway           ← CLI + 6 Messaging-Plattformen
       ↓
Model Router (10 Provider)       ← agnostisch, OpenRouter = 200+ Modelle
       ↓
48 eingebaute Tools              ← Web, Terminal, Vision, Browser, SmartHome
       ↓
SQLite (state.db) + Honcho AI   ← persistente Sessions + Cross-Session Memory

Direktvergleich Claude Code vs. Hermes:

Aspekt Claude Code Hermes
Interaktion CLI REPL CLI REPL + 6 Messaging-Plattformen
Model-Lock Anthropic only 200+ Modelle, 10 Provider, Custom Endpoints
Config-Format JSON (settings.json) YAML (config.yaml, 284 Zeilen)
Verhaltenssteuerung CLAUDE.md (deklarativ) SOUL.md (freier Text, aktuell leer)
Hook-System 5 Lifecycle-Points, PreToolUse blockierend Keins — kein Blocking-Gate
Tools MCP-basiert (extern) 48 eingebaut (Web, Terminal, Vision, Browser, SmartHome)
Terminal-Execution Lokal only 6 Backends: local, docker, ssh, modal, singularity, daytona
Parallelism Subagents (separate Prozesse) Git Worktrees (isolierte Branches, gleiches Repo)
Memory Kein Cross-Session Memory Honcho AI + auto-save (cross-session persistent)
Skills Statisch (SKILL.md Injection) Dynamisch, selbst-lernend, Skills Hub (26 Kategorien)
Session-Storage JSON-Dateien SQLite + FTS5 Full-Text Search (21 Sessions)
Personality CLAUDE.md Regeln SOUL.md + 14 Personality-Varianten
Cron/Scheduling Kein Scheduler Eingebaut

Was das in der Praxis bedeutet:

Claude Code ist eng mit Anthropic verzahnt — Anthropic-Modelle, MCP für externe Tools, JSON-Config. Hermes ist bewusst model-agnostisch und plattform-agnostisch gebaut. Wer Hermes kennt, kann mit einem Flag auf Opus wechseln oder den gleichen Agent über Telegram ansprechen. Wer Claude Code kennt, muss sich vor allem an drei Dinge gewöhnen: kein PreToolUse-Blocking, kein CLAUDE.md-Äquivalent und ein träger Start (10-15 Sekunden Stille vor der ersten Response — das ist normal, nicht abbrechen).


2. Konfiguration

Haupt-Config: ~/.hermes/config.yaml

# Modell-Defaults
default_model: MiniMax-M2.5
default_provider: minimax

# Agent-Verhalten
agent:
  max_turns: 100
  reasoning_effort: medium    # low | medium | high
  personalities: [helpful, concise, technical]

# Terminal-Backend
terminal:
  backend: local              # local | docker | ssh | modal | singularity | daytona
  cwd: .
  timeout: 180
  persistent_shell: true

# Cross-Session Memory
memory:
  enabled: true
  user_char_limit: 2200
  profile_char_limit: 1375

# Kontext-Kompression
compression:
  enabled: true
  summary_model: google/gemini-3-flash-preview

# Sicherheit
security:
  redact_secrets: true
  tirith_enabled: true

Wichtig: terminal.cwd: . bedeutet Hermes arbeitet im Verzeichnis, von dem aus es gestartet wird. Wird Hermes ohne explizites cwd gestartet, baut es in ~/.hermes/ — das ist der häufigste Scope-Drift-Fehler. Immer aus dem Projektordner starten oder cwd explizit setzen.

Weitere Config-Dateien

Datei Inhalt
~/.hermes/.env API Keys (OPENROUTER_API_KEY, MINIMAX_API_KEY, FIRECRAWL_API_KEY, FAL_KEY, HONCHO_API_KEY, SSH-Credentials)
~/.hermes/auth.json OAuth Tokens (Nous, OpenAI-Codex)
~/.hermes/SOUL.md Agent-Personality, freier Text — aktuell leer
~/.hermes/state.db SQLite Session-DB
~/.hermes/memories/ Cross-Session Memory-Dateien
~/.hermes/skills/ 26 Skill-Kategorien
~/.hermes/sessions/ Session JSON-Archive
~/.hermes/hermes-agent/ Vollständiger Source-Code

3. Tuning

Modell wechseln

hermes model                                     # Interaktive Auswahl
hermes chat --model anthropic/claude-opus-4.6    # Inline spezifizieren
hermes chat -m google/gemini-2.5-pro             # Kurzform
hermes chat --provider openrouter                # Provider forcen

Verfügbare Provider (10):

Provider Besonderheit
MiniMax Default, günstigst (~$0.01-0.20/Task)
OpenRouter Gateway zu 200+ Modellen
Anthropic Direktzugriff (Claude-Familie)
Nous Portal OAuth-basiert
OpenAI Codex OAuth (Token aktuell abgelaufen — 401)
z.ai / GLM Chinesischer Provider
Kimi / Moonshot Chinesischer Provider
MiniMax China Mainland-Endpoint
Google Gemini Via OpenRouter
Custom Endpoints Beliebige OpenAI-kompatible APIs

Terminal-Backend wechseln

hermes config set terminal.backend docker       # Container-Isolierung
hermes config set terminal.backend ssh          # Remote Execution
hermes config set terminal.backend modal        # Serverless, pay-per-use
hermes config set terminal.backend local        # Zurück zu lokal

Docker und SSH sind nützlich wenn Hermes Code in einer sauberen Umgebung ausführen soll, ohne das Host-System zu beeinflussen. Modal rechnet serverless ab — sinnvoll für sporadische schwere Tasks.

Parallele Tasks mit Git Worktrees

hermes chat --worktree                          # Auto-generierter Worktree-Name
hermes chat --worktree feature-auth             # Benannter Worktree
hermes chat -w                                  # Kurzform

Das ist Hermes' Äquivalent zu Claude Code's Subagents — aber anders: statt separater Prozesse arbeitet Hermes in isolierten Git-Branches auf demselben Repo. Merge muss danach manuell passieren.

Skills verwalten

hermes skills browse                            # Alle verfügbaren Skills
hermes skills search "web"                      # Suchen
hermes skills install <name>                    # Installieren
hermes skills list                              # Installierte anzeigen
hermes skills update                            # Updates einspielen
hermes skills audit                             # Security-Audit

Hermes-Skills sind nicht dasselbe wie Sidecar-NG Skills. Sie werden dynamisch aus Nutzungsmustern erstellt und verbessern sich selbst — ein anderes Konzept als statische SKILL.md Injection.

Sessions verwalten

hermes sessions list                            # Alle Sessions
hermes sessions stats                           # Nutzungsstatistiken
hermes sessions export <id>                     # Session exportieren
hermes sessions prune                           # Alte Sessions aufräumen
hermes chat --continue                          # Letzte Session fortsetzen
hermes chat --resume <id>                       # Spezifische Session laden

Da Sessions in SQLite mit FTS5 gespeichert sind, ist die Suche über alte Sessions schneller und robuster als bei JSON-basierten Ansätzen.

Personality konfigurieren

# Variante 1: config.yaml
agent:
  personalities: [concise, technical]

# Variante 2: SOUL.md editieren
# ~/.hermes/SOUL.md — freier Text, wird als Systemprompt eingebettet

Aktuell ist SOUL.md leer — das Potenzial ist ungenutzt. Die 14 verfügbaren Personality-Varianten sind: helpful, concise, technical, kawaii, pirate (und weitere). Das ist näher an einem Charakter-System als an CLAUDE.md-Regeln.

Reasoning-Tiefe einstellen

hermes config set agent.reasoning_effort high   # Mehr Tokens, langsamer, besser bei Analyse
hermes config set agent.reasoning_effort low    # Schnell, für einfache Tasks

Diagnose und Monitoring

hermes doctor                                   # System-Check (Config, Auth, Dependencies)
hermes insights                                 # Usage Analytics
hermes config show                              # Aktuelle Config ausgeben
hermes config set <key> <value>                 # Einzelnen Wert setzen

Multi-Platform Gateway starten

hermes gateway                                  # Telegram, Discord, Slack, WhatsApp, Signal, HomeAssistant

Derselbe Agent, der lokal im Terminal läuft, ist dann über alle konfigurierten Messaging-Plattformen erreichbar. Config dafür liegt ebenfalls in config.yaml.


4. Vor- und Nachteile

Vorteile

Nachteile


5. Referenz

Wichtige Dateipfade

~/.hermes/config.yaml       Haupt-Config (284 Zeilen, alle Einstellungen)
~/.hermes/.env              API Keys und Secrets
~/.hermes/auth.json         OAuth Tokens (Nous, OpenAI-Codex)
~/.hermes/SOUL.md           Agent-Personality (freier Text, aktuell leer)
~/.hermes/state.db          SQLite Session-DB (21 Sessions)
~/.hermes/sessions/         Session JSON-Archive
~/.hermes/skills/           26 Skill-Kategorien
~/.hermes/memories/         Cross-Session Memory
~/.hermes/hermes-agent/     Vollständiger Source-Code

Wichtige Befehle

# Sessions
hermes chat                         Interaktive Session starten
hermes chat -q "prompt"             Single Query (non-interactive)
hermes chat -w                      In Worktree (parallel, isoliert)
hermes chat -m provider/model       Modell überschreiben
hermes chat --checkpoints           Mit Filesystem-Snapshots
hermes chat --continue              Letzte Session fortsetzen
hermes chat --resume <id>           Spezifische Session laden

# Config & Modell
hermes model                        Modell interaktiv wählen
hermes config show                  Aktuelle Config anzeigen
hermes config set <key> <value>     Einzelnen Wert setzen

# Skills
hermes skills browse                Alle verfügbaren Skills
hermes skills search "query"        Skills suchen
hermes skills install <name>        Skill installieren
hermes skills list                  Installierte Skills anzeigen
hermes skills update                Skills aktualisieren
hermes skills audit                 Security-Audit

# Sessions
hermes sessions list                Alle Sessions auflisten
hermes sessions stats               Nutzungsstatistiken
hermes sessions export <id>         Session exportieren
hermes sessions prune               Alte Sessions aufräumen

# System
hermes gateway                      Multi-Platform Gateway starten
hermes doctor                       System-Diagnose
hermes insights                     Usage Analytics
hermes update                       Self-Update

Quickstart für einen neuen Task

# 1. Aus dem Projektordner starten (verhindert Scope-Drift)
cd ~/Projekte/mein-projekt

# 2. Hermes starten (15s Stille am Anfang ist normal)
hermes chat

# 3. Oder direkt mit Modell-Override für komplexe Tasks
hermes chat -m anthropic/claude-opus-4.6

# 4. Parallelen Task in Worktree
hermes chat -w feature-xyz