Skip to content

Latest commit

 

History

History
140 lines (116 loc) · 8.97 KB

File metadata and controls

140 lines (116 loc) · 8.97 KB

Architektur – blaebus

Aktueller technischer Stand. Enthält Pipeline-Übersicht, Komponentenwahl und offene Positionen. Letzte Aktualisierung: 2026-03-16 (Session 02)


Leitprinzip

blaebus ist ein Kopf-Externalisierer, kein digitaler Assistent. Es behandelt Gedanken als das was sie sind – Brainfarts oder brillante Samen oder irgendwas dazwischen. Capture muss reibungslos sein, Ordnung entsteht schrittweise, nichts darf verloren gehen.


Pipeline-Übersicht

┌─────────────┐    ┌──────────────────┐    ┌─────────────────┐    ┌──────────────────┐    ┌─────────────────┐
│  1. ERFASSUNG│───▶│ 2. VORVERARBEITUNG│───▶│ 3. TRANSKRIPTION │───▶│ 4. KI-ANALYSE    │───▶│ 5. AUSGABE      │
│             │    │                  │    │                 │    │                  │    │                 │
│ Telegram Bot│    │ ffmpeg (→WAV)    │    │ faster-whisper  │    │ LLM via API      │    │ Obsidian Vault  │
│ + Emoji-    │    │                  │    │ (CPU, small)    │    │ (Mistral auf     │    │ (Markdown +     │
│   Signale   │    │ [SNR: Flag]      │    │                 │    │  Radar für EU/   │    │  Frontmatter)   │
│             │    │ [Diarization:    │    │ [GPU-Tier via   │    │  DSGVO)          │    │                 │
│ 15 Min max  │    │  Flag]           │    │  mindscribe     │    │                  │    │ /inbox/ Ordner  │
│             │    │                  │    │  separat]       │    │ Aufgaben:        │    │ Tags + Links    │
│ Manifest    │    │                  │    │                 │    │ - Aufbereitung   │    │ multidimensional│
│ (JSON)      │    │                  │    │                 │    │ - Keywords/Meta  │    │                 │
└─────────────┘    └──────────────────┘    └─────────────────┘    │ - (Tiers/Kat.)   │    └─────────────────┘
                                                                  └──────────────────┘
                                                                           │
                                                                           ▼
                                                                    ┌─────────────┐
                                                                    │ ChromaDB    │
                                                                    │ (Vektor-DB, │
                                                                    │  RAG, spät) │
                                                                    └─────────────┘

Emoji-Signale (Telegram Frontend)

Emojis dienen als Prozess-Instruktionen und/oder Kategorie-Signale:

  • Konkretes Set: noch zu definieren (hängt am Ordnungssystem)
  • Beispiel-Konzept: Ein Emoji = "Batch-Modus: warte 2h nach letzter Nachricht, dann zusammenfassen"
  • Kein Emoji = Default-Verarbeitung, landet in /inbox/

Manifest (JSON, wächst mit der Pipeline)

Siehe ADR-003. Jede Stufe liest und ergänzt das Manifest.


Komponentenmatrix

Stufe Komponente Status Technologie Alternativen / Notizen Entscheidung
1. Erfassung Interface ✅ Entschieden Telegram Bot Web-UI, eigene App (später) #001
1. Erfassung Manifest ✅ Entschieden JSON (minimal, erweiterbar) Nur Audiodatei; volles Manifest #003
2. Vorverarbeitung Audio-Konvertierung ✅ Entschieden ffmpeg (OGG→WAV) Defacto-Standard
2. Vorverarbeitung Rauschunterdrückung 🔲 Geparkt Flag im Manifest DeepFilterNet, RNNoise POW: aus
3. Transkription Speech-to-Text (VPS) ✅ Entschieden faster-whisper small (CPU) WhisperX, Voxtral (Radar) #001
3. Transkription Speech-to-Text (GPU) 📌 Separat mindscribe (WhisperX) Bleibt eigenständiges Projekt
3. Transkription Sprechererkennung 🔲 Geparkt Flag im Manifest pyannote.audio POW: aus
4. KI-Analyse Textaufbereitung ✅ Richtung LLM Pay-per-Use API Mistral strategisch bevorzugt (EU/DSGVO)
4. KI-Analyse Keyword-Extraktion ✅ Richtung LLM (separates Meta)
4. KI-Analyse Zeitformat-Erkennung 💡 Idee Skript + Telegram-Rückfrage Kein Auto-Kalender, nur Hinweis
4. KI-Analyse API-Gateway 🔲 Offen OpenRouter? Direkt? Mistral? LiteLLM, direkte Provider-APIs
4. KI-Analyse Vektordatenbank 🔲 Geparkt ChromaDB (Tendenz) Qdrant, Weaviate, Milvus Phase 3+
5. Ausgabe Notizspeicher ✅ Entschieden Obsidian Vault #001
5. Ausgabe Inbox ✅ Entschieden /inbox/ Ordner Tag-basiert, Property-basiert
5. Ausgabe Ordnungssystem 🔲 Offen Tags + Links (multidimensional) Magnum Opus, iterativ
Infra Deployment ✅ Entschieden Docker Compose #001
Infra Produktion ✅ Entschieden Hetzner VPS (~8€/Mo) #001
Infra Versionskontrolle ✅ Entschieden GitHub (public)
Infra Obsidian ↔ Git ✅ Entschieden Obsidian Git Plugin #002

Transkriptions-Tiers

Tier Umgebung Engine Wann Qualität
1 Hetzner VPS (CPU) faster-whisper small Default, immer verfügbar Gut
2 Heimserver (GPU) mindscribe/WhisperX Manuell oder per Queue Sehr gut
3 Cloud API TBD Fallback/Spezialfälle Variabel

Strategische Notiz: Mistral / Voxtral

Mistral (Paris, EU) ist strategisch relevant für DSGVO-konforme LLM-Nutzung. Voxtral (3B/24B) kombiniert Transkription + Sprachverständnis in einem Modell – könnte perspektivisch Stufe 3+4 zusammenlegen. Für POW nicht relevant, aber auf dem Radar für Phase 2+.


Infrastruktur-Topologie

┌──────────────────────────────────┐
│        ENTWICKLUNG (Lokal)       │
│  Heimserver (~30W Idle)          │
│  Docker Compose (identisch)      │
│  GPU verfügbar (mindscribe)      │
└──────────────┬───────────────────┘
               │ git push / Docker image
               ▼
┌──────────────────────────────────┐
│        PRODUKTION (Remote)       │
│  Hetzner VPS (~8 €/Monat)       │
│  Docker Compose                  │
│  ┌────────────────────────────┐  │
│  │ Telegram Bot (Python)      │  │
│  │ faster-whisper small (CPU) │  │
│  │ Pipeline-Orchestrierung    │  │
│  │ [ChromaDB – Phase 3+]     │  │
│  └────────────────────────────┘  │
└──────────────┬───────────────────┘
               │ API Calls (HTTPS)
               ▼
┌──────────────────────────────────┐
│        EXTERNE DIENSTE           │
│  LLM API (Mistral bevorzugt)    │
│  ~1–3 Cent pro Anfrage           │
└──────────────────────────────────┘
               │
               ▼
┌──────────────────────────────────┐
│        AUSGABE                   │
│  Obsidian Vault (/inbox/)        │
│  GitHub Repo (Backup + Sync)     │
│  Telegram (Rückfragen, Hinweise) │
└──────────────────────────────────┘

Offene Architektur-Fragen

  1. Wie kommt die Obsidian-Notiz vom VPS in den lokalen Vault? Optionen: Git-Push vom VPS, Syncthing, rsync-Cronjob, Telegram als Transportkanal
  2. Vault-Ordnungssystem (Magnum Opus): Multidimensionale Taxonomie, Tags, Links, Properties – iterativ zu entwickeln
  3. API-Gateway-Strategie: Mistral direkt? OpenRouter als Abstraktionsschicht? LiteLLM?
  4. Queue/Worker-Architektur: Simpler Auftragsordner vs. Message Queue – hängt an Batch-Emoji-Feature
  5. Monitoring: Healthchecks, Fehler-Notifications via Telegram?
  6. Emoji-Set: Welche Emojis, welche Bedeutung? Prozess-Instruktionen vs. Kategorie-Signale
  7. Hetzner VPS Sizing: 4 GB oder 8 GB RAM? Beeinflusst Whisper-Modellwahl