Skip to content

Wake-Word: On-demand-Download von openwakeword im Tray #30

Description

@RTF22

Folge-Issue zu #28.

Kontext

#28 hat Wake-Word („Hey Jarvis") als opt-in Feature geliefert, aber in der portablen .exe bleibt der Tray-Toggle unsichtbar — openwakeword + onnxruntime sind ~150 MB und werden absichtlich nicht ins Bundle gezogen.

Idee

Eigener Tray-Menüpunkt, sichtbar wenn wakeword.is_available() == False und wir aus dem .exe-Bundle laufen (updater.is_frozen_bundle()):

„Wake-Word aktivieren (lädt ~150 MB)…"

Klick → Background-Thread:

  1. Bestätigungs-Dialog mit Größenhinweis.
  2. Wheels von PyPI ziehen: openwakeword + onnxruntime (cp312, win_amd64).
  3. Entpacken nach %APPDATA%/VOCIX/extras/.
  4. Pfad zu sys.path prepend.
  5. importlib.invalidate_caches() + Re-Import von vocix.wakeword.
  6. Toggle erscheint, Status-Toast „Wake-Word installiert".

Beim nächsten Start extras/ automatisch in sys.path, falls vorhanden.

Offene Punkte

  • PyPI-JSON-API (https://pypi.org/pypi/<name>/json) → richtige Wheel-URL für Python-Version + Plattform.
  • onnxruntime-Wheel hat C-Extensions — funktioniert das Pfad-Prepend ohne weitere Tricks?
  • Modelldateien (hey_jarvis_v0.1.onnx) zieht openwakeword beim ersten Start selbst nach ~/.cache/openwakeword/.
  • Deinstall-Eintrag („Wake-Word entfernen") = extras/-Ordner löschen.

Acceptance

  • .exe-User sieht Tray-Eintrag „Wake-Word aktivieren (lädt ~150 MB)…", wenn Feature nicht installiert.
  • Klick lädt + entpackt + aktiviert ohne Neustart.
  • Status-Persistenz, beim Restart kein erneuter Download.
  • Fehler-Dialog wenn Download/Entpacken fehlschlägt.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions