Skip to content

Releases: matthartman/ghost-pepper

Ghost Pepper v2.4.2 🌶️

Choose a tag to compare

@matthartman matthartman released this 18 Jul 05:02

Hotfix release for Keychain prompt behavior.\n\n- Avoid eager Keychain reads during onboarding/startup\n- Keep Google Calendar connection state without forcing token access just to render UI\n- Defer optional integration secrets until the relevant feature is used

Ghost Pepper v2.4.1

Choose a tag to compare

@matthartman matthartman released this 18 Jul 02:41

Release v2.4.1 with onboarding model readiness fixes, Granola API-only import updates, privacy preflight fixes, and sanitized private-name test fixtures.

Ghost Pepper v2.4.0 🌶️

Choose a tag to compare

@matthartman matthartman released this 21 May 02:09

What's new in 2.4.0

Agentic meeting Q&A — ask questions across all your meetings; the agent greps/reads transcripts with an Anthropic backend, multi-turn conversations, inline model picker, and live cost display.

Indexing & dossiers — build People/topic indexes from your meetings; dossiers render as markdown, open as tabs, support wikilinks (Cmd+click opens in a new tab), and track generation provenance. Two-step "Apply to dossier" merges Q&A findings.

Cmd+K command palette — fuzzy search across people, meetings, and notes with arrow-key navigation.

Calendar — Today's events list, multi-calendar support, offline cache, and auto-refresh after a recording stops.

Other — usage report, model buttons in the sidebar, Granola auto-import, Cmd+N for a new personal note, and assorted UI polish.


Auto-updates roll out via Sparkle within 24 hours. Notarized by Apple.

Ghost Pepper v2.3.0 🌶️

Choose a tag to compare

@matthartman matthartman released this 22 Apr 03:51

What's new in v2.3.0

Meeting transcription now enabled by default

  • Existing users get meeting transcription auto-enabled on update
  • "What's New" dialog announces the feature on first launch

Detect meeting name & attendees

  • Detect button grabs meeting name from Zoom/Teams window title + OCR attendee names from video tiles
  • Prioritizes native Zoom over browser windows
  • Strips pronouns (she/her, they/them) from names, filters Zoom internal windows (ZM_*)
  • Retries at 3s, 15s, 30s, 60s to catch late joiners
  • Attendee names shown as chips

Summary improvements

  • Inline prompt editor — click "Customize" on the Summary tab to edit the prompt and pick a model before generating
  • Topic-based summary prompt inspired by Granola's style

Speaker identity (by @obra)

  • Voice recognition labels speakers across recordings
  • Recognized voice store persists speaker profiles locally
  • Speaker-tagged transcription lab reruns
  • Diarization fixes and fallbacks

UI improvements

  • Resizable sidebar (drag divider)
  • Sidebar open by default
  • "Imported from Granola" badge + green icon for imported files
  • No misleading "Others" speaker badge on Granola transcripts
  • "Update Available — Install Now" shown in menu bar dropdown

Bug fixes

  • Mic selection now applies to test dictation (was using system default)
  • Settings mic picker shows saved selection, not system default
  • Streamed transcription reduces dictation latency (by @obra)
  • Cleanup prompt passthrough strengthened (by @obra)
  • Audio engine kept alive between recordings (by @obra)

Ghost Pepper v2.2.0 🌶️

Choose a tag to compare

@matthartman matthartman released this 21 Apr 17:30

What's new in v2.2.0

Speaker identity (by @obra)

  • Voice recognition labels speakers across recordings
  • Recognized voice store persists speaker profiles locally
  • Speaker identity resolver matches voices to known profiles

Meeting improvements

  • Detect button — click to grab meeting name + attendee names from Zoom/Teams via OCR
  • Auto-detects meeting app even for manual recordings (scans Zoom, Teams, FaceTime, Webex, Slack)
  • Attendee OCR retries at 3s, 15s, 30s, 60s to catch late joiners
  • Zoom meeting auto-stop when meeting window closes
  • Meeting window floats above other windows while recording (toggle in Settings)
  • Resizable sidebar — drag the divider to see full meeting names
  • Sidebar open by default

Summary & notes

  • Inline summary prompt editor — click "Customize" on Summary tab to edit the prompt and pick a model before generating
  • Topic-based summary prompt (Granola-style headings, user notes as emphasis guide)

Granola import

  • "Imported from Granola" badge on imported files
  • Green import icon in sidebar for Granola files
  • No misleading "Others" speaker badge on Granola transcripts

Context Bundler

  • Pepper Chat is now opt-in (off by default unless API key exists) — by @obra
  • Fixed bubble dismissing before transcription completed
  • Fixed mic not targeted on context bundler recordings

Bug fixes

  • Aggregate audio device support — targets device directly, no longer changes system default mic (#60)
  • Apple Music / YouTube no longer triggered on recording stop (#56, #57)
  • Streamed transcription reduces dictation latency — by @obra
  • Cleanup prompt passthrough strengthened — by @obra
  • Audio engine kept alive between recordings for faster startup — by @obra

Privacy

  • Privacy audit (PRIVACY_AUDIT.md) + README checklist
  • .env added to .gitignore

Ghost Pepper v2.1.2 🌶️

Choose a tag to compare

@matthartman matthartman released this 14 Apr 19:58

Bug fixes

  • Fixed Apple Music / YouTube launching on recording stop — Ghost Pepper no longer sends a media "play" command when recording ends. Previously this could trigger Apple Music to open or resume a YouTube tab in the background (#56, #57)
  • Aggregate audio device support — Mic selection no longer changes the system-wide default. Devices are targeted directly on the audio unit. Added mono downmix for aggregate devices with >2 channels (#60)
  • Granola import improvements — Full API pagination, summary_markdown support, sidebar search, sync icon
  • Meeting file parsing — Summaries, chapters, and Granola-format transcripts now display correctly
  • Improved summary prompt — Topic-based headings, incorporates user notes
  • Privacy audit — Added PRIVACY_AUDIT.md and README privacy checklist

Ghost Pepper v2.1.1 🌶️

Choose a tag to compare

@matthartman matthartman released this 14 Apr 03:33

What's new

Granola meeting import

  • Import meeting notes, summaries, and transcripts from Granola's local cache and API
  • Sync icon in the sidebar for re-importing
  • Full API pagination support (fetches all notes, not just first 10)

Meeting window improvements

  • Sidebar search to filter meetings by name
  • Summary and Chapters from Granola files now display in the Summary tab
  • Granola-format transcripts (plain text) now display in the Transcript tab
  • Improved summary prompt — topic-based headings, incorporates user notes

Bug fixes

  • Aggregate audio device support — no longer changes the system-wide default mic; targets devices directly on the audio unit. Manual mono downmix for >2 channel devices (#60)
  • Apple Music / YouTube no longer triggered — removed auto-resume media command that was launching apps on recording stop (#56, #57)
  • Recording history off by default — privacy-first; opt in via Settings (#65)

Privacy audit

  • Added PRIVACY_AUDIT.md — verifiable proof that all core features run 100% locally
  • README now includes privacy checklist with "verify it yourself" instructions

Ghost Pepper v2.1.0 🌶️

Choose a tag to compare

@matthartman matthartman released this 09 Apr 05:17

What's New

Meeting Transcription (Experimental)

  • Record and transcribe meetings locally — dual-stream audio captures both your mic and system audio
  • Auto-detects Zoom, Teams, FaceTime, Google Meet, YouTube, Loom, Twitch, Vimeo
  • Notion-style transcript window with Notes, Transcript, and Summary tabs
  • VS Code/Obsidian-style tabbed interface — open multiple meetings side by side
  • AI-generated meeting summaries using local LLM with editable prompt
  • Quick Notes — start a new note anytime from the sidebar
  • Markdown files saved to a user-chosen directory organized by date
  • Cmd+F search with highlight across all tabs
  • OCR-based attendee capture and auto-title from meeting window
  • Smart Obsidian integration — auto-creates vault if installed

New Speech Model

  • Qwen3-ASR 0.6B — 50+ language support, macOS 15+ (thanks @15ky3!)

Recording

  • Auto-pauses media (Spotify, Apple Music, podcasts) when recording — resumes after
  • Fixed Bluetooth mic crashes — engine recreated per session (thanks @15ky3!)
  • "No sound detected" overlay now shows mic settings hint (clickable)
  • Mic switching in Settings no longer requires app restart

Cleanup & Accuracy

  • Fixed LLM treating speech as chat prompts instead of cleaning transcription (#42)
  • Added eval test suite across all model sizes to catch regressions

UI & Quality of Life

  • Paste into Zed editor via menu bar duck-typing (thanks @mvanhorn!)
  • Search transcription history (thanks @mvanhorn!)
  • Delete individual recordings + clear all history
  • Model delete shows spinner + cloud download icon to re-download
  • Pepper Chat close button and double-click dismiss
  • Gatekeeper workaround instructions in README

Full changelog: v2.0.1...v2.1.0

Ghost Pepper v2.0.1 🌶️

Choose a tag to compare

@matthartman matthartman released this 06 Apr 21:58

Bug fix

  • Fix microphone permission prompt not appearing — The release signing script was stripping the com.apple.security.device.audio-input entitlement, preventing macOS from showing the microphone permission popup. Ghost Pepper now appears correctly in Privacy & Security > Microphone. (Fixes #21, thanks @ttulttul for the fix and @pyrex41 for the diagnosis)

Signed, notarized, and stapled with Developer ID.

Ghost Pepper v2.0.0 🌶️

Choose a tag to compare

@matthartman matthartman released this 06 Apr 20:12

What's New

Pepper Chat 💬 (Experimental)

  • Hold a hotkey, speak a question, get an AI response from a floating ghost pepper on your screen
  • Type or talk — text input field for typing messages directly
  • Screen context automatically included (OCR of your frontmost window)
  • Experimental AI backend via Zo API (requires API key)
  • Clippy-style floating pepper character with toggleable speech bubble

Improvements

  • Simplified onboarding — shows only default speech + cleanup models
  • Download progress for model downloads
  • Permission status shown in Settings, auto-opens if missing
  • Default cleanup model changed to fastest option (Qwen 3.5 0.8B)
  • Paste fallback for apps without editable text fields

Signed & Notarized

  • Now fully signed with Developer ID and Apple notarized
  • No more "untrusted developer" warnings on install

Download the latest release — macOS 14.0+, Apple Silicon (M1+)