Ghostmeet
by @higangssh
AI meeting assistant via ghostmeet. Start sessions, get live transcripts, and generate AI summaries from any browser meeting.
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
GHOSTMEET_ANTHROPIC_KEY)What This Skill Cannot Do
extension/ folderRequired 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 panelAfter 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
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
chrome.tabCapture API, limited to the active tab. It cannot access other tabs, microphone, or system audio. Audit the extension source in extension/ before installingTroubleshooting
docker compose up -dGHOSTMEET_ANTHROPIC_KEY not set in .envβοΈ 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
π Tips & Best Practices
docker compose up -dGHOSTMEET_ANTHROPIC_KEY not set in .env