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-01für Core-Memory, User-Memory, Sessions und Skills. - Obsidian Vault im Repo unter
obsidian/lanstyle-vaultals 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_Infrastructure20_AI_Suite30_Runbooks40_Decisions70_Skills
Jede indexierte Notiz braucht Frontmatter mit:
titletagsvisibilitymemory_typeownerconfidence
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_ENABLEDHERMES_MEMORY_QDRANT_URLHERMES_MEMORY_QDRANT_API_KEYHERMES_MEMORY_COLLECTIONHERMES_MEMORY_LITELLM_URLHERMES_MEMORY_LITELLM_API_KEYHERMES_MEMORY_EMBED_MODELHERMES_MEMORY_TOP_KHERMES_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:
sourcesource_systemconfidenceobserved_atreviewed_byimportance_scoreretention_policyexpires_atdelete_allowedrequires_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
unsichermelden 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_memoryerstellt und mit 36 Punkten befüllt. - Gateway
/healthgrü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
HermesundVLAN70einen 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_SESSIONnachgezogen werden. - Memory-Einträge brauchen Pflege. Falsche oder veraltete Notizen würden sonst vertrauenswürdig wirken.