Skip to content

BuildForSDG/Open-Cluely

 
 

Repository files navigation

Open-Cluely

Electron desktop meeting assistant with live transcription, screenshots, and Gemini-based assistance.

Project Structure

  • src/main.js - main Electron process entry and runtime orchestration
  • src/bootstrap/ - startup environment loading, validation, and .env persistence
  • src/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 reference
  • src/services/ai/ - AI service integrations such as Gemini
  • src/services/state/ - local persisted state helpers such as cache/app-state.json handling
  • src/config.js - source of truth for Gemini and AssemblyAI speech model lists/defaults

Setup

Prerequisites

  • Windows 10/11
  • nvm-windows 1.2.2 or compatible
  • Node.js 20.20.1
  • npm 10.8.2
  • Gemini API key
  • AssemblyAI API key

Native Windows Dependencies

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"

Install

winget install --id CoreyButler.NVMforWindows --exact --silent --accept-package-agreements --accept-source-agreements
nvm install 20.20.1
nvm use 20.20.1

Restart the terminal or VS Code/Cursor, then run:

node -v
npm -v
npm ci

Run

npm start

For logs:

npm run dev

Configuration

src/config.js

This file is the source of truth for model lists:

  • GEMINI_MODELS: Gemini models shown in settings
  • ASSEMBLY_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

.env

Required:

GEMINI_API_KEY=your_gemini_key
ASSEMBLY_AI_API_KEY=your_assemblyai_key

Optional:

HIDE_FROM_SCREEN_CAPTURE=true
MAX_SCREENSHOTS=50
SCREENSHOT_DELAY=300
NODE_ENV=production
NODE_OPTIONS=--max-old-space-size=4096

Notes:

  • GEMINI_MODEL is not read from .env
  • available AssemblyAI speech models are not controlled from .env
  • HIDE_FROM_SCREEN_CAPTURE=false allows the window to appear in screen share / screenshots

App State

Runtime selections are persisted in:

cache/app-state.json

Stored values:

  • selected Gemini model
  • selected AssemblyAI speech model

Build

Use:

npm run build -- --config.win.signAndEditExecutable=false

Output:

dist/GoogleChrome.exe

If build fails with a symlink privilege error, enable Windows Developer Mode or run the build from an elevated terminal.

Scripts

  • npm start - run the app
  • npm run dev - run with logs
  • npm run build -- --config.win.signAndEditExecutable=false - build Windows executable

Keyboard Shortcuts

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

Note

Use this tool only where recording, transcription, and AI assistance are allowed.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • JavaScript 84.1%
  • CSS 11.4%
  • HTML 4.5%