How shamanthhiremath/opencluely works
OpenCluely is an Electron desktop interview copilot. The main workflow is voice, chat, or screenshot input → session-aware Gemini reasoning → streamed answers in the overlay and optional chat. The graph also includes documented stealth/window behavior, language and settings controls, and local Whisper support. README-described features are included where relevant, but unsampled implementation details and uncertain call paths are not expanded.
Main entry points: main.js Application controller · llm.service.js Gemini service · speech.service.js Speech recognition · window.manager.js Window manager
Components 20
App orchestration
- Application controller
main.js
Question input
- Screen capture
src/services/capture.service.js - Speech recognition
src/services/speech.service.js - Whisper worker
src/services/whisper-worker.service.js - Whisper process
scripts/whisper_worker.py
Context and AI
- Session memory
src/managers/session.manager.js - Gemini service
src/services/llm.service.js - Skill prompts
prompts
Windows and controls
- Window manager
src/managers/window.manager.js - Overlay controls
src/ui/main-window.js - Chat panel
src/ui/chat-window.js - Answer window
llm-response.html - Settings window
src/ui/settings-window.js
Configuration
- App configuration
src/core/config.js - First-run onboarding
src/core/first-run.js - Whisper setup
src/core/whisper-installer.js
Other components
- User
- Microphone
- Google Gemini
- Screen-sharing apps
Connections 25
- User → Overlay controls: asks or controls
- User → Microphone: speaks
- Microphone → Speech recognition: audio
- Overlay controls → Application controller: sends input
- Application controller → Screen capture: requests screenshot
- Screen capture → Application controller: returns image
- Application controller → Speech recognition: controls capture
- Speech recognition → Whisper worker: transcribes locally
- Whisper worker → Whisper process: dispatches requests
- Speech recognition → Application controller: emits transcript
- Application controller → Session memory: records input
- Application controller → Gemini service: requests answer
- Session memory → Application controller: provides history
- Application controller → Gemini service: supplies context
- Gemini service → Skill prompts: loads skill prompts
- Gemini service → Google Gemini: sends AI request
- Google Gemini → Gemini service: streams response
- Application controller → Window manager: manages windows
- Window manager → Answer window: dispatches answer
- Window manager → Chat panel: manages panel
- Application controller → App configuration: reads settings
- Settings window → Application controller: saves settings
- Application controller → First-run onboarding: checks first run
- First-run onboarding → Whisper setup: sets up Whisper
- Screen-sharing apps → Window manager: triggers hiding