Alvaro Lobato93 downloadsIntegrated meeting transcription, note-taking, and summarization on macOS: Google Calendar sync, dual-channel recording, transcription, and AI summaries. Granola style meeting transcript.
Integrated meeting transcription, note-taking, and summarization for Obsidian on macOS: Google Calendar → dual-channel recording → transcription (remote or on-device Whisper) → AI summaries.

Community plugins: in Obsidian, open Settings → Community plugins → Browse, search for Meeting Copilot, then install and enable it.
BRAT (beta builds): install BRAT, then add:
alvarolobato/obsidian-meeting-copilot
Manual: download main.js, manifest.json, and styles.css from the latest release into .obsidian/plugins/meeting-copilot/, then enable the plugin.
On first recording, the plugin downloads its system-recorder helper and whisper runtime (see Helper downloads). Grant the macOS prompts, then quit and reopen Obsidian.
Optional: Tasks (action-item tracking). The meetings dashboard and agenda are both built-in views — no Dataview or other query plugin needed.
See Setup for Google Calendar, AI endpoint, transcription, and enrichment.
Meeting Copilot talks to these remote services, only for the features you enable:
system-recorder helper, its whisper runtime, and the fvad.wasm voice-activity detector the first time each is needed (see Helper downloads).ggerganov/whisper.cpp), only when you use local transcription.The plugin has no server of its own and collects no telemetry. See the privacy policy.
Obsidian installs only main.js, manifest.json, and styles.css. Recording and on-device transcription need native macOS code, so the plugin downloads these files into its own plugin folder (.obsidian/plugins/meeting-copilot/) the first time they're needed:
| File | What it is | Downloaded from | When |
|---|---|---|---|
system-recorder |
Swift helper that records system audio and the mic, lists microphones, and runs on-device transcription (source) | This repository's GitHub release for the installed plugin version | First recording, or refreshing the microphone list in settings |
whisper |
whisper.cpp runtime library the helper links, saved as whisper.framework/Versions/Current/whisper |
Same release | With the helper |
fvad.wasm |
WebRTC voice-activity detector (@echogarden/fvad-wasm) |
Same release | First transcription that separates your voice from others |
models/*.bin |
On-device Whisper model | Hugging Face | When you press Download under Settings → Transcription, or on the first local transcription |
gh attestation verify system-recorder -R alvarolobato/obsidian-meeting-copilot.Meeting Copilot is desktop-only and uses Node.js APIs beyond Obsidian's vault API. It uses them only for the following.
Filesystem
directory-cache.json: the Google Workspace names and group members already looked up, so they aren't requested again. It syncs to your other devices if you sync .obsidian/plugins.Processes
system-recorder — records audio, lists microphones, and runs on-device transcription.pgrep — checks whether a Zoom call is running (the CptHost process). Runs every 10 seconds by default (configurable) while meeting detection and Zoom detection are on (both on by default).osascript — checks Chrome, Brave, Edge, or Arc tabs for an active Google Meet call, only when Google Meet detection is on (off by default). macOS asks once for Automation permission.claude, codex, opencode, or pi) — only if you pick one as the enrichment backend: to enrich notes and to list its models. The plugin looks for it at the path you set, on your PATH, in common install locations (Homebrew, /usr/local/bin, and version managers such as Volta, asdf, fnm, and nvm), and in npm's global folder (found with npm config get prefix).open — opens the Notifications or Screen & System Audio Recording pane in macOS System Settings, when you use the button that offers to.Local network listener
127.0.0.1 (a random port, not reachable from other machines) to receive the callback from your browser. It closes as soon as sign-in finishes or is cancelled.Obsidian and browser APIs
data.json. All other settings use the normal plugin data file.macOS permissions — macOS asks for these on behalf of Obsidian, because the helper runs as part of it. Look for Obsidian, not system-recorder, under System Settings → Privacy & Security:
After granting Microphone or Screen Recording, quit and reopen Obsidian.
Meeting Copilot is an integrated meeting workflow built from permissively licensed open-source parts. It vendors and adapts code from the projects below — you do not need to install them separately. Full license texts are in THIRD_PARTY_NOTICES.md.
| Component | Source | Author | License | What we use |
|---|---|---|---|---|
| Recorder & calendar | System Recording | Yuto Takagi | 0BSD | Dual-channel ScreenCaptureKit recorder (swift-helper/), Google Calendar integration, and parts of the core plugin scaffolding |
| Agenda sidebar | Meetings Plus | Jacob Holm | 0BSD | Meeting agenda view (day grouping, meeting rows, status header, date picker, and related UI/styles) |
| Remote transcription | AI Transcriber | Musashino Software | MIT | Transcription engine under src/transcribe/vendor/ (audio chunking, VAD, Whisper/GPT-4o clients, cleaners, transcript merge, dictionary correction). Driven headlessly by Meeting Copilot — no AI Transcriber plugin required |
Not from AI Transcriber: on-device Whisper transcription runs in Meeting Copilot's own system-recorder Swift helper (whisper.cpp over Metal), not the vendored engine above.
0BSD — see LICENSE and THIRD_PARTY_NOTICES.md.