How mhkarami97/ai-meet works
AI Meet is a client-side browser extension for capturing Google Meet captions, turning transcripts into AI reports, and storing, exporting, or optionally syncing meeting records. The main flow runs from the Meet-page capture control through the background worker and IndexedDB, then report generation and side-panel review/export. README documents advanced report analysis, multiple AI providers, manual prompt mode, offline formats, GitHub sync, and bilingual/theme settings; these are retained as distinct capabilities. Several UI and sync internals were not sampled, so only documented or indexed relationships are shown.
Main entry points: service-worker.js Message router · settings-store.js Settings and secrets · options.js Provider and preferences · sidepanel.js Meeting side panel
Components 23
Capture
- Caption capture
src/content/meet-capture.js
Background
- Message router
src/background/service-worker.js - Settings and secrets
src/background/settings-store.js - Secret encryption
src/background/crypto-helper.js
AI reports
- Report orchestration
src/background/summarizer.js - Prompt templates
src/ai/prompt-templates.js - AI providers
src/ai/providers.js - Provider interface
src/ai/provider-interface.js - Manual prompt mode
src/ai/providers.js
Meeting records
- Meeting and analysis model
src/db/models.js - IndexedDB history
src/db/database.js
UI and outputs
- Meeting side panel
src/ui/sidepanel.js - Provider and preferences
src/ui/options.js - Offline exporters
src/export/exporters.js - Markdown builder
src/export/markdown-builder.js - GitHub sync
src/background/sync-provider.js - Translations
src/i18n/i18n.js - UI language bootstrap
src/ui/ui-language.js - Theme application
src/ui/theme.js
Other components
- Meeting user
- Google Meet
- AI endpoints
- GitHub repository
Connections 31
- Meeting user → Caption capture: starts or stops
README.md - Google Meet → Caption capture: provides captions
README.md - Caption capture → Message router: sends meeting events
- Message router → Settings and secrets: reads settings
src/background/service-worker.js - Settings and secrets → Secret encryption: encrypts secrets
src/background/settings-store.js - Message router → IndexedDB history: saves and loads meetings
src/background/service-worker.js - IndexedDB history → Meeting and analysis model: rehydrates records
src/db/database.js - Message router → Report orchestration: requests reports
src/background/service-worker.js - Report orchestration → Prompt templates: builds prompts
src/background/summarizer.js - Report orchestration → AI providers: requests completion
src/background/summarizer.js - AI providers → Provider interface: implements
src/ai/providers.js - Report orchestration → Settings and secrets: loads provider config
src/background/summarizer.js - AI providers → AI endpoints: sends AI requests
src/ai/providers.js - Message router → Meeting side panel: broadcasts meeting updates
- Meeting side panel → IndexedDB history: reads meeting history
- Meeting side panel → Offline exporters: exports selected meeting
src/ui/sidepanel.js - Offline exporters → Markdown builder: builds Markdown output
src/export/exporters.js - Offline exporters → Settings and secrets: reads transcript option
src/export/exporters.js - Message router → GitHub sync: syncs requested meeting
src/background/service-worker.js - Message router → Markdown builder: builds sync report
src/background/service-worker.js - GitHub sync → GitHub repository: uploads meeting files
- Provider and preferences → Settings and secrets: saves preferences
src/ui/options.js - Provider and preferences → Prompt templates: configures templates
src/ui/options.js - Provider and preferences → AI providers: configures providers
src/ui/options.js - Meeting side panel → UI language bootstrap: initializes language
src/ui/sidepanel.js - Provider and preferences → UI language bootstrap: initializes language
src/ui/options.js - UI language bootstrap → Settings and secrets: loads language choice
src/ui/ui-language.js - UI language bootstrap → Translations: loads translations
src/ui/ui-language.js - Translations → Meeting user: renders bilingual UI
src/i18n/i18n.js - Meeting side panel → Theme application: applies theme
src/ui/sidepanel.js - Provider and preferences → Theme application: applies theme
src/ui/options.js