Feat: Hermes Voice Client — CustomTkinter GUI + Push-to-Talk + .exe Build

- main.py: CustomTkinter GUI (400x520) mit Status-Indikator, Conversation-Log,
  Screenshot-Toggle und Settings-Dialog. Thread-sicherer UI-Queue für Hotkey-Callbacks.
- hotkey_listener.py: pynput globaler Hotkey (press/release) + KeyCapturer für
  interaktive Hotkey-Konfiguration im Settings-Dialog.
- config_manager.py: JSON-Settings in ~/.hermes-voice/settings.json mit DEFAULTS,
  load() merged gespeicherte mit Default-Werten.
- audio_input.py: Vereinfacht auf start_recording/stop_recording/transcribe (kein
  Wake-Word-Loop mehr, direkt hotkey-gesteuert).
- ai_client.py: Settings-dict statt config.py-Imports, MC2-URL/Modelle konfigurierbar.
- requirements.txt: customtkinter>=5.2.0 + pynput>=1.7.6 hinzugefügt, pystray entfernt.
- build.bat: PyInstaller --onefile --windowed → dist/HermesVoice.exe.
- setup.bat: Veraltete Wake-Word-Hinweise entfernt, GUI-Check angepasst.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Hitonabi
2026-06-26 22:23:36 +02:00
parent b51fc899ca
commit 037c4b11df
8 changed files with 555 additions and 239 deletions
+8 -7
View File
@@ -1,9 +1,7 @@
# Hermes Voice Client — Dependencies
# Installation: pip install -r requirements.txt
# Wake Word Detection: Silero VAD + Whisper (kein Account, beliebiges Wort)
# Speech-to-Text (läuft lokal auf CPU)
# Speech-to-Text (lokal auf CPU)
faster-whisper>=1.0.0
# Audio I/O
@@ -18,11 +16,14 @@ edge-tts>=6.1.9
mss>=9.0.1
Pillow>=10.0.0
# HTTP Client (async)
# HTTP Client
httpx>=0.27.0
# System Tray
pystray>=0.19.5
# Audio Playback
pygame>=2.5.0
# GUI
customtkinter>=5.2.0
# Globaler Hotkey
pynput>=1.7.6