Aktueller technischer Stand. Enthält Pipeline-Übersicht, Komponentenwahl und offene Positionen. Letzte Aktualisierung: 2026-03-16 (Session 02)
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.
┌─────────────┐ ┌──────────────────┐ ┌─────────────────┐ ┌──────────────────┐ ┌─────────────────┐
│ 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) │
└─────────────┘
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/
Siehe ADR-003. Jede Stufe liest und ergänzt das Manifest.
| 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 |
| 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 |
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+.
┌──────────────────────────────────┐
│ 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) │
└──────────────────────────────────┘
- Wie kommt die Obsidian-Notiz vom VPS in den lokalen Vault? Optionen: Git-Push vom VPS, Syncthing, rsync-Cronjob, Telegram als Transportkanal
- Vault-Ordnungssystem (Magnum Opus): Multidimensionale Taxonomie, Tags, Links, Properties – iterativ zu entwickeln
- API-Gateway-Strategie: Mistral direkt? OpenRouter als Abstraktionsschicht? LiteLLM?
- Queue/Worker-Architektur: Simpler Auftragsordner vs. Message Queue – hängt an Batch-Emoji-Feature
- Monitoring: Healthchecks, Fehler-Notifications via Telegram?
- Emoji-Set: Welche Emojis, welche Bedeutung? Prozess-Instruktionen vs. Kategorie-Signale
- Hetzner VPS Sizing: 4 GB oder 8 GB RAM? Beeinflusst Whisper-Modellwahl