wiki/b-reference/teams-bot/architecture.md

3.2 KiB

Teams Meeting Bot -- Architektur

Überblick

AI-gesteuerter Meeting-Bot für Microsoft Teams. Tritt Meetings als regulärer Teilnehmer bei (Browser-Automation via Playwright/Chromium), erfasst Live-Transkripte, reagiert per Sprache (TTS) und/oder Chat. Kein Teams-Graph-SDK nötig -- funktioniert mandantenübergreifend ohne Admin-Approval.

System-Architektur

┌────────────┐      SSE       ┌──────────────┐    WebSocket    ┌─────────────┐
│  Frontend   │◄──────────────│   Gateway     │◄───────────────│  Bot Service │
│  (Nyla UI)  │               │  (AI, TTS,    │   HTTP (join/  │  (Playwright │
│             │               │   Sessions)   │    leave)      │   Chromium)  │
└────────────┘               └──────────────┘               └─────────────┘
Verbindung Protokoll Zweck
Gateway ↔ Bot WebSocket Echtzeit: Transkripte, Chat, Audio, Status
Gateway → Bot HTTP Session-Steuerung (join, leave, status)
Frontend ← Gateway SSE Live-Transkript-Stream für UI

Kernfähigkeiten

  • Live Transcription: Erfasst Untertitel mit Sprecher-Zuordnung, streamt via SSE
  • AI-Analyse: Transkript-Segmente werden durch AI-Modell (GPT-4o-mini / Claude) analysiert
  • Voice Response: TTS-Audio wird über den Mikrofon-Kanal ins Meeting gespielt
  • Chat Response: Bot kann Chat-Nachrichten ins Meeting schreiben
  • Multi-Session: Mehrere Bot-Instanzen parallel in verschiedenen Meetings

Use Cases

UC Beschreibung
AI Meeting Assistant Bot nimmt teil, hört zu, antwortet auf Ansprache ("Hey Nyla, ...")
Live Transcription Echtzeit-Transkript-Stream für Teilnehmer ausserhalb des Meetings
Meeting Summary AI-generierte Zusammenfassung nach Meeting-Ende
Multi-Bot Mehrere parallele Sessions in verschiedenen Meetings

Integration mit Gateway

Der Gateway (Feature teamsbot) verwaltet Sessions und stellt die AI-Pipeline bereit:

  • Session-Lifecycle: erstellen, starten, stoppen
  • WebSocket-Verbindung pro Session
  • AI-Analyse der Transkript-Segmente via serviceAi
  • TTS-Generierung für Voice-Responses

Schlüssel-Dateien

Datei / Bereich Rolle
gateway/modules/features/teamsbot/ Gateway-seitiges Feature-Modul
service-teams-browser-bot/ Eigenständiger Bot-Service (separates Repository)

Regeln / Invarianten

  • Bot tritt als regulärer Web-Teilnehmer bei (Browser-Automation), nicht via Graph Communications SDK
  • Jede Session läuft in einer eigenen Browser-Instanz (Isolation)
  • Authentifizierter Join (mit Microsoft-Account) oder Anonymous Guest -- je nach Konfiguration
  • Gateway ist die einzige Schnittstelle für AI-Aufrufe und TTS -- der Bot-Service selbst hat keine AI-Logik