astra-local-voice/astra
Jeuner 991f0d1eb5 feat: add voice picker UI and optional Tailnet exposure
Stimmen werden jetzt lazy pro Name geladen und gecacht statt einer
fest verdrahteten Default-Stimme; das UI bekommt ein Dropdown mit
allen 26 deutschen Pocket-TTS-Stimmen (/api/voices), Auswahl wird im
Browser gemerkt und ist während eines laufenden Gesprächs gesperrt.

Zusätzlich ein optionaler ASTRA_TAILNET_HOST, damit die App über
`tailscale serve` auch von einem anderen Gerät im selben Tailnet
erreichbar ist, ohne die Loopback-only-Härtung für alle anderen
Hosts aufzuweichen.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LVgSHNHdRx3UNTBodFmhRA
2026-09-07 15:15:13 +02:00
..
__init__.py feat: initial commit of astra local voice agent 2026-09-07 13:39:51 +02:00
core.py feat: add voice picker UI and optional Tailnet exposure 2026-09-07 15:15:13 +02:00
inference.py feat: add voice picker UI and optional Tailnet exposure 2026-09-07 15:15:13 +02:00
prepare.py feat: add voice picker UI and optional Tailnet exposure 2026-09-07 15:15:13 +02:00
server.py feat: add voice picker UI and optional Tailnet exposure 2026-09-07 15:15:13 +02:00
services.py feat: add voice picker UI and optional Tailnet exposure 2026-09-07 15:15:13 +02:00