Services: Admin-Lehrer, Backend-Lehrer, Studio v2, Website, Klausur-Service, School-Service, Voice-Service, Geo-Service, BreakPilot Drive, Agent-Core Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
135 lines
7.3 KiB
TypeScript
135 lines
7.3 KiB
TypeScript
import type { SystemInfoConfig } from './types'
|
|
|
|
export const communicationConfig: SystemInfoConfig = {
|
|
title: 'Communication System-Info',
|
|
description: 'Matrix Homeserver, Jitsi Videokonferenz, Jibri Recording und KI-Transkription.',
|
|
version: '2.0',
|
|
architecture: {
|
|
layers: [
|
|
{ title: 'Frontend', components: ['BreakPilot Meet', 'Recording UI', 'Transcript Viewer'], color: '#3b82f6' },
|
|
{ title: 'Videokonferenz', components: ['Jitsi Meet', 'Videobridge', 'Jicofo', 'Prosody'], color: '#17a2b8' },
|
|
{ title: 'Recording', components: ['Jibri', 'Xvfb', 'FFmpeg', 'MinIO Upload'], color: '#28a745' },
|
|
{ title: 'Transkription', components: ['faster-whisper', 'pyannote.audio', 'RQ Worker'], color: '#6f42c1' },
|
|
{ title: 'Matrix Chat', components: ['Synapse', 'Federation', 'Media Store'], color: '#0DBD8B' },
|
|
{ title: 'Infrastructure', components: ['PostgreSQL', 'Valkey', 'MinIO', 'TURN'], color: '#f59e0b' },
|
|
],
|
|
},
|
|
features: [
|
|
{ name: 'Jitsi Videokonferenz', status: 'active', description: 'WebRTC-basierte Videokonferenzen' },
|
|
{ name: 'Matrix Chat', status: 'active', description: 'E2EE Messaging mit Synapse' },
|
|
{ name: 'Jibri Recording', status: 'active', description: 'Meeting-Aufzeichnung mit Consent' },
|
|
{ name: 'KI-Transkription', status: 'active', description: 'Whisper + Speaker Diarization' },
|
|
{ name: 'KI Meeting-Protokolle', status: 'active', description: 'LLM-generierte Zusammenfassungen mit Action Items' },
|
|
{ name: 'Untertitel Export', status: 'active', description: 'WebVTT und SRT Export' },
|
|
{ name: 'PDF Export', status: 'active', description: 'Protokolle als PDF exportieren' },
|
|
],
|
|
roadmap: [
|
|
{ phase: 'Phase 1: Recording (Abgeschlossen)', priority: 'high', items: ['Jibri Integration', 'MinIO Storage', 'Consent Management', 'Webhook Pipeline'] },
|
|
{ phase: 'Phase 2: Transkription (Abgeschlossen)', priority: 'high', items: ['Whisper large-v3', 'Speaker Diarization', 'VTT/SRT Export', 'Segment-Suche'] },
|
|
{ phase: 'Phase 3: Protokolle (Abgeschlossen)', priority: 'high', items: ['LLM Gateway Integration', 'Action Items', 'Zusammenfassungen', 'MD/HTML/PDF Export'] },
|
|
{ phase: 'Phase 4: Erweiterte KI (Q2)', priority: 'medium', items: ['Sprecher-Namensverknuepfung', 'Themen-Clustering', 'Sentiment-Analyse', 'Automatische Agenda'] },
|
|
],
|
|
technicalDetails: [
|
|
{ component: 'Video', technology: 'Jitsi Meet', version: 'stable-9823', description: 'WebRTC Konferenz' },
|
|
{ component: 'Recording', technology: 'Jibri', version: 'stable-9823', description: 'Meeting Recording' },
|
|
{ component: 'Transkription', technology: 'faster-whisper', version: '1.0+', description: 'GPU-optimiert (MIT)' },
|
|
{ component: 'Diarization', technology: 'pyannote.audio', version: '3.x', description: 'Speaker ID (MIT)' },
|
|
{ component: 'Meeting Minutes', technology: 'LLM Gateway', version: '1.0', description: 'Ollama/Llama 3.1' },
|
|
{ component: 'Queue', technology: 'RQ/Valkey', version: '1.x', description: 'Task Processing' },
|
|
{ component: 'Storage', technology: 'MinIO', version: 'latest', description: 'S3-kompatibel' },
|
|
{ component: 'Chat', technology: 'Matrix Synapse', version: '1.x', description: 'E2EE Homeserver' },
|
|
{ component: 'TURN', technology: 'Coturn', version: '4.x', description: 'NAT Traversal' },
|
|
],
|
|
auditInfo: [
|
|
{
|
|
category: 'Jitsi Videokonferenz',
|
|
items: [
|
|
{ label: 'Videobridge', value: 'Online', status: 'ok' },
|
|
{ label: 'Max. Teilnehmer', value: '100', status: 'ok' },
|
|
{ label: 'E2E Encryption', value: 'Verfuegbar', status: 'ok' },
|
|
{ label: 'TURN Server', value: 'Aktiv', status: 'ok' },
|
|
],
|
|
},
|
|
{
|
|
category: 'Jibri Recording',
|
|
items: [
|
|
{ label: 'Recording Service', value: 'Aktiv', status: 'ok' },
|
|
{ label: 'Consent-Pflicht', value: 'Aktiviert', status: 'ok' },
|
|
{ label: 'Storage', value: 'MinIO (Self-hosted)', status: 'ok' },
|
|
{ label: 'Retention', value: '365 Tage', status: 'ok' },
|
|
],
|
|
},
|
|
{
|
|
category: 'KI-Transkription',
|
|
items: [
|
|
{ label: 'Whisper Modell', value: 'large-v3 (lokal)', status: 'ok' },
|
|
{ label: 'Speaker Diarization', value: 'pyannote (lokal)', status: 'ok' },
|
|
{ label: 'Datenverarbeitung', value: '100% On-Premise', status: 'ok' },
|
|
{ label: 'Export-Formate', value: 'VTT, SRT, JSON', status: 'ok' },
|
|
],
|
|
},
|
|
{
|
|
category: 'KI Meeting-Protokolle',
|
|
items: [
|
|
{ label: 'LLM Backend', value: 'Ollama (lokal)', status: 'ok' },
|
|
{ label: 'Modell', value: 'Llama 3.1 8B/70B', status: 'ok' },
|
|
{ label: 'Verarbeitung', value: '100% On-Premise', status: 'ok' },
|
|
{ label: 'Export-Formate', value: 'MD, HTML, PDF', status: 'ok' },
|
|
],
|
|
},
|
|
{
|
|
category: 'Matrix Homeserver',
|
|
items: [
|
|
{ label: 'Server Status', value: 'Online', status: 'ok' },
|
|
{ label: 'Federation', value: 'Aktiviert', status: 'ok' },
|
|
{ label: 'E2E Encryption', value: 'Standard', status: 'ok' },
|
|
{ label: 'Media Retention', value: '90 Tage', status: 'ok' },
|
|
],
|
|
},
|
|
{
|
|
category: 'DSGVO-Compliance',
|
|
items: [
|
|
{ label: 'Daten-Residenz', value: 'EU (Self-hosted)', status: 'ok' },
|
|
{ label: 'Consent-Management', value: 'Implementiert', status: 'ok' },
|
|
{ label: 'Audit-Logging', value: 'Aktiviert', status: 'ok' },
|
|
{ label: 'Loeschrecht (Art. 17)', value: 'Implementiert', status: 'ok' },
|
|
],
|
|
},
|
|
{
|
|
category: 'Open Source Lizenzen',
|
|
items: [
|
|
{ label: 'Jitsi/Jibri', value: 'Apache-2.0', status: 'ok' },
|
|
{ label: 'faster-whisper', value: 'MIT', status: 'ok' },
|
|
{ label: 'pyannote.audio', value: 'MIT', status: 'ok' },
|
|
{ label: 'Matrix Synapse', value: 'AGPL-3.0', status: 'ok' },
|
|
],
|
|
},
|
|
],
|
|
fullDocumentation: `
|
|
<h2>BreakPilot Communication Platform</h2>
|
|
<p><strong>Version:</strong> 2.0.0 | <strong>Stand:</strong> Januar 2026 | <strong>Autor:</strong> BreakPilot Development Team</p>
|
|
|
|
<h2>Audit-Relevante Informationen</h2>
|
|
<p>Dieses Dokument dient als technische Dokumentation fuer das Kommunikationssystem der BreakPilot Plattform. Es ist fuer Audits durch Bildungstraeger und Datenschutzbeauftragte konzipiert.</p>
|
|
|
|
<h3>Ziel des Kommunikationssystems</h3>
|
|
<p>Das System ermoeglicht sichere Videokonferenzen und Messaging fuer Bildungseinrichtungen mit:</p>
|
|
<ul>
|
|
<li><strong>Jitsi Meet:</strong> DSGVO-konforme Videokonferenzen ohne Drittanbieter</li>
|
|
<li><strong>Jibri Recording:</strong> Meeting-Aufzeichnung mit expliziter Einwilligung</li>
|
|
<li><strong>KI-Transkription:</strong> Automatische Verschriftlichung mit Sprechererkennung</li>
|
|
<li><strong>KI Meeting-Protokolle:</strong> Automatische Zusammenfassungen, Action Items, Entscheidungen</li>
|
|
<li><strong>Matrix Chat:</strong> Ende-zu-Ende verschluesselte Nachrichten</li>
|
|
</ul>
|
|
|
|
<h3>Datenschutz-Compliance</h3>
|
|
<ul>
|
|
<li><strong>100% Self-Hosted:</strong> Alle Dienste laufen auf eigenen Servern in der EU</li>
|
|
<li><strong>Keine Cloud-Abhaengigkeit:</strong> Keine Daten verlassen die Infrastruktur</li>
|
|
<li><strong>Consent-Management:</strong> Aufzeichnung nur mit expliziter Zustimmung aller Teilnehmer</li>
|
|
<li><strong>Audit-Logging:</strong> Vollstaendige Nachvollziehbarkeit aller Zugriffe</li>
|
|
<li><strong>Open Source:</strong> Alle Komponenten sind quelloffen und auditierbar</li>
|
|
</ul>
|
|
`,
|
|
}
|