Config-Pfad HotKeet, README, MIT-Lizenz
- Einstellungen: %LOCALAPPDATA%\HotKeet (statt hotkeet) - README.md mit Schnellstart, Konfiguration, Projektstruktur - MIT-Lizenz (LICENSE) - Cursor-Regel für README-Pflege Made-with: Cursor
This commit is contained in:
16
.cursor/rules/readme-maintenance.mdc
Normal file
16
.cursor/rules/readme-maintenance.mdc
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
---
|
||||||
|
description: README.md fortlaufend pflegen bei relevanten Änderungen
|
||||||
|
alwaysApply: true
|
||||||
|
---
|
||||||
|
|
||||||
|
# README-Wartung
|
||||||
|
|
||||||
|
Bei Änderungen am Projekt die `README.md` im Repo-Root aktualisieren, wenn betroffen:
|
||||||
|
|
||||||
|
- **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
|
||||||
|
|
||||||
|
Die README soll für neue Nutzer verständlich und aktuell bleiben.
|
||||||
@@ -13,7 +13,7 @@
|
|||||||
- System-Tray mit Icon
|
- System-Tray mit Icon
|
||||||
- PlaySound/MessageBeep für Signaltöne
|
- PlaySound/MessageBeep für Signaltöne
|
||||||
- WM_CLOSE → Minimieren ins Tray
|
- WM_CLOSE → Minimieren ins Tray
|
||||||
- Konfiguration: `%LOCALAPPDATA%\hotkeet\settings.json`
|
- Konfiguration: `%LOCALAPPDATA%\HotKeet\settings.json`
|
||||||
- Parakeet-Standardpfade: `C:\voice2text\`
|
- Parakeet-Standardpfade: `C:\voice2text\`
|
||||||
|
|
||||||
## Linux
|
## Linux
|
||||||
@@ -26,7 +26,7 @@
|
|||||||
|
|
||||||
### Konfiguration
|
### Konfiguration
|
||||||
|
|
||||||
- Pfad: `~/.config/hotkeet/settings.json` (oder `$XDG_CONFIG_HOME/hotkeet/`)
|
- Pfad: `~/.config/HotKeet/settings.json` (oder `$XDG_CONFIG_HOME/HotKeet/`)
|
||||||
- Parakeet-CLI Standard: `/usr/local/bin/parakeet-cli`
|
- Parakeet-CLI Standard: `/usr/local/bin/parakeet-cli`
|
||||||
- Modell Standard: `/usr/local/share/voice2text/models/parakeet-tdt-0.6b-v3-int8`
|
- Modell Standard: `/usr/local/share/voice2text/models/parakeet-tdt-0.6b-v3-int8`
|
||||||
|
|
||||||
@@ -46,7 +46,7 @@
|
|||||||
|
|
||||||
### Konfiguration
|
### Konfiguration
|
||||||
|
|
||||||
- Pfad: `~/.config/hotkeet/settings.json` (bzw. `$XDG_CONFIG_HOME/hotkeet/`)
|
- Pfad: `~/.config/HotKeet/settings.json` (bzw. `$XDG_CONFIG_HOME/HotKeet/`)
|
||||||
- Parakeet-CLI Standard: `/usr/local/bin/parakeet-cli`
|
- Parakeet-CLI Standard: `/usr/local/bin/parakeet-cli`
|
||||||
|
|
||||||
### Bekannte Einschränkungen
|
### Bekannte Einschränkungen
|
||||||
@@ -72,4 +72,4 @@ cargo build --release
|
|||||||
|
|
||||||
## Migration von mediSchnack-dictate
|
## Migration von mediSchnack-dictate
|
||||||
|
|
||||||
Alte Konfiguration unter `%LOCALAPPDATA%\medischnack\dictate-settings.json` wird nicht automatisch übernommen. Bei Bedarf manuell nach `hotkeet/settings.json` kopieren.
|
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.
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
//! Konfiguration für HotKeet.
|
//! Konfiguration für HotKeet.
|
||||||
//! Speicherort: Windows %LOCALAPPDATA%\hotkeet\, Linux/macOS ~/.config/hotkeet/
|
//! Speicherort: Windows %LOCALAPPDATA%\HotKeet\, Linux/macOS ~/.config/HotKeet/
|
||||||
|
|
||||||
use serde::{Deserialize, Serialize};
|
use serde::{Deserialize, Serialize};
|
||||||
use std::path::PathBuf;
|
use std::path::PathBuf;
|
||||||
@@ -108,7 +108,7 @@ impl DictateConfig {
|
|||||||
{
|
{
|
||||||
let base = std::env::var("LOCALAPPDATA")
|
let base = std::env::var("LOCALAPPDATA")
|
||||||
.unwrap_or_else(|_| std::env::var("USERPROFILE").unwrap_or_else(|_| ".".to_string()));
|
.unwrap_or_else(|_| std::env::var("USERPROFILE").unwrap_or_else(|_| ".".to_string()));
|
||||||
PathBuf::from(base).join("hotkeet").join("settings.json")
|
PathBuf::from(base).join("HotKeet").join("settings.json")
|
||||||
}
|
}
|
||||||
#[cfg(not(windows))]
|
#[cfg(not(windows))]
|
||||||
{
|
{
|
||||||
@@ -118,7 +118,7 @@ impl DictateConfig {
|
|||||||
.map(|h| format!("{}/.config", h))
|
.map(|h| format!("{}/.config", h))
|
||||||
.unwrap_or_else(|_| ".".to_string())
|
.unwrap_or_else(|_| ".".to_string())
|
||||||
});
|
});
|
||||||
PathBuf::from(base).join("hotkeet").join("settings.json")
|
PathBuf::from(base).join("HotKeet").join("settings.json")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
21
LICENSE
Normal file
21
LICENSE
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
MIT License
|
||||||
|
|
||||||
|
Copyright (c) 2025 HotKeet Contributors
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in all
|
||||||
|
copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
SOFTWARE.
|
||||||
77
README.md
Normal file
77
README.md
Normal file
@@ -0,0 +1,77 @@
|
|||||||
|
# HotKeet
|
||||||
|
|
||||||
|
Push-to-Talk Diktier-App mit Offline-Spracherkennung. Hotkey gedrückt = aufnehmen, losgelassen = stoppen, transkribieren, einfügen.
|
||||||
|
|
||||||
|
## Übersicht
|
||||||
|
|
||||||
|
| Komponente | Beschreibung |
|
||||||
|
|------------|--------------|
|
||||||
|
| **HotKeet** | GUI-App: Aufnahme, Transkription, Texteinfügung per Hotkey |
|
||||||
|
| **parakeet-cli** | CLI für Parakeet v3 Speech-to-Text (transcribe-rs) |
|
||||||
|
|
||||||
|
## Schnellstart
|
||||||
|
|
||||||
|
### Voraussetzungen
|
||||||
|
|
||||||
|
- 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`)
|
||||||
|
|
||||||
|
### Build
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# parakeet-cli zuerst bauen
|
||||||
|
cd parakeet-cli
|
||||||
|
cargo build --release
|
||||||
|
|
||||||
|
# HotKeet bauen
|
||||||
|
cd ../HotKeet
|
||||||
|
cargo build --release
|
||||||
|
# oder unter Windows: build.cmd
|
||||||
|
```
|
||||||
|
|
||||||
|
### Erste Schritte
|
||||||
|
|
||||||
|
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**
|
||||||
|
|
||||||
|
Standard-Hotkey: **Ctrl+Shift+D** (drücken = Aufnahme, loslassen = Transkription + Einfügen)
|
||||||
|
|
||||||
|
## Konfiguration
|
||||||
|
|
||||||
|
| 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 |
|
||||||
|
|
||||||
|
**Speicherort:** `%LOCALAPPDATA%\HotKeet\settings.json` (Windows) bzw. `~/.config/HotKeet/settings.json` (Linux/macOS)
|
||||||
|
|
||||||
|
## Plattformen
|
||||||
|
|
||||||
|
| Plattform | Status |
|
||||||
|
|-----------|--------|
|
||||||
|
| **Windows** | ✅ Voll unterstützt |
|
||||||
|
| **Linux** | ⚠️ Lauffähig (Tray: libappindicator) |
|
||||||
|
| **macOS** | ⚠️ Lauffähig |
|
||||||
|
|
||||||
|
Details: [HotKeet/PLATFORM.md](HotKeet/PLATFORM.md)
|
||||||
|
|
||||||
|
## Projektstruktur
|
||||||
|
|
||||||
|
```
|
||||||
|
HotKeet/
|
||||||
|
├── HotKeet/ # Diktier-App (Rust, egui)
|
||||||
|
├── parakeet-cli/ # Transkriptions-CLI (Rust, ONNX)
|
||||||
|
├── LICENSE # MIT
|
||||||
|
└── README.md
|
||||||
|
```
|
||||||
|
|
||||||
|
## Lizenz
|
||||||
|
|
||||||
|
[MIT License](LICENSE)
|
||||||
Reference in New Issue
Block a user