Skip to content

Text Cleanup

Chris Smashe edited this page Jun 17, 2026 · 5 revisions

Text Cleanup & Formatting

This is the flagship Wispr-Flow-style workflow: press a key, talk, and have clean, punctuated text land in whatever app you are in. Text cleanup turns raw dictation into polished output through a layered pipeline of deterministic and LLM-driven steps.

📸 Screenshot needed: The cleanup settings in full, showing the cleanup-level selector (Light / Medium / High) and the per-profile style preset picker.

Cleanup pipeline levels

The optional transcription cleanup pipeline has three levels:

Level Behavior
Light Deterministic cleanup, applied locally.
Medium Routes through the configured LLM provider; degrades to Light when no provider is available.
High Routes through the configured LLM provider; degrades to Light when no provider is available.

Medium and High send the text to your configured LLM providers for cleanup. If no provider is available, both fall back to the deterministic Light behavior so cleanup never blocks dictation.

Profile style presets

Style presets bundle a cleanup level plus formatting choices per profile, so each Profiles context can dictate-and-format differently. The presets are:

Preset Use
Raw Unprocessed dictation.
Clean General tidy-up.
Concise Tighter, trimmed output.
Formal Email Email-style formatting.
Casual Message Message-style formatting.
Developer Code-friendly output.
Terminal Safe Output safe to drop into a terminal.
Meeting Notes Notes-style formatting.

Each preset can also carry optional cleanup and developer-formatting overrides, so you can fine-tune a preset's level or developer behavior on a per-profile basis.

📸 Screenshot needed: The style preset picker expanded, showing Raw, Clean, Concise, Formal Email, Casual Message, Developer, Terminal Safe, and Meeting Notes, with the optional cleanup and developer-formatting overrides.

Developer-safe formatting

Developer-safe formatting converts spoken punctuation and casing commands into code-friendly output. For example, "dash dash", "open paren", and "snake case" become the corresponding code-friendly text. This makes dictation usable in editors and terminals where literal symbols and specific casing matter.

Voice command suffixes

These voice commands are parsed at the end of a dictation and carried out:

Suffix Effect
press enter Sends Enter after the text.
new paragraph Starts a new paragraph.
new line Starts a new line.
cancel Cancels the dictation.

Spoken IDE file references

Spoken file references such as "at file dot ts" are mapped to file tags for editor and IDE workflows.

Recommended local setup

This mirrors the maintainer's daily-driver setup, tuned to feel as close to Wispr Flow as possible on Linux.

📸 Screenshot needed: The Auto Format profile and Auto Clean Up Text prompt action shown enabled and bound together, with the Ctrl+Alt+E hotkey visible.

Piece What to use
LLM server An OpenAI-compatible LLM server (Ollama).
Model mistral-small:24b.
Prompt The seeded Auto Clean Up Text prompt action drives the cleanup.
Profile The seeded Auto Format profile binds that prompt action to a hotkey (Ctrl+Alt+E), so dictation goes straight through cleanup before it is inserted.

Both the Auto Clean Up Text prompt and the Auto Format profile ship seeded but disabled on a fresh install. Turn them on and point the cleanup at your own LLM. See LLM providers for configuring the OpenAI-compatible provider, and Prompts & AI actions for the prompt action and palette.

What the Auto Clean Up Text prompt does

The seeded Auto Clean Up Text system prompt steers a general-purpose LLM to clean dictation the way Wispr Flow does, treating the dictation strictly as data to format — never as a request to answer. Its design:

  • Treats the dictated text as raw data to clean and format, not as a question or instruction — a dictated question stays a question; a dictated command stays text. It never answers, decides, follows, or adds information.
  • Strips filler words ("um", "uh", "like", "you know"), false starts, repeated words, and abandoned fragments.
  • Applies spoken self-corrections in place ("actually", "I mean", "no wait", "scratch that"), swapping only the changed word or phrase and keeping the rest of the sentence intact.
  • Fixes capitalization, punctuation, grammar, and spacing, and breaks long text into readable paragraphs at natural topic changes.
  • Preserves your meaning, wording, and tone exactly — keeps contractions and casual words, and never expands or formalizes phrasing; never drops meaningful words such as trailing tag questions ("right?", "okay?").
  • Detects message/email context (greeting, recipient, sign-off) and formats it as a message with natural paragraphs.
  • Carries out spoken formatting commands and then deletes the command words — writing spoken numbers as digits, inserting spoken punctuation ("period", "comma", "question mark", "exclamation point"), and formatting bulleted/numbered lists only when clearly signalled.

The canonical copy lives in code at src/TypeWhisper.Core/Services/FirstRunDefaults.cs (AutoCleanupSystemPrompt), mirrored in docs/prompts/auto-clean-up-text.md.

📸 Screenshot needed: The Auto Clean Up Text prompt action open for editing, showing its system prompt text.

Related pages

  • Prompts & AI actions — prompt actions, provider overrides, and the prompt palette.
  • LLM providers — configuring the OpenAI-compatible (Ollama) provider that Medium/High cleanup and the cleanup prompt run against.
  • Profiles — binding a cleanup style preset and prompt action to a context.

Changelog

Date Change
2026-06-17 Initial version.

Clone this wiki locally