Skip to content

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

meeting-assist

An intelligent meeting assistant for macOS that listens to live meetings and provides real-time insights, suggestions, and conversation tracking.

Quick Start: See QUICKSTART.md for the fastest way to get started.

AI Models: Optimized for speed and cost. See AI_MODEL_GUIDE.md for configuration options.

Features

  • Live Meeting Audio Capture: Listens to meetings on macOS in real-time
  • Intelligent Talking Points: AI-powered suggestions for relevant talking points during the conversation
  • Question Detection: Automatically highlights questions from the conversation
  • Urgent Question Flagging: Identifies and flags questions directed specifically at you as urgent
  • Full Transcript Recording: Maintains a complete record of the entire conversation
  • Action Item Extraction: Proposes todos and action items from the discussion
  • Live Summary: Keeps an updated conversation summary with high-level bullet points
  • AI Integration: Leverages AI for intelligent summarization and analysis

Tech Stack

  • UI Framework: Textual - Python TUI framework for building rich terminal applications
  • Platform: macOS
  • AI Integration: For summarization and natural language processing

Installation

Prerequisites

  • Python 3.10 or higher
  • macOS 14.4+ (Sonoma or later) for native system audio capture
    • Older macOS versions will work in mic-only mode
  • Anthropic API key

Setup

  1. Clone the repository:
git clone <repository-url>
cd meeting-assist
  1. Create and activate a virtual environment:
python -m venv venv
source venv/bin/activate  # On macOS/Linux
  1. Install dependencies:
pip install -e .
  1. Set up your environment variables:
cp .env.example .env
# Edit .env and add your ANTHROPIC_API_KEY
  1. On first run, faster-whisper will download the Whisper model (base model ~150MB)

  2. First-time permission: Grant Screen Recording permission when prompted

    • Required for native system audio capture (Core Audio Taps)
    • One-time setup - macOS will prompt automatically
    • Or manually enable: System Settings > Privacy & Security > Screen Recording

Usage

Running the Application

Easiest method - Use the start script:

./start.sh

The start script automatically:

  • Creates virtual environment if needed
  • Installs dependencies if needed
  • Checks for API key configuration
  • Loads environment variables from .env
  • Runs the application

Try it with mock data (no API key needed):

./start.sh --mock

This populates the UI with sample meeting data so you can explore the interface without setting up API keys or recording audio.

Manual method:

# Activate virtual environment
source venv/bin/activate

# Set your API key
export ANTHROPIC_API_KEY=your_key_here

# Run the application
meeting-assist

Or use the Python module directly:

python -m meeting_assist.main

Controls

  • Start Recording: Click "Start Recording" button or press r
  • Stop Recording: Click "Stop Recording" button or press r again
  • Clear All: Press c to clear all panels
  • Quit: Press q

Command Line Options

./start.sh --mock    # Run with mock data (no API key needed)
./start.sh --clear   # Clear stored data before starting
./start.sh --help    # Show all options

Features in Action

Once recording starts:

  • Live Transcript: See real-time transcription in the left panel
  • Questions: Detected questions appear in the top-right panel
    • Questions directed at you are marked as URGENT with 🚨
  • Talking Points: AI-suggested conversation points appear below questions
  • Action Items: Extracted todos appear in the action items panel
  • Summary: Live-updated conversation summary with key bullet points

Configuration

The application uses sensible defaults optimized for speed and cost:

  • Audio: 16kHz sample rate, mono channel
  • Transcription: Base Whisper model (good balance, ~16x realtime speed)
    • Free (local processing)
    • Can use "tiny" model for maximum speed if needed
  • AI: Claude 3.5 Haiku (fastest + cheapest Claude model)
    • ~$0.25 per million input tokens
    • ~$1.25 per million output tokens
    • Sub-second response times
  • Analysis: Every 15 seconds during recording

Model Selection Priority:

  1. Speed (fast enough for real-time processing)
  2. Cost (affordable for 1+ hour meetings)

To customize, edit the parameters in src/meeting_assist/ui/app.py

Visual Transcript Layout

The transcript shows conversation in a chat-style interface:

  • Others' speech: Left-aligned, white text
  • Your speech: Right-aligned, cyan text

This requires capturing both:

  • Microphone input (your speech) - works immediately
  • System audio output (others' speech) - uses native Core Audio Taps (macOS 14.4+)

Dual-Stream Audio Capture

Native System Audio (macOS 14.4+):

  • Uses Core Audio Taps - Apple's native API for system audio capture
  • Zero third-party dependencies (no BlackHole or Loopback needed!)
  • One-time Screen Recording permission grant
  • Automatically captures audio from all apps (Zoom, Teams, Chrome, etc.)
  • See CORE_AUDIO_TAPS.md for technical details

Toggle Controls:

  • 🎤 Microphone: Enable/disable your microphone (captured as YOU)
  • 🔊 System Audio: Enable/disable system audio (captured as OTHERS)
  • Mix and match: test with mic-only, system-only, or both

Older macOS Versions (< 14.4):

  • Falls back to mic-only mode automatically
  • All audio appears as "you" (right-aligned, cyan)
  • For dual-stream on older macOS, see SYSTEM_AUDIO_SETUP.md (BlackHole setup)

License

See LICENSE file for details.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages