Tome v0.4.0
New
Voice, on-device and out of the box
Voice is now Apple on-device speech recognition on macOS by default — no setup, no brew install, no model download. Talk hands-free from the topbar 🎤 button, or push-to-talk from the chat composer's 🎙; audio never leaves the machine. whisper.cpp stays as the fully-local fallback for offline/air-gap and Linux, and the engine is selectable in Preferences → Voice (Auto / Apple on-device / whisper.cpp).
- Streaming transcription with live partial results, so the assistant starts answering faster.
- Interrupt while it's thinking — just start talking (barge-in now works mid-turn, not only over speech).
- A voice persona that keeps replies short, conversational, and speakable.
- Faster first-word text-to-speech (replies are chunked one sentence at a time).
- A one-click download for the whisper speech model when you choose that engine.
Internal
- A new STT engine abstraction (auto/apple/whisper) resolved consistently across status, engine selection, and transcription, with new streaming commands behind a session worker that keeps Objective-C state off the async runtime.
objc2-speechintegration mirroring the existing Touch ID pattern; on-device recognition is enforced (requiresOnDeviceRecognition) and gated on availability.- Hardened WAV parsing (magic-byte + size validation) and a bounded recognition wait.
- Version bump to 0.4.0; README and threat-model docs updated for the new engine and the explicit-user-action model-download egress.