Skip to content
Pace
Esc
navigateopen⌘Jpreview
On this page

Local Voice Assistant Category Snapshot

Local Voice Assistant Category Snapshot

Fetched: 2026-06-10 Sources: dottie.ai, OpenFelix README, Pace docs/product/landing/v1-draft.md, user assistant repo ideas (2026-04)

Category Definition

“Private voice assistant for Mac” products combine menu-bar presence, push-to-talk or wake-word input, speech-to-text, a planner/agent loop, optional screen vision, text-to-speech, and macOS tool execution. Representative apps:

  • Dottie — menu-bar coworker; Fn push-to-talk dictation at cursor; “Hey Dottie” wake word; MLX Kokoro TTS; agent mode with large tool surface; dottie:// URL schemes for Shortcuts (record, chat?text=, type?text=).
  • OpenFelix — open-source Swift menu-bar agent; Option+Space voice/text; local MLX models plus optional cloud models; screen vision, cron, proactive Telegram/Discord alerts.
  • Wispr Flow — cloud round-trip dictation; privacy is policy-based, not architectural.

Pace sits in this category but commits to fully on-device speech, vision, reasoning, and TTS with LM Studio loopback planners and Apple Speech STT.

Common UX Patterns

  • Menu-bar or notch capsule (no dock icon).
  • Hold-to-talk global shortcut with audio-reactive UI.
  • Streaming TTS so the assistant speaks before the full response completes.
  • Settings for permissions (mic, speech, accessibility, screen recording).
  • Scriptable automation via custom URL schemes.

User Assistant Repo Ideas (product north star)

The user’s sarthakagrawal927/assistant prototype (Vite chat UI + FastAPI DeepSeek tool loop) captured early product ideas that extend beyond chat:

  • Privacy-first memory — the assistant only knows what the user chooses to expose; visualize captured vs locked context.
  • Proactive assistants — agents that can ping the user when something matters (OpenFelix’s proactive alerts are the closest shipped analogue).
  • Multi-expert routing — complex queries delegate to specialist assistants (Pace’s intent classifier + tool registry are a local-first slice of this).

The web prototype is not integrated (frontend stub, in-memory todos backend) and uses cloud DeepSeek — not the Pace runtime path.

Pace Relevance

Pace already matches the voice-assistant shell: PTT, streaming TTS, planner tool loop, screen context, MCP bridge, approval gates, and menu-bar panel.

Gaps vs category leaders:

Pattern Dottie / OpenFelix Pace today
dottie:// / scriptable URLs Yes Not yet
Wake word Dottie Not yet
Dictation-at-cursor only mode Dottie PTT-to-type Agent-first pipeline
Proactive outbound alerts OpenFelix cron/alerts Watch mode only
Cloud model option Optional upgrade path Intentionally removed

Pace differentiation to keep: no cloud LLM/STT/TTS path, AX-first local actions, eval-gated planner, and loopback-only model endpoints guarded by PaceLocalEndpointGuard.

Convergence path: add pace:// deeplinks, optional dictation-only fast path, and proactive notifications tied to watch-mode or retrieval triggers — without re-opening cloud model transport.

Was this page helpful?