Zum Inhalt

Hermes Knowledge und Memory

Stand: 2026-05-30

Kurzstatus

Hermes ist die zentrale Context-, Memory-, Retrieval- und Policy-Schicht der AI Suite. Dafuer nutzt Hermes drei getrennte Wissensschichten:

  • Native Nous Hermes Memory auf lanstyle-hermes-01 für Core-Memory, User-Memory, Sessions und Skills.
  • Obsidian Vault im Repo unter obsidian/lanstyle-vault als kuratierte, menschlich pflegbare Wissensbasis.
  • Qdrant Semantic Memory als Retrieval-Schicht für Lanstyle AI Gateway, OpenCode-Ops-Kontext, Voice, Teams und spätere Operator-Dialoge.

Der bestehende Lanstyle AI Gateway bleibt die Governance-Grenze. Nous Hermes darf lernen und erinnern, aber keine Infrastrukturaktionen direkt ausführen.

Architektur

flowchart TD
  Client["OpenWebUI / Voice / Teams / OpenCode"] --> Gateway["Lanstyle AI Gateway"]
  Gateway --> Core["Nous Hermes Agent Core"]
  Gateway --> Retrieval["Qdrant Retrieval: lanstyle_obsidian_memory"]
  Retrieval --> Obsidian["Obsidian Vault: obsidian/lanstyle-vault"]
  Core --> NativeMemory["MEMORY.md / USER.md / Sessions / Skills"]
  Core --> LiteLLM["LiteLLM Models"]
  Gateway --> Governance["MCP / Controlled Execution"]

Obsidian Vault

Pfad:

obsidian/lanstyle-vault

Struktur:

  • 10_Infrastructure
  • 20_AI_Suite
  • 30_Runbooks
  • 40_Decisions
  • 70_Skills

Jede indexierte Notiz braucht Frontmatter mit:

  • title
  • tags
  • visibility
  • memory_type
  • owner
  • confidence

Obsidian ist kein Secret Store. Tokens, Passwörter, private Keys und vollständige Dumps dürfen dort nicht abgelegt werden.

Qdrant Collection

Collection:

lanstyle_obsidian_memory

Indexer:

agent-runtime/scripts/ingest-obsidian-to-qdrant.py

Query-Test:

agent-runtime/scripts/query-obsidian-memory.py

Der Indexer liest Markdown-Metadaten, erkennt Wiki-Links, blockiert offensichtliche Secret-Muster und schreibt nur kuratierte Chunks mit Metadaten nach Qdrant. Embeddings laufen über LiteLLM mit lanstyle/embed.

Gateway Retrieval

Der Gateway auf lanstyle-hermes-01 ruft vor einer Core-Antwort relevante Obsidian/Qdrant-Treffer ab und übergibt sie als Systemkontext an Nous Hermes Core.

Runtime-Variablen:

  • HERMES_MEMORY_RETRIEVAL_ENABLED
  • HERMES_MEMORY_QDRANT_URL
  • HERMES_MEMORY_QDRANT_API_KEY
  • HERMES_MEMORY_COLLECTION
  • HERMES_MEMORY_LITELLM_URL
  • HERMES_MEMORY_LITELLM_API_KEY
  • HERMES_MEMORY_EMBED_MODEL
  • HERMES_MEMORY_TOP_K
  • HERMES_MEMORY_MIN_SCORE

Secretwerte liegen nur in Runtime-Secrets beziehungsweise Vaultwarden und werden nicht dokumentiert.

Memory Governance

Erlaubt:

  • bestätigte Betriebsfakten
  • Runbook-Verweise
  • Service-Matrix-Metadaten
  • Entscheidungen und Lessons Learned
  • Skills und Skill-Kandidaten

Nicht erlaubt:

  • Secrets
  • personenbezogene private Inhalte ohne Zweckbindung
  • vollständige DB-/Backup-Inhalte
  • direkte Infrastruktur-Write-Anweisungen ohne Governance-Kontext
  • ungeprüfte Annahmen als bestätigte Fakten

Empfohlenes Metadatenmodell für neue Memory-Einträge:

  • source
  • source_system
  • confidence
  • observed_at
  • reviewed_by
  • importance_score
  • retention_policy
  • expires_at
  • delete_allowed
  • requires_review

Native Nous Memory

Nous Hermes Core nutzt:

  • /var/lib/nous-hermes/memories/MEMORY.md
  • /var/lib/nous-hermes/memories/USER.md
  • /var/lib/nous-hermes/state.db
  • /var/lib/nous-hermes/skills

Native Memory ist für Agent-Verhalten und Session-Kontext zuständig. Infrastrukturwissen wird zusätzlich über Obsidian/Qdrant bereitgestellt, damit Herkunft und Confidence sichtbar bleiben.

Betriebsregeln

  • Retrieval darf Antworten unterstützen, aber nicht blind übersteuern.
  • Wenn Kontext fehlt, muss Hermes unsicher melden und einen read-only oder Preflight-Schritt empfehlen.
  • Infrastruktur-Writes laufen ausschließlich über MCP/Controlled Execution mit Approval, Backup, Audit, Verification und Rollback.
  • Qdrant ist Semantic Memory, nicht Secret Store.
  • Vaultwarden bleibt Source of Truth für Secrets.

Die operativen Jobs fuer Reindex, Retrieval Validation, Memory Candidate Queue und Retrieval Metrics sind in Hermes Operationalisierung beschrieben.

Tests

Validierte Checks:

  • Obsidian Vault Secret-Scan ohne Treffer auf echte Secrets.
  • Indexer Python Compile erfolgreich.
  • Query-Skript Python Compile erfolgreich.
  • Qdrant Collection lanstyle_obsidian_memory erstellt und mit 36 Punkten befüllt.
  • Gateway /health grün.
  • Voice/Gateway-Test liefert Hermes-CTID und VLAN70 aus Obsidian/Qdrant-Kontext.

Risiken

  • Semantische Suche kann bei kurzen Fragen irrelevante Treffer liefern. Der Gateway ergänzt deshalb für kritische bekannte Begriffe wie Hermes und VLAN70 einen exakten Titel-Boost.
  • Vaultwarden CLI war zum Zeitpunkt der Implementierung lokal gesperrt. Runtime-Secrets wurden nicht ausgegeben; die Vaultwarden-Verifikation muss mit einer sicheren BW_SESSION nachgezogen werden.
  • Memory-Einträge brauchen Pflege. Falsche oder veraltete Notizen würden sonst vertrauenswürdig wirken.