Releases: a692570/bolo
Bolo alpha 4: Wispr Flow parity features
What's in this release
Auto-silence detection
Recording stops automatically after 1.5 seconds of silence, matching Wispr Flow behavior. Toggleable from the menu bar.
Filler word removal
Words like "um", "uh", "you know", and "and all" are stripped from transcripts before output, producing cleaner text without any manual editing.
Crash fixes
- asyncio daemon thread exceptions are now caught in stt.py so a background thread failure no longer silently kills the process.
- A crash signal handler logs diagnostics on SIGTERM and SIGABRT for easier post-mortem debugging.
Duplicate instance prevention
The supervisor now tracks its own PID and kills any orphaned supervisor loops before restarting. Restarting Bolo no longer spawns a second hidden instance.
Term corrections expanded
LLM cleanup prompt and known-term patterns now cover: Sonnet (previously mangled as "sonnet" or "Saunet"), Kimi K2.5, Qwen, and nova-3. Misrecognition variants are matched by regex so partial matches still correct.
Vocabulary hints via Deepgram keyterms
Custom vocabulary terms are now sent to Deepgram using the keyterms parameter (the correct field for nova-3) instead of the deprecated keywords field, restoring vocabulary boosting.
Live word-count overlay
Long recordings (over a few seconds) now show a running word-count estimate in the overlay so you know the recording is progressing.
Stability: crash-loop guard
Restart delay raised to 5 seconds with a force-kill before restart, preventing rapid crash loops that would exhaust resources.
Known issues
- Long recordings (30s+) show a word-count estimate rather than a live rolling transcript.
- Context awareness (pulling surrounding text from the active app) is not yet implemented.
- Hotkey is not configurable.
- Rate limit UX (Basso sound + countdown overlay), expanded voice commands, and CorrectionStore re-enablement are in progress and will land in alpha.5.
Upgrade: pull latest, restart Bolo from the menu bar.
Bolo alpha 3: corrections, commands, and reliability
This prerelease restores correction memory, expands voice commands, and improves reliability.
What changed
- Auto-restart supervisor loop restored — Bolo now recovers automatically from crashes without manual intervention
- Correction memory re-enabled — "actually [text]" corrections now persist across sessions, with atomic writes and a 200-entry cap
- 9 new voice commands — new line, comma, period, full stop, question mark, exclamation mark, open/close quote, dash, colon, semicolon
- Rate limit feedback — Basso sound and overlay countdown instead of silent drops when rate limited
- Vocabulary → Deepgram keywords — personal vocab terms are now passed to nova-3 STT for better accuracy on names and brand terms
- Recording stuck watchdog — force-stops a stuck recording session only if the key is genuinely not held (safe for long voice notes)
Known issues
- Long-form dictation still needs more real-world validation
- Core pipeline logic still concentrated in bolo.py
- Hotkey is not yet configurable
Bolo alpha 2: long-form and runtime fixes
This prerelease improves long-form dictation and day-to-day runtime behavior.
What changed
- Added long-form stream vs batch reconciliation
- Added chunked batch retry for suspicious long dictation that looks cut off
- Improved release-path and restart stability
- Fixed duplicate supervisor and duplicate menubar instance issues
- Added a simple restart helper via ./restart.sh
- Improved overlay readability for long previews and final text
- Added better latency and long-form diagnostics
Known issues
- Long-form dictation still needs more real-world validation
- Rate-limit handling is better, but not fully polished
- Core pipeline logic is still concentrated in bolo.py
Bolo alpha: overlay, session, and accuracy fixes
This is an alpha prerelease, not a stable release.
What changed:
- improved overlay visibility and non-focus-stealing behavior
- reduced stuck-state and session race issues
- disabled risky learned correction memory
- added vocabulary support and more conservative cleanup behavior
- improved long-dictation handling and safer finalization
- split parts of the monolith into smaller modules
Known issues:
- latency is still uneven, especially on longer dictation
- STT accuracy on certain terms still needs work
- long-form dictation still relies on safer but slower finalization
- this build is suitable for testing, not a polished stable release
v1.1.0 - Stability, corrections, and visual feedback
What's new since initial release
New features
- Recording overlay shows "Speak" indicator while dictating
- Correction system: double-tap Right Option within 3s to redo last transcript, auto-learns corrections
- Click menubar icon to copy last transcript
- Session history (last 10 transcripts) in menubar
Reliability improvements
- Heartbeat monitoring auto-restarts event tap if the thread dies
- CGEventTap watchdog re-enables tap if macOS disables it
- Auto-restart loop recovers from crashes
- Mic initialization retries up to 3 times on failure
- Pipeline timeout plays error sound if STT takes >8s
Quality improvements
- Switched to Nova-3 as primary STT (faster, more accurate)
- LLM cleanup fixes brand names: Telnyx, Wispr Flow, Bolo
- LLM prompt no longer answers dictated questions
Installation
git clone https://github.com/a692570/bolo.git
cd bolo
git checkout v1.1.0
./install.shRequires a free Telnyx API key from telnyx.com.