AI News HubLIVE
In-site rewrite5 min read

Show HN: WhisperShortcut – voice layer for AI on macOS (BYOK, offline Whisper)

WhisperShortcut is an open‑source macOS app that lets you use voice for dictation, editing, reading aloud, screenshots, and AI chat via keyboard shortcuts. It supports Google Gemini, OpenAI GPT, xAI Grok, and offline Whisper models—no account or subscription required.

SourceHacker News AIAuthor: mgsgde

Uh oh!

There was an error while loading. Please reload this page.

Notifications You must be signed in to change notification settings

Fork 8

Star 64

BranchesTags

Open more actions menu

Folders and files

NameName

Last commit message

Last commit date

Latest commit

History

1,261 Commits

1,261 Commits

.claude

.claude

.cursor

.cursor

.github

.github

WhisperShortcut.xcodeproj

WhisperShortcut.xcodeproj

WhisperShortcut

WhisperShortcut

WhisperShortcutTests

WhisperShortcutTests

docs/assets

docs/assets

plans

plans

scripts

scripts

.gitignore

.gitignore

CLAUDE.md

CLAUDE.md

LICENSE

LICENSE

README.md

README.md

WhisperShortcut-AppStore.xctestplan

WhisperShortcut-AppStore.xctestplan

exportOptions-release.plist

exportOptions-release.plist

install.sh

install.sh

package.json

package.json

privacy.md

privacy.md

terms.md

terms.md

Repository files navigation

Voice-first AI for your Mac. Press ⌘1 anywhere, speak, and the transcription lands on your clipboard — ready to paste into any app. Speak an instruction (⌘2) to rewrite whatever you copied, have any selected text read aloud (⌘4), or open an AI chat that works with your Calendar, Gmail, Tasks, and Trello (⌥Space).

Bring your own API keys — Gemini, and optionally GPT or Grok — or run fully offline with local Whisper. No account, no subscription, no backend. Open source (AGPL-3.0).

▶️ Watch the full demo on YouTube · Website: whispershortcut.com

Download

⬇️ Get WhisperShortcut on the Mac App Store — the easiest way to install, with automatic updates.

Prefer a direct download? Get the latest signed .dmg from GitHub Releases.

Cloud features use your Google Gemini API key and, optionally, an xAI API key (Grok chat and TTS) or an OpenAI API key (GPT-5.x chat, transcription, GPT Audio Dictate Prompt, TTS). Offline Whisper needs no key at all.

Features

Dictate: Record speech and copy the transcription to your clipboard. Use Gemini or OpenAI cloud models, a self-hosted transcription endpoint, or local Whisper models offline. Long recordings are split into chunks and processed in parallel.

Dictate Prompt: Speak an instruction that edits the current clipboard text, for example "make this shorter" or "translate this to English". Supports Gemini and OpenAI audio-input models; optional screenshots can be included with the prompt.

Read Aloud: Press the shortcut on any selected text to copy it and read it aloud with Gemini, OpenAI, or xAI TTS voices. An optional Smart Rewrite pass cleans up code or markdown before TTS, and playback speed is configurable.

Screenshot: Capture the screen from the menu bar and optionally attach it to Dictate Prompt or chat, or save captures to a folder.

Chat: Use a persisted multi-session chat window with Gemini, Grok, or OpenAI models, screenshots, image attachments, slash commands, optional web grounding, and per-session reasoning depth.

Google integrations: Connect a Google account so chat can work with Calendar, Tasks, and Gmail through controlled local tools.

Trello integration: Connect Trello so chat can list boards, lists, and cards and create, move, update, or archive cards.

Live Meeting: Record meetings in chunks, transcribe them as they complete, keep an in-app transcript, and save meeting files locally.

Smart Improvement: Let the app improve system prompts, user context, and the Whisper glossary from usage logs or a spoken instruction.

Requirements

macOS 15.5 or later

Xcode 16.0 or later for development

Google Gemini API key for cloud transcription, Dictate Prompt, chat, TTS, Smart Improvement, and live meetings

Optional xAI API key for Grok chat models and Grok Voice TTS

Optional OpenAI API key for GPT-5.x chat, OpenAI transcription (GPT-4o Transcribe), GPT Audio Dictate Prompt, and GPT-4o mini TTS

Optional Google account connection for Calendar, Tasks, and Gmail tools

Optional Trello Power-Up API key and token for board, list, and card tools

Offline Whisper dictation works without an API key after downloading a local model in Settings.

Installation

Download the latest .dmg from Releases.

Open the DMG and drag WhisperShortcut.app into /Applications.

Start WhisperShortcut from Applications.

Open Settings from the menu bar app and add your Google Gemini API key if you want cloud features.

Grant microphone and accessibility permissions when macOS asks.

Common Workflows

Default menu bar shortcuts (all configurable in Settings → General):

Action Default shortcut

Dictate ⌘1

Dictate Prompt ⌘2

Screenshot ⌘3

Read Aloud ⌘4

Chat ⌥Space

Settings ⌘0

Press Stop in the menu bar (or use the active mode's shortcut again) to cancel recording, TTS playback, or in-flight processing.

Dictation

Configure a Dictate shortcut in Settings → Dictate.

Choose a Gemini, OpenAI, self-hosted, or Whisper transcription model.

Press the shortcut, speak, then stop recording.

The transcription is copied to the clipboard and can optionally be pasted automatically.

Dictate Prompt

Copy text you want to edit.

Press the Dictate Prompt shortcut.

Speak an instruction, such as "turn this into bullet points".

The edited result is copied to the clipboard.

Optional: capture a screenshot (⌘3 or chat /screenshot) before or during the prompt when screenshot-in-prompt mode is enabled.

Read Aloud

Select text in any app.

Press the Read Aloud shortcut.

The selection is copied and read aloud with your chosen TTS model and voice.

Use Settings → Read Aloud to pick the TTS provider, voice, Smart Rewrite, and playback speed. Chat replies can also be read aloud from the message actions.

Screenshot

Press the Screenshot shortcut to capture the screen. Captures can be attached to the next Dictate Prompt or chat message, or saved to a folder when that option is enabled in Settings → Screenshot.

Chat

Open the chat window from the menu bar or its configured shortcut. Chat sessions are stored locally.

Core slash commands:

/new — start a new chat

/screenshot — attach a screenshot to your next message

/attach — open the file picker for PDFs, images, or text

/model — switch model (e.g. /model 3.5 flash)

/think — set reasoning depth for this chat (minimal, low, medium, high, or default)

/settings — open Settings

/pin / /unpin — keep the window open or close on focus loss

/meeting — start or stop live meeting recording

/copy — copy the chat history as Markdown

Model shortcuts include /gemini, /grok, /gpt, /openai, and per-model aliases such as /gemini35flash. Gemini models use your Google API key, Grok models use your xAI API key, and OpenAI models use your OpenAI API key.

Connect Google or Trello in Settings → Chat to unlock the corresponding chat tools.

Live Meeting

Type /meeting in chat to start and stop live meeting recording. Audio is rotated into chunks, transcribed, and appended to the meeting transcript. Saved transcripts live in the app's Application Support folder.

Smart Improvement

In Settings → General, enable Save usage data if you want the app to learn from your interactions. Then use Improve from usage or Generate with AI to review suggested updates to system prompts, user context, or the Whisper glossary before accepting them.

Build From Source

git clone https://github.com/mgsgde/whisper-shortcut.git cd whisper-shortcut bash install.sh

For development, build and restart the app with:

bash scripts/rebuild-and-restart.sh

Useful scripts:

scripts/rebuild-and-restart.sh: Build Debug, sync bundled docs, and restart the local app.

scripts/logs.sh: Stream or filter app logs.

scripts/create-release.sh: Create a tagged release.

scripts/test-gemini-models.sh, scripts/test-grok-models.sh, scripts/test-openai-models.sh: Check provider model availability and basic responses.

Project Structure

WhisperShortcut/: Swift source for the macOS app.

WhisperShortcut/Docs/: User-facing markdown bundled with the app (mirrored from the repo README and data-directory docs on rebuild).

WhisperShortcut.xcodeproj/: Xcode project and shared schemes.

scripts/: Local development and release helper scripts.

.github/workflows/release.yml: GitHub Actions workflow for signed, notarized release builds.

plans/: Shared implementation plans and specs.

.cursor/: Cursor agent commands, skills, and rules (see .cursor/commands/README.md).

Core files:

AppState.swift: Central app state machine.

MenuBarController.swift: Main app orchestrator.

SpeechService.swift: Dictation, Dictate Prompt, and Read Aloud logic.

ChatView.swift: Chat UI and view model.

ChatTools.swift: ChatToolRegistry and local, Google, and Trello chat tools.

TranscriptionModels.swift: Gemini, OpenAI, Whisper, and self-hosted transcription models.

Settings/: Settings UI, defaults, and persistence.

Data And Privacy

WhisperShortcut stores settings, chat sessions, meeting transcripts, usage logs, short-lived Smart Improvement audio samples, and downloaded models on your Mac. API keys, OAuth refresh tokens, and Trello tokens are stored in Keychain.

WhisperShortcut uses one canonical app data location so sandboxed and non-sandboxed builds see the same files:

~/Library/Containers/com.magnusgoedde.whispershortcut/Data/Library/Application Support/WhisperShortcut/

See the App Data Location section in privacy.md for what each subfolder contains.

License

GNU Affero General Public License v3.0 (AGPL-3.0). See LICENSE for details.

About

Speech-to-text and voice-to-prompt macOS app with Gemini and Whisper support

apps.apple.com/us/app/whispershortcut/id6749648401

Topics

macos

swift

productivity

menubar

text-to-speech

offline

xcode

gemini

openai

cocoa

speech-to-text

mac-app

transcription

dictation

whisper

grok

voice-assistant

local-first

ai-chat

voice-productivity

Resources

Readme

License

AGPL-3.0 license

Uh oh!

There was an error while loading. Please reload this page.

Activity

Stars

64 stars

Watchers

1 watching

Forks

8 forks

Report repository

Releases 122

Release 7.84

Latest

Jul 9, 2026

+ 121 releases

Sponsor this project

Uh oh!

There was an error while loading. Please reload this page.

https://apps.apple.com/us/app/whispershortcut/id6749648401

Learn more about GitHub Sponsors

Packages 0

Uh oh!

There was an error while loading. Please reload this page.

Uh oh!

There was an error while loading. Please reload this page.

Contributors

Uh oh!

There was an error while loading. Please reload this page.

Languages

Swift 97.4%

Shell 2.6%