🎁 Get the FREE AI Skills Starter Guide β€” Subscribe β†’
BytesAgainBytesAgain
πŸ¦€ ClawHub

Ghostmeet

by @higangssh

AI meeting assistant via ghostmeet. Start sessions, get live transcripts, and generate AI summaries from any browser meeting.

Versionv1.0.4
Downloads880
Stars⭐ 1
TERMINAL
clawhub install ghostmeet

πŸ“– About This Skill


name: ghostmeet description: AI meeting assistant via ghostmeet. Start sessions, get live transcripts, and generate AI summaries from any browser meeting. metadata: { "openclaw": { "emoji": "πŸ‘»", "requires": { "anyBins": ["docker", "curl"] }, "envHints": ["GHOSTMEET_ANTHROPIC_KEY"] } }

Ghostmeet β€” AI Meeting Assistant

Control ghostmeet from chat. Self-hosted meeting transcription with Whisper + AI summaries.

Prerequisites

ghostmeet backend must be running (Docker):

# Quick start
git clone https://github.com/Higangssh/ghostmeet.git
cd ghostmeet
cp .env.example .env

Edit .env: set GHOSTMEET_ANTHROPIC_KEY for AI summaries

docker compose up -d

Chrome Extension must be installed in developer mode from extension/ folder.

Default backend: http://127.0.0.1:8877

What This Skill Can Do

  • List sessions β†’ query recorded meeting sessions
  • Fetch transcripts β†’ retrieve full text from a session
  • Generate summaries β†’ trigger AI summary via Claude API (requires GHOSTMEET_ANTHROPIC_KEY)
  • Health check β†’ verify backend is running
  • What This Skill Cannot Do

  • Start/stop recording β†’ must be done manually via the Chrome Extension
  • Install the Chrome Extension β†’ user must load it in developer mode from extension/ folder
  • Access browser audio β†’ only the Chrome Extension captures audio; this skill only reads API results
  • Required Environment Variables

  • GHOSTMEET_ANTHROPIC_KEY β€” required for AI summary generation. Without it, transcription still works but summaries will fail.
  • API Commands

    Health Check

    curl -s http://127.0.0.1:8877/api/health
    
    Returns: {"status": "ok", "whisper_model": "base", "device": "cpu"}

    List Sessions

    curl -s http://127.0.0.1:8877/api/sessions
    
    Returns list of all meeting sessions with IDs, start times, and segment counts.

    Get Transcript

    curl -s http://127.0.0.1:8877/api/sessions/{session_id}/transcript
    
    Returns full transcript with timestamps and text segments.

    Generate Summary

    curl -s -X POST http://127.0.0.1:8877/api/sessions/{session_id}/summarize
    
    Triggers AI summary generation (requires GHOSTMEET_ANTHROPIC_KEY). Returns: key decisions, action items, and next steps.

    Get Summary

    curl -s http://127.0.0.1:8877/api/sessions/{session_id}/summary
    
    Returns previously generated summary.

    Workflow

    During a Meeting

    1. User joins a meeting (Google Meet, Zoom, Teams) in Chrome 2. Clicks ghostmeet extension icon β†’ side panel opens 3. Clicks "Start" β†’ real-time transcription begins 4. Transcripts appear live in the side panel

    After a Meeting

    User asks: "Summarize my last meeting"

    1. List sessions β†’ find the latest session ID 2. Get transcript β†’ review what was discussed 3. Generate summary β†’ extract key points 4. Deliver summary to user

    Example Interaction

    User: "What was discussed in my last meeting?" β†’ curl http://127.0.0.1:8877/api/sessions β†’ get latest session β†’ curl http://127.0.0.1:8877/api/sessions/{id}/transcript β†’ get transcript β†’ Summarize key points for the user

    User: "Generate a summary with action items" β†’ curl -X POST http://127.0.0.1:8877/api/sessions/{id}/summarize β†’ curl http://127.0.0.1:8877/api/sessions/{id}/summary β†’ Deliver formatted summary

    User: "How many meetings did I have today?" β†’ curl http://127.0.0.1:8877/api/sessions β†’ count today's sessions

    Configuration

    | Variable | Default | Description | |----------|---------|-------------| | GHOSTMEET_MODEL | base | Whisper model (tiny/base/small/medium/large-v3) | | GHOSTMEET_LANGUAGE | auto | Force language (en/ko/ja etc.) or auto-detect | | GHOSTMEET_CHUNK_INTERVAL | 10 | Transcription interval in seconds | | GHOSTMEET_ANTHROPIC_KEY | β€” | Claude API key for summaries | | GHOSTMEET_HOST | 0.0.0.0 | Backend bind address | | GHOSTMEET_PORT | 8877 | Backend port |

    Model Size Guide

  • tiny (75MB): Fast, lower accuracy. Good for quick notes
  • base (145MB): Balanced. Recommended for most users
  • small (488MB): Better accuracy, slower
  • medium (1.5GB): High accuracy, needs good CPU/GPU
  • large-v3 (3GB): Best accuracy, requires GPU
  • Usage Guidelines

    1. Always check health first β€” verify backend is running before other commands 2. List sessions to find IDs β€” session IDs are date-based (e.g., 20260308-065021) 3. Summarize only when asked β€” summary generation costs API tokens 4. Format transcripts nicely β€” don't dump raw JSON, present as readable conversation 5. Respect privacy β€” meeting transcripts are sensitive. Never share outside the current chat 6. If backend is down β€” suggest docker compose up -d in the ghostmeet directory

    Privacy

  • Transcription is 100% local β€” Whisper runs on your machine, audio never leaves your device
  • Summaries use Anthropic API β€” when you click Summarize, transcript text is sent to Claude API. If you don't want this, skip the summarize feature; transcription works without it
  • Chrome Extension captures tab audio only β€” uses chrome.tabCapture API, limited to the active tab. It cannot access other tabs, microphone, or system audio. Audit the extension source in extension/ before installing
  • No telemetry β€” ghostmeet sends zero analytics or tracking data
  • Troubleshooting

  • Connection refused β†’ Backend not running. docker compose up -d
  • No sessions β†’ No meetings recorded yet. Chrome Extension must be active during meeting
  • Summary fails β†’ GHOSTMEET_ANTHROPIC_KEY not set in .env
  • Poor transcription β†’ Try larger Whisper model or set explicit language
  • βš™οΈ Configuration

    | Variable | Default | Description | |----------|---------|-------------| | GHOSTMEET_MODEL | base | Whisper model (tiny/base/small/medium/large-v3) | | GHOSTMEET_LANGUAGE | auto | Force language (en/ko/ja etc.) or auto-detect | | GHOSTMEET_CHUNK_INTERVAL | 10 | Transcription interval in seconds | | GHOSTMEET_ANTHROPIC_KEY | β€” | Claude API key for summaries | | GHOSTMEET_HOST | 0.0.0.0 | Backend bind address | | GHOSTMEET_PORT | 8877 | Backend port |

    Model Size Guide

  • tiny (75MB): Fast, lower accuracy. Good for quick notes
  • base (145MB): Balanced. Recommended for most users
  • small (488MB): Better accuracy, slower
  • medium (1.5GB): High accuracy, needs good CPU/GPU
  • large-v3 (3GB): Best accuracy, requires GPU
  • πŸ“‹ Tips & Best Practices

  • Connection refused β†’ Backend not running. docker compose up -d
  • No sessions β†’ No meetings recorded yet. Chrome Extension must be active during meeting
  • Summary fails β†’ GHOSTMEET_ANTHROPIC_KEY not set in .env
  • Poor transcription β†’ Try larger Whisper model or set explicit language