Documentation in English

Made-with: Cursor
This commit is contained in:
2026-03-06 19:47:37 +01:00
parent f093a06f23
commit c90d2627df
4 changed files with 89 additions and 91 deletions

View File

@@ -1,16 +1,16 @@
---
description: README.md fortlaufend pflegen bei relevanten Änderungen
description: Keep README.md up to date when making relevant changes
alwaysApply: true
---
# README-Wartung
# README Maintenance
Bei Änderungen am Projekt die `README.md` im Repo-Root aktualisieren, wenn betroffen:
When changing the project, update `README.md` in the repo root if affected:
- **Neue Features** → Abschnitt „Schnellstart oder „Konfiguration“ ergänzen
- **Geänderte Pfade** (Config, Build) → Tabelle/Text anpassen
- **Neue Abhängigkeiten** → Voraussetzungen aktualisieren
- **Plattform-Änderungen** → Tabelle oder Verweis auf PLATFORM.md
- **Projektstruktur** → Verzeichnisbaum anpassen
- **New features** → Add to "Quick Start" or "Configuration" section
- **Changed paths** (config, build) → Update table/text
- **New dependencies** → Update prerequisites
- **Platform changes** → Update table or reference to PLATFORM.md
- **Project structure** → Adjust directory tree
Die README soll für neue Nutzer verständlich und aktuell bleiben.
The README should remain clear and up to date for new users.

View File

@@ -1,59 +1,59 @@
# HotKeet Plattform-Unterstützung
# HotKeet Platform Support
## Übersicht
## Overview
| Plattform | Status | Hinweise |
|-----------|--------|----------|
| **Windows** | ✅ Voll unterstützt | Primäre Zielplattform |
| **Linux** | ⚠️ Lauffähig mit Anpassungen | Tray, Audio, Hotkeys funktionieren |
| **macOS** | ⚠️ Lauffähig mit Anpassungen | Tray-Events müssen im Main-Thread laufen |
| Platform | Status | Notes |
|----------|--------|-------|
| **Windows** | ✅ Fully supported | Primary target platform |
| **Linux** | ⚠️ Runs with adjustments | Tray, audio, hotkeys work |
| **macOS** | ⚠️ Runs with adjustments | Tray events must run in main thread |
## Windows
- System-Tray mit Icon
- PlaySound/MessageBeep für Signaltöne
- WM_CLOSE → Minimieren ins Tray
- Konfiguration: `%LOCALAPPDATA%\HotKeet\settings.json`
- Parakeet-Standardpfade: `C:\voice2text\`
- System tray with icon
- PlaySound/MessageBeep for audio feedback
- WM_CLOSE → minimize to tray
- Configuration: `%LOCALAPPDATA%\HotKeet\settings.json`
- Parakeet default paths: `C:\voice2text\`
## Linux
### Voraussetzungen
### Prerequisites
- **Tray**: `libappindicator3` oder `libayatana-appindicator3` (für System-Tray)
- **Audio**: `cpal` nutzt ALSA/PulseAudio
- **Hotkeys**: `rdev` benötigt evtl. Root oder Input-Gruppe für globale Hotkeys
- **Tray**: `libappindicator3` or `libayatana-appindicator3` (for system tray)
- **Audio**: `cpal` uses ALSA/PulseAudio
- **Hotkeys**: `rdev` may require root or input group for global hotkeys
### Konfiguration
### Configuration
- Pfad: `~/.config/HotKeet/settings.json` (oder `$XDG_CONFIG_HOME/HotKeet/`)
- Parakeet-CLI Standard: `/usr/local/bin/parakeet-cli`
- Modell Standard: `/usr/local/share/voice2text/models/parakeet-tdt-0.6b-v3-int8`
- Path: `~/.config/HotKeet/settings.json` (or `$XDG_CONFIG_HOME/HotKeet/`)
- Parakeet-CLI default: `/usr/local/bin/parakeet-cli`
- Model default: `/usr/local/share/voice2text/models/parakeet-tdt-0.6b-v3-int8`
### Bekannte Einschränkungen
### Known Limitations
- **Wayland**: Tray-Support kann je nach Desktop-Umgebung variieren
- **Signaltöne**: Terminal-Bell (`\x07`) statt System-Sounds
- **Fokus-Wiederherstellung**: `target_hwnd` (SetForegroundWindow) nur unter Windows
- **Wayland**: Tray support may vary by desktop environment
- **Audio feedback**: Terminal bell (`\x07`) instead of system sounds
- **Focus restoration**: `target_hwnd` (SetForegroundWindow) Windows only
## macOS
### Voraussetzungen
### Prerequisites
- **Tray**: `tray-item` nutzt Cocoa; macOS erfordert, dass UI-Events im Main-Thread verarbeitet werden
- **Audio**: `cpal` nutzt CoreAudio
- **Hotkeys**: `rdev` ggf. Berechtigungen für Eingabemonitoring nötig
- **Tray**: `tray-item` uses Cocoa; macOS requires UI events in main thread
- **Audio**: `cpal` uses CoreAudio
- **Hotkeys**: `rdev` may need permissions for input monitoring
### Konfiguration
### Configuration
- Pfad: `~/.config/HotKeet/settings.json` (bzw. `$XDG_CONFIG_HOME/HotKeet/`)
- Parakeet-CLI Standard: `/usr/local/bin/parakeet-cli`
- Path: `~/.config/HotKeet/settings.json` (or `$XDG_CONFIG_HOME/HotKeet/`)
- Parakeet-CLI default: `/usr/local/bin/parakeet-cli`
### Bekannte Einschränkungen
### Known Limitations
- **Tray**: Unter macOS müssen Tray-Events im Main-Thread laufen; ggf. Anpassung nötig
- **Signaltöne**: Terminal-Bell statt System-Sounds
- **Fokus**: Kein HWNDquivalent
- **Tray**: On macOS, tray events must run in main thread; adjustment may be needed
- **Audio feedback**: Terminal bell instead of system sounds
- **Focus**: No HWND equivalent
## Build
@@ -68,8 +68,8 @@ cargo build --release
cargo build --release
```
**Hinweis**: Die `.cargo/config.toml` enthält Windows-spezifische Linker-Flags und wird unter Linux/macOS ignoriert.
**Note**: `.cargo/config.toml` contains Windows-specific linker flags and is ignored on Linux/macOS.
## Migration von mediSchnack-dictate
## Migration from mediSchnack-dictate
Alte Konfiguration unter `%LOCALAPPDATA%\medischnack\dictate-settings.json` oder `%LOCALAPPDATA%\hotkeet\settings.json` wird nicht automatisch übernommen. Bei Bedarf manuell nach `HotKeet\settings.json` kopieren.
Old configuration under `%LOCALAPPDATA%\medischnack\dictate-settings.json` or `%LOCALAPPDATA%\hotkeet\settings.json` is not migrated automatically. Copy manually to `HotKeet\settings.json` if needed.

View File

@@ -1,77 +1,77 @@
# HotKeet
Push-to-Talk Diktier-App mit Offline-Spracherkennung. Hotkey gedrückt = aufnehmen, losgelassen = stoppen, transkribieren, einfügen.
Push-to-Talk dictation app with offline speech recognition. Hold hotkey = record, release = stop, transcribe, paste.
## Übersicht
## Overview
| Komponente | Beschreibung |
|------------|--------------|
| **HotKeet** | GUI-App: Aufnahme, Transkription, Texteinfügung per Hotkey |
| **parakeet-cli** | CLI für Parakeet v3 Speech-to-Text (transcribe-rs) |
| Component | Description |
|-----------|-------------|
| **HotKeet** | GUI app: recording, transcription, text insertion via hotkey |
| **parakeet-cli** | CLI for Parakeet v3 Speech-to-Text (transcribe-rs) |
## Schnellstart
## Quick Start
### Voraussetzungen
### Prerequisites
- Rust (1.70+)
- **parakeet-cli** muss gebaut und erreichbar sein (im PATH oder Pfad konfigurieren)
- Parakeet-Modell (z.B. `parakeet-tdt-0.6b-v3-int8`)
- **parakeet-cli** must be built and available (in PATH or configure path)
- Parakeet model (e.g. `parakeet-tdt-0.6b-v3-int8`)
### Build
```bash
# parakeet-cli zuerst bauen
# Build parakeet-cli first
cd parakeet-cli
cargo build --release
# HotKeet bauen
# Build HotKeet
cd ../HotKeet
cargo build --release
# oder unter Windows: build.cmd
# or on Windows: build.cmd
```
### Erste Schritte
### First Steps
1. HotKeet starten läuft im Tray
2. Rechtsklick auf Tray-Icon → **Einstellungen**
3. **parakeet-cli** und **Modellpfad** per „Durchsuchen…“ auswählen (oder leer lassen = Standard)
4. **Mikrofon** wählen
5. **Speichern**
1. Start HotKeet runs in system tray
2. Right-click tray icon → **Settings**
3. Select **parakeet-cli** and **model path** via "Browse…" (or leave empty = default)
4. Choose **microphone**
5. **Save**
Standard-Hotkey: **Ctrl+Shift+D** (drücken = Aufnahme, loslassen = Transkription + Einfügen)
Default hotkey: **Ctrl+Shift+D** (hold = record, release = transcribe + paste)
## Konfiguration
## Configuration
| Einstellung | Beschreibung |
|-------------|-------------|
| **Hotkey** | Globaler Push-to-Talk (z.B. Ctrl+Shift+D) |
| **Eingabequelle** | Companion-App oder Mikrofon |
| **parakeet-cli Pfad** | Leer = im PATH (Standard: parakeet-cli) |
| **Modellpfad** | Leer = Standardpfad (plattformabhängig) |
| **Einfügemethode** | Auto | Tastaturpuffer | Zwischenablage |
| Setting | Description |
|---------|-------------|
| **Hotkey** | Global Push-to-Talk (e.g. Ctrl+Shift+D) |
| **Input source** | Companion app or microphone |
| **parakeet-cli path** | Empty = in PATH (default: parakeet-cli) |
| **Model path** | Empty = default path (platform-dependent) |
| **Paste method** | Auto | Keyboard buffer | Clipboard |
**Speicherort:** `%LOCALAPPDATA%\HotKeet\settings.json` (Windows) bzw. `~/.config/HotKeet/settings.json` (Linux/macOS)
**Storage location:** `%LOCALAPPDATA%\HotKeet\settings.json` (Windows) or `~/.config/HotKeet/settings.json` (Linux/macOS)
## Plattformen
## Platforms
| Plattform | Status |
|-----------|--------|
| **Windows** | ✅ Voll unterstützt |
| **Linux** | ⚠️ Lauffähig (Tray: libappindicator) |
| **macOS** | ⚠️ Lauffähig |
| Platform | Status |
|----------|--------|
| **Windows** | ✅ Fully supported |
| **Linux** | ⚠️ Runs (Tray: libappindicator) |
| **macOS** | ⚠️ Runs |
Details: [HotKeet/PLATFORM.md](HotKeet/PLATFORM.md)
## Projektstruktur
## Project Structure
```
HotKeet/
├── HotKeet/ # Diktier-App (Rust, egui)
├── parakeet-cli/ # Transkriptions-CLI (Rust, ONNX)
├── HotKeet/ # Dictation app (Rust, egui)
├── parakeet-cli/ # Transcription CLI (Rust, ONNX)
├── LICENSE # MIT
└── README.md
```
## Lizenz
## License
[MIT License](LICENSE)

View File

@@ -1,18 +1,16 @@
# parakeet-cli
CLI für Parakeet v3 Speech-to-Text (transcribe-rs). Wird von mediSchnack als natives Offline-Modell genutzt.
CLI for Parakeet v3 Speech-to-Text (transcribe-rs). Used by HotKeet as native offline model.
## Build
```bash
cd mediSchnack/parakeet-cli
cd parakeet-cli
cargo build --release
```
**Hinweis:** Bei Rust < 1.88 muss `ort` auf eine kompatible Version gepinnt werden:
**Note:** With Rust < 1.88, pin `ort` to a compatible version:
```bash
cargo update -p ort -p ort-sys --precise 2.0.0-rc.10
```
Die `parakeet-cli.exe` wird beim mediSchnack-Build automatisch nach `bin/` kopiert, sofern sie unter `parakeet-cli/target/release/` existiert.