Electron desktop meeting assistant with live transcription, screenshots, and Gemini-based assistance.
src/main.js- main Electron process entry and runtime orchestrationsrc/bootstrap/- startup environment loading, validation, and.envpersistencesrc/windows/assistant/- active Electron window files (window.js,preload.js,renderer.js,renderer.html,styles.css)src/windows/legacy/- old or backup window/transcription experiments kept for referencesrc/services/ai/- AI service integrations such as Geminisrc/services/state/- local persisted state helpers such ascache/app-state.jsonhandlingsrc/config.js- source of truth for Gemini and AssemblyAI speech model lists/defaults
- Windows 10/11
nvm-windows1.2.2or compatible- Node.js
20.20.1 - npm
10.8.2 - Gemini API key
- AssemblyAI API key
This app uses native Windows modules. If npm ci fails with node-gyp / Visual Studio errors, install:
- Visual Studio 2022 Build Tools or Visual Studio 2022
Desktop development with C++workload- MSVC C++ toolset
- Windows 10/11 SDK
- Python
Install command:
winget install --id Microsoft.VisualStudio.2022.BuildTools --exact --accept-package-agreements --accept-source-agreements --override "--passive --wait --add Microsoft.VisualStudio.Workload.VCTools --includeRecommended"winget install --id CoreyButler.NVMforWindows --exact --silent --accept-package-agreements --accept-source-agreements
nvm install 20.20.1
nvm use 20.20.1Restart the terminal or VS Code/Cursor, then run:
node -v
npm -v
npm cinpm startFor logs:
npm run devThis file is the source of truth for model lists:
GEMINI_MODELS: Gemini models shown in settingsASSEMBLY_AI_SPEECH_MODELS: AssemblyAI speech models shown in settings- The first item in each list is the default
Current defaults:
- Gemini:
gemini-2.5-flash-lite - AssemblyAI speech:
universal-streaming-english
Required:
GEMINI_API_KEY=your_gemini_key
ASSEMBLY_AI_API_KEY=your_assemblyai_keyOptional:
HIDE_FROM_SCREEN_CAPTURE=true
MAX_SCREENSHOTS=50
SCREENSHOT_DELAY=300
NODE_ENV=production
NODE_OPTIONS=--max-old-space-size=4096Notes:
GEMINI_MODELis not read from.env- available AssemblyAI speech models are not controlled from
.env HIDE_FROM_SCREEN_CAPTURE=falseallows the window to appear in screen share / screenshots
Runtime selections are persisted in:
cache/app-state.json
Stored values:
- selected Gemini model
- selected AssemblyAI speech model
Use:
npm run build -- --config.win.signAndEditExecutable=falseOutput:
dist/GoogleChrome.exe
If build fails with a symlink privilege error, enable Windows Developer Mode or run the build from an elevated terminal.
npm start- run the appnpm run dev- run with logsnpm run build -- --config.win.signAndEditExecutable=false- build Windows executable
| Shortcut | Action |
|---|---|
Ctrl+Alt+Shift+V |
Toggle voice transcription |
Ctrl+Alt+Shift+S |
Capture screenshot |
Ctrl+Alt+Shift+A |
Analyze with AI |
Ctrl+Alt+Shift+X |
Emergency hide |
Ctrl+Alt+Shift+H |
Toggle opacity |
Use this tool only where recording, transcription, and AI assistance are allowed.