Launches Blurt via `uv run --project`, which resolves the project/venv
without altering cwd. Blurt anchors all config to the script location,
so no working-directory change is needed.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
README documents minimal setup, run, and config for Linux and Windows. export.py bundles just the source into a zip (no .venv, caches, or API key files) for moving to another machine; it's pure stdlib run via 'uv run export.py', so it behaves identically on Linux and Windows with no shell required.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Transcription:
- Provider-pluggable backend: each model routes to OpenAI (multipart
upload) or OpenRouter (JSON + base64 body). Add OpenRouter's
whisper-large-v3-turbo (Groq-served, ~216x real-time) to the tray
menu for far lower latency than whisper-1.
- Load API keys env -> keyring -> file for both providers via a shared
helper.
- Encode the WAV in memory and reuse a warm requests.Session (no temp file).
Other improvements:
- blurt-toggle signals the running app directly via SIGUSR1 instead of
paying ~0.5s to import the full stack through "uv run blurt toggle".
- Remove the redundant dead blurt shell script.
- Suppress the benign Gdk-CRITICAL warning from pystray's GtkStatusIcon.
- gitignore openrouter_key.txt.
Transcription code is platform-agnostic; the Windows/Linux platform layer
is unchanged.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>