Whisper Meetings
Record meeting audio on your Mac, transcribe it locally with Whisper, and ask Codex for structured reports and context for other chats.
Version 0.6.0 · Preview release · macOS 15+
Full installation guide · Usage guide · Support
Set up the local runtime
Install uv and Apple Command Line Tools or Xcode. From this plugin directory:
python3 scripts/setup.py
Setup builds the recorder, installs locked Python dependencies and downloads the default Whisper small model. The first setup needs internet access; transcription then uses installed local model files. No OpenAI API key or Hugging Face account is required by the plugin.
Use --model base for a smaller model or --skip-model to build the runtime and recorder without downloading a model.
Start using it
Ask Codex: “Open the meeting panel.”
- Enter a title and set I am wearing headphones to match your audio setup.
- Click Start recording and allow the requested macOS audio permissions. Transcribe during recording shows provisional text in short chunks; use Pause recording / Resume recording to exclude breaks.
- Click Stop recording. With Transcribe after stopping enabled, Whisper processes the saved audio.
- Click Analyze with Codex under Decisions & tasks for a report.
Unchecked headphones means microphone only; remote voices must be audible through your speakers. Checked headphones means microphone and all Mac playback, including other apps. The source choice is locked during recording.
The interface is English. Automatic, Russian and English speech-language choices remain available. Reports use your requested language or otherwise the transcript language. Opening the panel never starts recording.
Optional speaker detection
On Apple Silicon with Swift 6.2 or later:
python3 scripts/setup.py --diarization
This builds a pinned FluidAudio helper and downloads public Core ML models without a login or token. Enable Distinguish speakers before recording/importing, or click Identify speakers on a transcribed meeting.
Labels estimate voices within one meeting and channel; names are user-supplied. Overlap and ambiguous attribution remain marked. Detection cannot recover lost words. Renaming or reprocessing invalidates the old analysis; analyze again. A speaker-processing failure preserves the successful Whisper transcript.
Calendar and other chats
Paste a Google Meet link directly in the panel, or choose Connect Google in a configured preview installation and select an event without an agent. Google Calendar access is read-only; tokens stay in macOS Keychain. Public-source installs have no bundled OAuth client secret and use the Meet-link fallback until direct Google sign-in is configured. See Google setup. Linking does not modify events, join Meet or start recording.
Another agent prepares local Markdown/JSON context packages. Sending a package is a separate, explicit request to Codex with an exact recipient chat name. Delivery and panel rendering depend on the host's capabilities.
Data and limits
Audio stays on your Mac. Text read by the Codex agent is processed under that host/model provider's settings. Reports contain a short opening, themed points, decisions, tasks and risks, without visible recording links or segment IDs; JSON retains internal evidence validation.
The default archive is ~/.local/share/whisper-meetings/, outside the plugin cache. It survives updates and has no automatic deletion. WHISPER_MEETINGS_HOME changes the directory.
Stop recording before disabling or uninstalling the plugin: background jobs survive MCP reconnects. One recording can run at a time, with a twelve-hour maximum. Live text arrives in roughly 12-second chunks plus processing time and can contain boundary errors; final transcription and optional speaker detection run after stopping. Live/final controls are independent. A live failure retains audio and does not stop capture. Upgrading from 0.4.x requires rebuilding the recorder with python3 scripts/setup.py --skip-model.
This preview release still needs live device and production-host verification. It has not been approved for the OpenAI Plugins Directory. See validation results.