Ghostmeet
AI meeting assistant via ghostmeet. Start sessions, get live transcripts, and generate AI summaries from any browser meeting.
Description
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
- User joins a meeting (Google Meet, Zoom, Teams) in Chrome
- Clicks ghostmeet extension icon → side panel opens
- Clicks "Start" → real-time transcription begins
- Transcripts appear live in the side panel
After a Meeting
User asks: "Summarize my last meeting"
- List sessions → find the latest session ID
- Get transcript → review what was discussed
- Generate summary → extract key points
- 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
- Always check health first — verify backend is running before other commands
- List sessions to find IDs — session IDs are date-based (e.g.,
20260308-065021) - Summarize only when asked — summary generation costs API tokens
- Format transcripts nicely — don't dump raw JSON, present as readable conversation
- Respect privacy — meeting transcripts are sensitive. Never share outside the current chat
- If backend is down — suggest
docker compose up -din 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.tabCaptureAPI, limited to the active tab. It cannot access other tabs, microphone, or system audio. Audit the extension source inextension/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_KEYnot set in.env - Poor transcription → Try larger Whisper model or set explicit language
Reviews (0)
No reviews yet. Be the first to review!
Comments (0)
No comments yet. Be the first to share your thoughts!