All posts
Product2026-08-25

Hotkeys, Wake Words, History: Build a Voice Workflow You Keep

Most people try voice input twice: once as a novelty, once after a wrist scare. Both times it fails for the same reason, not the transcription but the workflow. A setup survives daily use when capture is instant, hands-free modes exist for messy moments, and nothing you said is ever lost.

One trigger per mode

DictatorFlow runs as a daemon (dictatorflow --listen) that owns global hotkeys system-wide. Each register of speech gets its own key, so the computer never guesses whether your words were meant as prose or as an action:

  • ctrl+shift+d dictate: transcribe and paste into whatever has focus.
  • ctrl+alt+j command: process the utterance as an instruction instead of text.
  • ctrl+shift+alt+space conversation: open a live back-and-forth session.
  • ctrl+alt+r research: speak a question, dispatch it to a local coding agent, get markdown back.

Wake words for hands-busy moments

Hotkeys fail exactly when voice is most valuable: soldering, cooking, holding a child, whiteboarding. Enable voice activation and a local VAD plus wake-word detector runs entirely on-device; saying "flow" starts dictation without touching anything. Reserved wake words route to the right mode automatically, and because detection is local, nothing leaves the machine until you actually speak a sentence worth transcribing.

History is the safety net

Every capture is written to local history the moment you finish speaking, audio first as WAV then compressed to Opus, transcript alongside as a text sidecar. If paste fails or the network drops, the recording still exists. Treat the history folder as a spoken clipboard: last week's standup notes are greppable.

Local or cloud, decide once

With an NVIDIA GPU, local mode runs Parakeet CTC 0.6B through ONNX Runtime on CUDA: private, offline, fast enough to feel instant. Cloud mode routes through a provider fallback chain for machines without the hardware. Pick per machine, not per sentence; a workflow you renegotiate daily is a workflow you abandon. Configure both in ~/.dictatorflow/config.json, verify with --test-local file.wav, and start with the installer.