Dictate, rewrite, translate, and an agent in a single device
On-device transcription, plus an agent that actually does things. Transcribe: Parakeet EOU (English), Parakeet TDT (25 European languages), CTC (Chinese), Nemotron (~40), Qwen3-ASR Ask: a local LFM2.5 agent that plans and calls tools, Apple Notes, clipboard, files, MCP support. Fully customizable: remap the dial, hotkeys, three HUD styles, tool approvals, swap any model or any prompt. Gemma 4, Qwen3.6 and Ornith 1.0 are coming next. No cloud, no accounts. Free, MIT. Apple Silicon, macOS 26.
Hey Product Hunt 👋 Every dictation app gives you text. Mispher gives you what you actually wanted: the text, or the paragraph rewritten, or the sentence translated, or an agent that went and did it. Agentic transcription, entirely on your Mac. No account, no telemetry. Site: https://mispher.com Code: https://github.com/dsaad68/mispher Hold left ⌥, flick the radial dial, and pick what happens when you let go: - Transcribe drops clean text into whatever field has focus. - Rewrite in place: highlight a sentence in any app, hold the key, say "make this shorter," and it swaps the selection where it sits. - Translate: speak one language, insert another. - Ask: a local LFM2.5 agent that plans, calls tools (Apple Notes, clipboard, files), and connects to your own MCP servers over HTTP or stdio, with OAuth when a server needs it. Writes are gated behind an approval card you set per tool. No Whisper anywhere, and no API key. Five recognizers, and you pick per language: Parakeet EOU streams English live, Nemotron streams ~40 languages, Parakeet TDT covers 25 European ones, and Parakeet CTC or Qwen3-ASR take Mandarin. Four run on the Neural Engine, Qwen3-ASR against a llama-server on localhost. The planner and vision models are MLX. Nothing about it is fixed. Remap every slice of the dial. Give each mode its own shortcut, and each shortcut its own feel: push-to-talk, tap-on-tap-off, or a long-press that goes hands-free and stops when you do. Teach it a custom dictionary so your names and jargon come out right. Decide whether releasing the key commits the text or parks it. Pick how recording appears: a Dynamic Island out of the notch, a pill under it, a draggable panel, or the full window. The agent is yours to govern too. Every tool and every MCP server gets one of three policies: approve and it runs, ask and it waits for you at an approval card, deny and the model can still see the tool but never runs it. Deactivate one entirely and it vanishes from the agent's world. Swap the model behind any mode. Turn the agent's vision on, or leave the planner blind. Coming next: Gemma 4 E4B, Qwen3.6 27B/35B, and Ornith 1.0. Ornith is the interesting one, a single 9B checkpoint that drives the planner and backs the vision subagent, so screen-aware Ask stops needing a second model download. It's free and MIT. Install with: brew install --cask dsaad68/tap/mispher Apple Silicon, macOS 26. - Daniel Show more
On-device is the underrated headline here. In voice work the two things that actually block adoption are latency and privacy — a local model that never ships audio to a server kills both at once, and for anything with sensitive data (legal, medical, insurance) that's the difference between "can't touch it" and "ship it." Curious how accuracy holds up on proper nouns and numbers locally vs the big cloud models — that's usually where on-device stumbles. Nice to see transcription + a real agent in one place. Congrats on the launch 🚀
How does the local agent actually handle tool calls that need internet access, like fetching a webpage or hitting an API, while still keeping everything on-device?
How does the local agent actually handle tool approvals on macOS without the cloud, does it prompt every single time or can you whitelist actions for a session?
How does the on-device agent handle tool approvals when the LFM2.5 model needs to call something sensitive like Apple Notes, and can I pause approvals globally for trusted actions?
the rewrite-in-place feature is the one that'd actually sell me - highlight a sentence anywhere, say make this shorter, and it swaps in place. how does that hold up in apps that don't expose a normal text API, like electron apps or browser textareas buried under heavy JS overlays? does it degrade gracefully, like falling back to a clipboard paste, or does it just fail to find the selection in those cases?
@grkemv2h0 Permissions are scoped per action, not just per connector. Each connector expands into its individual tools, and every tool has its own three-state permission gate: Approve (runs silently), Ask (requires human approval on every call), or Deny (blocked entirely). So, for example, Notes is not controlled by a single switch. “Read note” and “List notes” can be set to auto-approve, while “Create note” and “Update note” remain behind an approval prompt. Show more
@bedirhantrgk Permissions are scoped per action, not just per connector. Each connector expands into its individual tools, and every tool has its own three-state permission gate: Approve (runs silently), Ask (requires human approval on every call), or Deny (blocked entirely). So, for example, Notes is not controlled by a single switch. “Read note” and “List notes” can be set to auto-approve, while “Create note” and “Update note” remain behind an approval prompt. Show more
@galdayan Thanks a lot for your comment. I have tested it in the Electron apps or browser, works fine. Also, there is this auto-copy when finished behavior.
@david_marko Thanks a lot for your kind comment!