No description
  • Swift 97.3%
  • Shell 2.7%
Find a file
2026-09-10 16:32:47 +02:00
Assets Update project brief and add app icon 2026-09-10 16:32:47 +02:00
LocalFlow Update project brief and add app icon 2026-09-10 16:32:47 +02:00
Scripts Update project brief and add app icon 2026-09-10 16:32:47 +02:00
.gitignore Initial LocalFlow implementation 2026-09-10 11:07:07 +02:00
Package.resolved Initial LocalFlow implementation 2026-09-10 11:07:07 +02:00
Package.swift Update project brief and add app icon 2026-09-10 16:32:47 +02:00
prompt.md Update project brief and add app icon 2026-09-10 16:32:47 +02:00
README.md Document local model sources 2026-09-10 16:11:02 +02:00

LocalFlow

LocalFlow is a native macOS 26+ menu-bar dictation utility. Audio transcription (WhisperKit) and text refinement (MLX) execute on-device after the one-time model downloads. Refined text is copied to the clipboard so you can paste it wherever you need it.

Models

LocalFlow downloads its models from Hugging Face the first time each stage runs:

Stage Model Purpose
Transcription argmaxinc/whisperkit-coremllarge-v3-v20240930_626MB Converts recorded speech to text with WhisperKit.
Refinement (default) mlx-community/Llama-3.2-1B-Instruct-4bit Cleans up the transcript using the faster, smaller MLX model.
Refinement (optional) mlx-community/Llama-3.2-3B-Instruct-4bit Cleans up the transcript using the larger, more accurate MLX model.

You can select either refinement model in LocalFlow's settings. All inference remains on the Mac after the model files have been downloaded.

Open and run

Open Package.swift in Xcode 26 or later, let Swift Package Manager resolve its dependencies, select LocalFlow, and Run. The first dictation downloads the Whisper model; the first refinement downloads the selected MLX model. macOS will request microphone access when needed.

For normal use, build and launch LocalFlow as a macOS application bundle instead of using swift run:

./Scripts/build-app.sh
open .build/apps/release/LocalFlow.app

The application appears as LocalFlow in the menu bar. Its Audio settings list all Core Audio input devices and remember the selected microphone. The Shortcut settings let you record a custom key combination for starting and ending dictation; the default is ⌘⌥R. To install it, copy LocalFlow.app to /Applications. Set CODE_SIGN_IDENTITY when invoking the build script if you have an Apple Development or Developer ID certificate; otherwise the script applies an ad-hoc signature suitable for local testing.

Each completed dictation is appended as a JSON record containing its timestamp, raw transcript, and refined text to ~/Library/Logs/LocalFlow/localflow.log.

The project targets Swift 6 with actor-isolated speech and LLM services. Its only runtime dependencies are the requested Apple-Silicon-local WhisperKit and MLX packages.