GUIDE

PushSense user guide

Everything the menu bar app can do, one setting at a time. If you only read one section, read First run. New in 0.2: Buddy mode.

The PushSense menu bar dropdown

Install

  1. Download the latest dmg.
  2. Open it and drag PushSense into Applications.
  3. Open PushSense from Applications. It is signed and notarized by Apple, so there is no “unidentified developer” warning. If you see one anyway, you downloaded it from somewhere other than the link above.

PushSense lives in the menu bar. There is no Dock icon and no main window; the only window you will ever see is the tutorial on first launch.

Requirements: macOS 13 or later, Apple Silicon.

First run

The built-in tutorial walks you through three steps. You can reopen it any time from the menu with Tutorial….

The welcome page of the built-in tutorial

Tutorial step 1: download the speech model

1. Download the speech model. The app does not bundle a model, so the first launch downloads one (Small, 181 MB). This is a one-time download; it goes to Application Support and stays there across updates. The menu shows ”✓ Speech model ready” when it is done.

Tutorial step 2: the three permissions, each with a Grant button

2. Grant three permissions. Each button opens the right pane in System Settings.

PermissionWhy it is neededWithout it
MicrophoneTo record while you hold the keyNothing is recorded
Input MonitoringTo notice when you press and release the hotkeyThe key does nothing
AccessibilityTo type the transcript into the app you are usingThe halo shows, but no text appears

Accessibility is the one people miss. If PushSense records but nothing shows up, check that one first.

Tutorial step 3: try it in the built-in text box

3. Try it. Hold the hotkey, say something, release. The text is typed into whichever field has focus.

Using it

Hold Right Option (the default), speak, release. That is the whole interaction. Since 0.2 there is a second one, Buddy mode: click a pearl on your screen, talk, and drag the words wherever they go. The two coexist; a hotkey take always types into the focused app.

The halo that appears next to the pointer while recording

While the key is down a small halo appears near the cursor so you know it is listening. Release the key and the transcript is typed out wherever your cursor already is: a browser, a chat app, a terminal, a text field in any app.

Mixed Chinese and English in the same sentence works without any switch. Chinese comes out as Simplified; Latin text, numbers and emoji pass through untouched.

If you release the key without saying anything, nothing is typed. Silence is discarded on purpose, because Whisper otherwise invents plausible text from near-silent audio.

Recording limit and recovery

Every take has a five-minute maximum, for both the hotkey and Buddy. At the limit PushSense stops recording and starts transcription automatically. Buddy can still stop earlier after silence, or when you click it again.

While recording, PushSense keeps a local WAV recovery file. If recording is interrupted or the transcript cannot be saved, open Recovered audio… from the menu bar to find it. A new take never overwrites an unfinished one. After a successful transcript is saved to local history, its recovery audio is deleted. The last 50 transcripts are kept locally in both hotkey and Buddy modes.

Recovery recordings are stored in ~/Library/Application Support/PushSense/DictationRecovery/. They are ordinary, unencrypted audio files on your Mac and are never uploaded. Remove retained files when you no longer need them. If the recovery folder reaches its 200 MiB budget, recording will not start until you make room; old recordings are not automatically deleted. Disk or capture failures stop recording and show a warning. Recovery reduces the risk of losing a take, but cannot guarantee against disk failure, power loss, or a crash during a write.

Buddy mode

The hotkey assumes you already clicked into the right box before speaking. Buddy mode removes that assumption: say it first, decide where it goes later. It is off by default. Turn it on from the menu bar with Buddy mode (click the orb to talk); after updating to 0.2 the app introduces it once, with a button that turns it on.

The buddy recording: the orb, and a capsule with a red dot, timer and waveform

Click the pearl and talk. A small pearl sits in the corner of your screen (drag it anywhere; Move the buddy back to the corner is in the menu if you lose it). Click it and it melts into the orb you know from the halo; a capsule beside it shows a red dot, a timer and your voice. Stop talking for 1.5 seconds and the take ends by itself. Click the pearl during a take to end it early.

A transcript card being dragged from the bubble into an iMessage field

The transcript lands in a glass bubble next to the orb. Nothing is typed for you unless you ask. The text in the bubble is a native drag source: press on it, drag it into any window that takes text (an editor, a chat box, a browser field, Terminal, the Desktop, where it becomes a text clipping) and let go. The words land at the drop point. If a window refuses the drop, PushSense clicks where you released and pastes instead.

Hover the bubble for four buttons: copy, paste into the focused app, history, and close. After 25 seconds of being ignored the bubble folds into a one-line pill; hover to unfold it.

Three glass buttons fanned out over the pearl

Hover the pearl and three glass buttons fan out over it:

The history list, each row with the transcript and the language mix it heard

The language mix. Whisper decodes a take with one language token. On a sentence that mixes two languages it has to pick, and sometimes the whole sentence comes out in one of them. Rather than pretend it is certain, the bubble’s meta line and every history row show what the detector heard, for example English 59% · 中文 39%, leader first. When a mixed sentence comes out in one language, that line is the reason. Takes made with a fixed language setting show nothing extra.

A resting pearl is a still image, not an animation, so Buddy mode costs nothing while you are not using it. The bubble, capsule and buttons are Liquid Glass on macOS 26; earlier versions get a frosted panel with the same layout.

Every setting

Open the menu by clicking the PushSense icon in the menu bar. The first line shows the current state (“Ready — hold Right Option or click the buddy”, “Listening…”, and so on).

Hotkey

Which key you hold to record. Four choices, all on the right side of the keyboard so they never collide with shortcuts you already use:

Pick the one your right thumb or pinky lands on naturally. The left-side keys are deliberately not offered.

Microphone

Which input device to record from. System Default follows whatever macOS is using; pick a specific device if you want PushSense to always use, say, an external mic even when your AirPods connect.

Language

What Whisper is told about the audio.

Leave it on auto unless you have a reason not to.

How mixed speech is handled. Whisper decodes with one language at a time. Chinese with English words dropped in (“我今天要去 meeting”) is decoded as Chinese and the English survives, on every model. A whole sentence in each language (“Let me check the dashboard first. 然后我们再看 latency 的问题”) is harder: PushSense listens for a short pause, detects the language on each side, and decodes each side on its own. So when you switch languages mid-take, a brief pause at the switch is all it needs. Without the pause, Small keeps only one of the two languages; Large v3 Turbo usually follows the switch anyway.

Paste mode

How the transcript gets into the app you are using.

Overlay theme

The look of the halo that appears while recording.

Trailing space

When checked, a space is added after each transcript, so you can dictate several sentences in a row without them running together. Uncheck it if you mostly dictate into search boxes or single fields.

Launch at login

Start PushSense automatically when you log in. Recommended once you have used it for a day; a dictation tool you have to remember to open does not get used.

Buddy mode (click the orb to talk)

Shows or hides the pearl. See Buddy mode. The hotkey works the same whether the pearl is on screen or not.

Buddy output

Where a take that you started by clicking the pearl ends up. Hotkey takes are not affected; they always type into the focused app.

The same submenu holds Stop after silence (the auto-stop switch, also on the pearl’s hover ring) and Move the buddy back to the corner.

History (right-click the buddy)

The last 50 takes from either gesture, newest first, each with the language mix it heard. Choosing one puts it back in the bubble. Clear history is at the bottom. History lives in ~/Library/Application Support/PushSense/history.json, on your Mac only; nothing is synced or uploaded.

Output mode

What happens to the transcript before it is typed.

App language

App language switches every menu, window, and message between English and 中文. System (the default) follows your macOS language. The change applies immediately, including to an open tutorial or Smart mode window.

Smart mode settings

The Smart mode window: switch, provider card, auto-fix rules

The window has three parts.

Smart mode switch at the top mirrors Output mode in the menu. It is greyed out until a provider is connected.

Provider card has an OpenAI | Ollama Cloud | Local Ollama tab row; the line under it shows that provider’s model, the last four characters of its saved key (cloud providers only), and whether it is the one in use. Picking a provider that is not set up opens its form; for one already set up, press Change….

Each provider keeps its own key and model, so you can set up several and switch by testing another one.

The provider card expanded for Ollama Cloud, showing key and model

Auto-fix rules are applied to everything you dictate; you never need to say a command. Built-in rules cover spelling, grammar and punctuation, and filler words (off by default). Edit on the filler rule lets you pick language presets (English, 中文) and add your own words. Add a one-line rule of your own in the field at the bottom and press Return. Changes apply immediately.

The filler-word rule expanded, with language presets and a custom word field

Speech model

Which Whisper model does the transcription. Three are offered, all downloaded by the app on demand:

ModelSizeWhen to use it
Base148 MBFastest, and audibly worse. Hears “customer support” as “custom support”.
Small (recommended)181 MBHandles Chinese with English words mixed in. A whole sentence in each language works when you pause between them. A quarter of Turbo’s memory.
Large v3 Turbo547 MBBest at switching languages mid-sentence without a pause, and more robust on hard audio. Costs about 700 MB of memory while running.

You can download more than one and switch between them. Remove downloaded… frees the space for models you are not using.

The status line under this menu tells you whether a model is ready, or shows download progress with a Cancel download option.

Tutorial…

Reopens the first-run walkthrough. Useful if you skipped a permission.

Open config folder / Open model folder

Reveal the folders in Finder. Config holds your settings; the model folder holds the downloaded Whisper files. Both are under ~/Library/Application Support/PushSense.

API keys live in the macOS Keychain, not in a plain file.

Check for Updates… / Check automatically

PushSense asks GitHub whether a newer release exists. If one is, the menu grows an ”⬆ PushSense x.y.z available…” line that opens the download page. Nothing is installed automatically.

Troubleshooting

It records but nothing is typed. Accessibility permission is missing. System Settings → Privacy & Security → Accessibility → turn PushSense on. If it is already on, turn it off and on again; macOS sometimes needs the toggle after an update.

The hotkey does nothing. Input Monitoring permission is missing. Same pane, one row up.

Text appears in the wrong app. PushSense types into whatever has keyboard focus at the moment you release the key. Click into the field first.

An app ignores the typed text. Switch Paste mode to clipboard.

Chinese comes out as Traditional. It should not; the app forces Simplified. If you see Traditional, open an issue with the sentence.

”⚠ No speech model”. The download did not finish. Open the Speech model submenu and pick one to start it again.

I dragged the text into a window and nothing happened. That window does not accept dropped text and also refused the click-and-paste fallback. Hover the bubble and use Paste into the focused app after clicking into the field, or Copy and paste by hand. Tell me which app it was; I keep a list.

The pearl is gone. It may be behind a full-screen app, or dragged off an external display you have since unplugged. Menu bar → Buddy output → Move the buddy back to the corner.

The buddy stops before I finish. Auto-stop ends a take after 1.5 s of silence. Either keep talking through the pauses, or switch Stop after silence off and end takes by clicking the pearl.

Bug reports and feature requests: issues on the releases repo.

← Back to PushSense