feat: v0.1.0 — client Sailfish per hermes-webui con voce

- ApiClient HTTP/SSE: login, sessioni, chat/start, stream SSE, transcribe, tts
- ChatModel: streaming live + risincronizzazione dallo stato del server
- CookieJar persistente (0600, mai la password); Settings
- Recorder OGG/Opus (fallback WAV/PCM, retry); Player TTS (QMediaPlayer)
- UI Silica: splash, login, sessioni, chat (dettatura + read-aloud), settings, cover
- Sailjail Internet;Audio;Microphone; icone; spec RPM; docs PROTOCOL/BUILD
- tests/core_test: unit parser SSE + integrazione live (probe :8899)
This commit is contained in:
2026-09-12 07:11:20 +02:00
commit 9c6a1242f7
36 changed files with 2954 additions and 0 deletions
+22
View File
@@ -0,0 +1,22 @@
[Desktop Entry]
Name=Hermes
Name[it_IT]=Hermes
Comment=Client for the Hermes Web UI with voice
Comment[it_IT]=Client per la Web UI di Hermes con voce
Exec=harbour-hermes
Icon=harbour-hermes
Type=Application
X-Nemo-Application-Type=silica-qt5
Categories=Network;
# Profilo SailJail esplicito: senza X-Sailjail la sandbox di Sailfish 5.1 usa il
# profilo default, che nasconde ~/.config/harbour (config non persistente).
# Org/App dichiarati QUI (letti dalla sandbox) e nel main.cpp (letti da
# QStandardPaths): AppConfigLocation = ~/.config/harbour/hermes (persistente).
# Internet = Web UI di Hermes (HTTPS). Microphone = dettatura vocale.
# Audio = riproduzione delle risposte TTS e registrazione (PulseAudio non
# separa i flussi: il permesso Audio copre entrambi).
[X-Sailjail]
Permissions=Internet;Audio;Microphone
OrganizationName=harbour
ApplicationName=hermes