3.2 KiB
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