Zum Inhalt

Teams Integration für Hermes

Stand: 2026-05-29

Status

Die Teams-Integration ist vorbereitet, aber nicht live geschaltet. Der Hermes-LXC ist produktiv erreichbar, der interne Teams-Endpoint-Platzhalter ist vorhanden. Es wurden keine Microsoft-Secrets erzeugt, kein Consent erzwungen und keine produktive Bot-Registrierung geändert.

Ziel

Maximilian soll später mit Hermes in Microsoft Teams chatten können. Hermes darf dabei nur definierte APIs nutzen und keine Infrastruktur-Änderungen außerhalb des Controlled Execution Layers ausführen.

Architektur

flowchart LR
  Teams["Microsoft Teams Client"]
  Bot["Azure Bot / App Registration"]
  Gateway["Lanstyle AI Gateway"]
  Core["Nous Hermes Core"]
  CE["Controlled Execution Layer"]
  Audit["Audit / Policy / RBAC"]

  Teams --> Bot --> Gateway
  Gateway --> Audit
  Gateway --> Core
  Gateway --> CE

Benötigte Azure-/Teams-Parameter

  • Bot/App Name: Lanstyle Hermes
  • Tenant: Lanstyle Microsoft 365 Tenant
  • Interner Messaging Endpoint: http://10.222.70.30:8088/teams/messages
  • Voice-Pilot Endpoint: http://10.222.70.30:8088/voice/message
  • Nous Core Endpoint: nur intern im LXC auf 127.0.0.1:8642, nicht public
  • Public Messaging Endpoint: erst nach separater DNS/NPM-Freigabe festlegen
  • Redirect URI: falls OAuth nötig, separat nach Microsoft-Vorgaben festlegen
  • Client ID: aus App Registration
  • Client Secret: nur in Vaultwarden, nie in Git oder Chat
  • Bot Framework Secret: nur in Vaultwarden

Permissions

Minimal starten:

  • Teams Bot Messaging
  • Benutzeridentität/Graph nur wenn fachlich nötig
  • keine breit gefassten Admin-Scopes
  • kein Exchange/Intune/AD-Write ohne separate Governance

Vaultwarden Einträge

Vor Live-Betrieb vorbereiten:

  • Lanstyle / Hermes Teams App Registration
  • Lanstyle / Hermes Bot Framework Secret
  • Lanstyle / Hermes Service Token
  • Lanstyle / Hermes OpenWebUI Integration Secret

Manuelle Schritte

  1. Azure App Registration anlegen oder freigeben.
  2. Bot Messaging Endpoint setzen.
  3. Consent manuell durch berechtigten Admin durchführen.
  4. Secret in Vaultwarden ablegen.
  5. Hermes Health und Teams Webhook validieren.
  6. Audit prüfen.

Für Voice-Kontext muss Teams später zusätzlich übertragen:

  • user_id
  • tenant_id
  • conversation_id
  • device_id oder Channel-ID
  • Rollen-/Scope-Information

Teams darf keine Voice-/Hermes-Secrets im Chat anzeigen.

Der Teams Bot soll spaeter immer den Gateway ansprechen. Der Gateway routet dann an den Nous Hermes Core und schreibt Audit. Direkter Teams-Zugriff auf den Core ist nicht vorgesehen.

Stop-Kriterien

  • Secret würde in Chat, Logs oder Doku landen.
  • Benutzerkontext kann nicht sicher validiert werden.
  • Kein separater Public-FQDN oder NPM-Proxy fuer Hermes freigegeben.
  • Bot verlangt zu breite Graph-/Tenant-Rechte.