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
+46
View File
@@ -0,0 +1,46 @@
@echo off
cd /d "%~dp0"
echo ========================================
echo Hermes Voice Client -- Build (.exe)
echo ========================================
echo.
:: Venv pruefen
if not exist ".venv\Scripts\activate.bat" (
echo [FEHLER] Bitte erst setup.bat ausfuehren.
pause
exit /b 1
)
:: PyInstaller installieren falls noetig
.venv\Scripts\pip install pyinstaller -q
echo [1/2] Baue HermesVoice.exe ...
.venv\Scripts\pyinstaller ^
--onefile ^
--windowed ^
--name HermesVoice ^
--add-data "assets;assets" ^
--hidden-import "customtkinter" ^
--hidden-import "pynput.keyboard._win32" ^
--hidden-import "pynput.mouse._win32" ^
--collect-all "customtkinter" ^
main.py
echo.
if exist "dist\HermesVoice.exe" (
echo [2/2] Fertig!
echo.
echo dist\HermesVoice.exe ^(%.0f MB^)
echo.
echo Die .exe benoetigt beim ersten Start Internet fuer:
echo - Whisper-Modell-Download ^(~150MB fuer "small"^)
echo - Edge TTS ^(online^)
echo.
for %%I in ("dist\HermesVoice.exe") do echo Groesse: %%~zI Bytes
) else (
echo [FEHLER] Build fehlgeschlagen. Siehe build-Log oben.
)
echo ========================================
pause