Verwandeln Sie Ihre Stimme in intelligente, strukturierte Inhalte mit KI-gestützter Transkription und Anreicherung.
Eine moderne Desktop-Anwendung, die Spracheingaben aufnimmt, sie mit OpenAI Whisper transkribiert und mit Anthropic Claude anreichert - alles zugänglich über einen globalen Hotkey für nahtlose Workflow-Integration.
In der heutigen schnelllebigen digitalen Arbeitswelt ist das manuelle Tippen von Notizen, E-Mails oder strukturierten Inhalten zeitaufwändig und unterbricht den kreativen Fluss. Voice AI Desktop löst dies durch:
- Sofortige Sprachaufnahme: Nehmen Sie Ihre Gedanken mit einem einzigen Tastendruck auf
- Präzise Transkription: Wandeln Sie Sprache mit OpenAI's Whisper-Modell in Text um
- Intelligente Anreicherung: Verwandeln Sie rohe Transkriptionen in ausgefeilte, strukturierte Inhalte
- Kontextbezogene Verarbeitung: Wählen Sie aus 5 Anreicherungsmodi (Zusammenfassung, Meetingnotizen, Todos, E-Mails, Code)
- Nahtlose Integration: Globale Hotkey-Aktivierung + Zwischenablage-Integration
┌─────────────────────────────────────────────────────────────┐
│ Voice AI Desktop │
├─────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ Frontend (Next.js + React) │ │
│ │ ┌───────────┐ ┌────────────┐ ┌──────────────┐ │ │
│ │ │ Aufnahme- │ │ Modus- │ │ Ergebnis- │ │ │
│ │ │ Interface │ │ Auswahl │ │ Anzeige │ │ │
│ │ └───────────┘ └────────────┘ └──────────────┘ │ │
│ │ │ │
│ │ ┌─────────────────────────────────────────────┐ │ │
│ │ │ Audio Recorder Hook │ │ │
│ │ │ - Tauri Commands (Rust) │ │ │
│ │ │ - Python/PipeWire Backend │ │ │
│ │ └─────────────────────────────────────────────┘ │ │
│ └─────────────────────────────────────────────────────┘ │
│ │ │
│ ▼ │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ API-Integrationsschicht │ │
│ │ ┌──────────────┐ ┌──────────────────┐ │ │
│ │ │ OpenAI │ │ Anthropic │ │ │
│ │ │ Whisper API │──────▶ │ Claude API │ │ │
│ │ │ │ │ │ │ │
│ │ │ Transkription│ │ Text-Anreicherung│ │ │
│ │ └──────────────┘ └──────────────────┘ │ │
│ └─────────────────────────────────────────────────────┘ │
│ │ │
│ ▼ │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ Desktop-Runtime (Tauri/Rust) │ │
│ │ ┌──────────────────────────────────────────────┐ │ │
│ │ │ Globaler Hotkey (Strg+Shift+V) │ │ │
│ │ │ - Fenster-Aktivierung │ │ │
│ │ │ - Fokus-Verwaltung │ │ │
│ │ └──────────────────────────────────────────────┘ │ │
│ └─────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────┘
Datenfluss
──────────
Spracheingabe → Aufnahme → Audio-Blob → Whisper API → Transkription
│
▼
Claude API ← Gewählter Modus
│
▼
Angereicherter Text → Anzeige + Zwischenablage
Frontend
- Next.js 16: React-Framework mit App Router und statischem Export
- React 19: UI-Komponenten und State-Management
- TypeScript: Typsichere Entwicklung
- Tailwind CSS 4: Modernes, utility-first Styling
- Lucide React: Schöne Icon-Bibliothek
Desktop-Runtime
- Tauri 2.9: Leichtgewichtiges Rust-basiertes Desktop-Framework
- Rust: Backend für globale Shortcuts und System-Integration
KI & APIs
- OpenAI Whisper API: Modernste Sprach-zu-Text-Technologie
- Anthropic Claude Sonnet 4.5: Fortschrittliche Textverarbeitung und Anreicherung
Hauptfunktionen
- Segment-basierte Audio-Aufnahme mit PipeWire (Linux-nativ)
- Globale Hotkey-Registrierung (Strg+Shift+V)
- Keyboard Shortcuts (Space, Ctrl) für nahtlose Steuerung
- Zwischenablage-API-Integration
- Multi-Modus KI-Anreicherungssystem
- Ein-Klick-Aufnahme: Großer, intuitiver Aufnahme-Button mit visuellem Feedback
- Echtzeit-Status: Klare Indikatoren für Aufnahme-, Verarbeitungs- und Abschlusszustände
- Fehlerbehandlung: Elegante Fehlermeldungen und Wiederherstellung
- 📝 Zusammenfassung: Prägnante, gut strukturierte Zusammenfassungen mit Kernpunkten
- 📋 Meetingnotizen: Strukturiertes Format mit Themen, Entscheidungen und Aktionspunkten
- ✅ Todo-Liste: Extrahierte Aktionspunkte mit Checkboxen und Prioritäten
- ✉️ E-Mail-Entwurf: Professionelle E-Mail-Formatierung mit Betreff und Begrüßung
- 💻 Code-Snippet: Code-Generierung aus verbalen Beschreibungen
- Globaler Hotkey: Drücken Sie
Strg+Shift+Vüberall, um die App zu aktivieren - In Zwischenablage kopieren: Ein-Klick-Kopieren von Transkription oder angereichertem Text
- Visuelles Feedback: "Kopiert!"-Bestätigung mit Icons
- Moderne UI: Dunkles Theme mit Farbverläufen und Glasmorphismus-Karten
Entwicklungs-Tools:
- Node.js 20+ und npm
- Rust 1.77.2+ (für Tauri)
- Git
System-Dependencies (Linux):
- Python 3.8+
- PipeWire (modernes Linux Audio-System)
- ffmpeg (für Audio-Segment-Merge)
Ubuntu/Debian Installation:
sudo apt update
sudo apt install python3 pipewire ffmpegFedora/RHEL Installation:
sudo dnf install python3 pipewire ffmpegArch Linux Installation:
sudo pacman -S python pipewire ffmpeg# Repository klonen
git clone https://github.com/fatihaltiok/voice-ai-desktop-.git
cd voice-ai-desktop-
# Setup-Script ausführen (installiert System-Dependencies + npm packages)
./setup.sh- Repository klonen
git clone https://github.com/fatihaltiok/voice-ai-desktop-.git
cd voice-ai-desktop--
System-Dependencies installieren (siehe oben je nach OS)
-
npm Dependencies installieren
npm install- API-Keys konfigurieren
Erstellen Sie eine .env.local Datei im Hauptverzeichnis:
cp .env.example .env.localBearbeiten Sie .env.local und fügen Sie Ihre API-Keys hinzu:
# OpenAI API Key (für Whisper Sprach-zu-Text)
NEXT_PUBLIC_OPENAI_API_KEY=sk-proj-ihr-key-hier
# Anthropic API Key (für Claude KI)
NEXT_PUBLIC_ANTHROPIC_API_KEY=sk-ant-api03-ihr-key-hierAPI-Keys erhalten:
- OpenAI: https://platform.openai.com/api-keys
- Anthropic: https://console.anthropic.com/settings/keys
- Im Entwicklungsmodus ausführen
npm run tauri:dev- Für Produktion bauen
npm run tauri:buildDie gebaute Anwendung befindet sich in src-tauri/target/release/bundle/
- Warum: 10x kleinere Bundle-Größe, bessere Performance, erhöhte Sicherheit
- Abwägung: Etwas komplexeres Setup, aber lohnenswert für Desktop-Apps
- Warum: Vereinfacht die Architektur für Desktop-Apps (kein Server benötigt)
- Sicherheit: Sicher im Desktop-Kontext, da Code gebündelt und lokal ausgeführt wird
- Alternative erwogen: Tauri-Commands (würde Rust-Komplexität hinzufügen)
- Warum: Vollständige statische Site-Generierung für optimale Tauri-Kompatibilität
- Vorteil: Schnelles Laden, keine Laufzeit-Server erforderlich
- Warum: Verschiedene Anwendungsfälle erfordern unterschiedliche Formatierung
- Implementierung: Template-basierte Prompts für konsistente Ausgabe
- Erweiterbarkeit: Einfach neue Modi durch Erweitern von MODE_PROMPTS hinzufügen
- Warum: Direkter Hardware-Zugriff über PipeWire, keine Browser-Konvertierung
- Qualität: Verlustfrei, optimiert für Sprache
- Kompatibilität: Whisper API verarbeitet WAV nativ
- Warum: Nicht häufig verwendet, leicht zu merken (V für Voice)
- Plattformübergreifend: Verwendet CommandOrControl für Mac/Windows-Kompatibilität
- Technologie: pw-record (PipeWire native tool) über Python-Subprocess
- Grund: PipeWire ist das moderne Linux-Audio-System und pw-record bietet direkten, zuverlässigen Zugriff auf Hardware-Devices
- Architektur: Tauri/Rust managed den Python-Prozess (Start/Stop/Pause via Signals)
- Segment-Merge: ffmpeg fügt Audio-Segmente bei Pause/Resume zusammen
- Begründung: MVP fokussiert auf sofortige Nutzung + Zwischenablage-Integration
- Zukunft: Könnte SQLite-basierten Verlauf im Tauri-Backend hinzufügen
voice-ai-desktop/
├── app/ # Next.js App-Verzeichnis
│ ├── hooks/ # React Hooks
│ │ └── useAudioRecorder.ts # Audio-Aufnahme-Logik
│ ├── lib/ # Utility-Funktionen
│ │ └── api.ts # OpenAI & Anthropic Integration
│ ├── globals.css # Globale Styles
│ ├── layout.tsx # Root-Layout
│ └── page.tsx # Haupt-Anwendungsseite
├── src-tauri/ # Tauri Rust Backend
│ ├── src/
│ │ ├── audio_recorder.rs # Audio-Aufnahme Manager (Rust)
│ │ ├── lib.rs # Haupt-Tauri-Logik + globaler Hotkey
│ │ └── main.rs # Einstiegspunkt
│ ├── capabilities/ # Tauri-Berechtigungen
│ │ └── default.json # App-Capabilities-Konfiguration
│ ├── icons/ # App-Icons
│ ├── record_audio_pwrecord.py # Python Audio Backend (PipeWire)
│ ├── Cargo.toml # Rust-Dependencies
│ └── tauri.conf.json # Tauri-Konfiguration
├── public/ # Statische Assets
├── .env.local # API-Keys (nicht committed)
├── .env.example # Template für API-Keys
├── .gitignore # Git-Ignore-Regeln
├── requirements.txt # Python-Dependencies (nur stdlib)
├── setup.sh # Automatisches Setup-Script
├── next.config.ts # Next.js-Konfiguration
├── package.json # Node-Dependencies & Scripts
├── tailwind.config.ts # Tailwind CSS Konfiguration
├── tsconfig.json # TypeScript-Konfiguration
└── README.md # Diese Datei
- App starten (Entwicklungs- oder Produktions-Build)
- Aufnahme-Button drücken oder globalen Hotkey
Strg+Shift+Vverwenden - Anreicherungsmodus wählen (Zusammenfassung, Meetingnotizen, Todo, E-Mail oder Code)
- Aufnahme starten - sprechen Sie klar in Ihr Mikrofon
- Aufnahme stoppen - die App transkribiert und reichert automatisch an
- Ergebnisse kopieren - verwenden Sie die Kopier-Buttons, um in jede Anwendung einzufügen
- Audio-Aufnahme startet und stoppt korrekt
- Mikrofon-Berechtigungsabfrage erscheint
- Transkription liefert präzisen Text
- Alle 5 Anreicherungsmodi funktionieren wie erwartet
- In Zwischenablage kopieren funktioniert einwandfrei
- Globaler Hotkey aktiviert das Fenster
- Fehlermeldungen werden bei API-Ausfällen angezeigt
- UI ist responsiv und visuell ausgereift
- Ubuntu 22.04 LTS (Entwicklung)
- Linux mit GNOME Desktop-Umgebung
[0:00-0:10] Einführung
- "Hallo, ich bin [Ihr Name], und das ist Voice AI Desktop"
- "Ein Tool, das Ihre Stimme in strukturierte, KI-verbesserte Inhalte verwandelt"
[0:10-0:30] Problem & Lösung
- "Das Tippen von Notizen, E-Mails und Todos unterbricht den Arbeitsfluss"
- "Voice AI Desktop lässt Sie natürlich sprechen und liefert formatierte, professionelle Ergebnisse"
[0:30-1:30] Feature-Demo
- Zeigen Sie die UI
- Demonstrieren Sie die Aufnahme
- Zeigen Sie erscheinende Transkription
- Heben Sie Anreicherungsmodi hervor
- Demo: In Zwischenablage kopieren
- Globale Hotkey-Aktivierung
[1:30-2:00] Technische Highlights
- "Gebaut mit Next.js und Tauri für ein leichtgewichtiges Desktop-Erlebnis"
- "Angetrieben von OpenAI Whisper für Transkription"
- "Verbessert durch Claude KI für intelligente Textverarbeitung"
[2:00-2:30] Anwendungsfälle
- "Perfekt für Meetingnotizen, schnelle Todos, E-Mail-Entwürfe und mehr"
- "Greifen Sie sofort mit Strg+Shift+V von überall darauf zu"
[2:30-2:45] Abschluss
- "Schauen Sie sich das Repository für Setup-Anweisungen an"
- "Vielen Dank fürs Zuschauen!"
- Verlauf/Archiv: Lokale SQLite-Datenbank für vergangene Aufnahmen
- Export-Formate: Als Markdown, PDF oder Plain-Text-Dateien speichern
- Benutzerdefinierte Modi: Benutzerdefinierte Anreicherungs-Templates
- Sprachaktivitätserkennung: Auto-Stop bei erkannter Stille
- Mehrsprachige Unterstützung: UI-Übersetzungen + Auto-Spracherkennung
- Dark/Light Theme Toggle: Benutzerpräferenz-Unterstützung
- Einstellungs-Panel: Hotkey, Standardmodus, Audioqualität anpassen
- System-Tray-Integration: In Tray minimieren, Schnellzugriffs-Menü
- Offline-Modus: Lokales Whisper-Modell für Transkription ohne API
Dieses Projekt wurde für den KI Beratung Developer Contest erstellt.
Erstellt von Fatih Altiok
GitHub: @fatihaltiok