by TechyCSR
OpenCluely is a free, open source Cluely (alternative), built for technical interviews like DSA, OAs, and CP. It offers an invisible overlay, real-time AI help, Smart Image Processing for question capture, and multi-language support : 100% customizable and private.
# Add to your Claude Code skills
git clone https://github.com/TechyCSR/OpenCluelyLast scanned: 5/30/2026
{
"issues": [
{
"type": "npm-audit",
"message": "@tootallnate/once: @tootallnate/once vulnerable to Incorrect Control Flow Scoping",
"severity": "low"
},
{
"type": "npm-audit",
"message": "@xmldom/xmldom: xmldom: XML injection via unsafe CDATA serialization allows attacker-controlled markup insertion",
"severity": "high"
},
{
"type": "npm-audit",
"message": "ajv: ajv has ReDoS when using `$data` option",
"severity": "medium"
},
{
"type": "npm-audit",
"message": "app-builder-lib: Vulnerability found",
"severity": "high"
},
{
"type": "npm-audit",
"message": "brace-expansion: brace-expansion: Zero-step sequence causes process hang and memory exhaustion",
"severity": "medium"
},
{
"type": "npm-audit",
"message": "dmg-builder: Vulnerability found",
"severity": "high"
},
{
"type": "npm-audit",
"message": "electron: Electron has ASAR Integrity Bypass via resource modification",
"severity": "high"
},
{
"type": "npm-audit",
"message": "electron-builder: Vulnerability found",
"severity": "high"
},
{
"type": "npm-audit",
"message": "electron-builder-squirrel-windows: Vulnerability found",
"severity": "high"
},
{
"type": "npm-audit",
"message": "form-data: form-data uses unsafe random function in form-data for choosing boundary",
"severity": "critical"
},
{
"type": "npm-audit",
"message": "glob: glob CLI: Command injection via -c/--cmd executes matches with shell:true",
"severity": "high"
},
{
"type": "npm-audit",
"message": "js-yaml: js-yaml has prototype pollution in merge (<<)",
"severity": "medium"
},
{
"type": "npm-audit",
"message": "lodash: Lodash has Prototype Pollution Vulnerability in `_.unset` and `_.omit` functions",
"severity": "high"
},
{
"type": "npm-audit",
"message": "markdown: Regular Expression Denial of Service in markdown",
"severity": "low"
},
{
"type": "npm-audit",
"message": "microsoft-cognitiveservices-speech-sdk: Vulnerability found",
"severity": "medium"
},
{
"type": "npm-audit",
"message": "minimatch: minimatch has a ReDoS via repeated wildcards with non-matching literal in pattern",
"severity": "high"
},
{
"type": "npm-audit",
"message": "tar: node-tar Vulnerable to Arbitrary File Creation/Overwrite via Hardlink Path Traversal",
"severity": "high"
},
{
"type": "npm-audit",
"message": "tmp: tmp allows arbitrary temporary file / directory write via symbolic link `dir` parameter",
"severity": "high"
},
{
"type": "npm-audit",
"message": "uuid: uuid: Missing buffer bounds check in v3/v5/v6 when buf is provided",
"severity": "medium"
}
],
"status": "FAILED",
"scannedAt": "2026-05-30T15:00:02.710Z",
"npmAuditRan": true,
"pipAuditRan": true
}No comments yet. Be the first to share your thoughts!
Requires a passing catalog security scan. Resolve the flagged issues and resubmit to enable featuring.
OpenCluely is a revolutionary AI-powered desktop application that provides invisible, real-time assistance during technical rounds.
https://github.com/user-attachments/assets/896a7140-1e85-405d-bfbe-e05c9f3a816b
The setup script automatically handles configuration. You only need:
# Required: Google Gemini API Key (setup script will ask for this)
GEMINI_API_KEY=your_gemini_api_key_here
# Optional: Speech Recognition (pick one provider)
SPEECH_PROVIDER=whisper
# Azure option
AZURE_SPEECH_KEY=your_azure_speech_key
AZURE_SPEECH_REGION=your_region
# Local Whisper option
WHISPER_COMMAND=whisper
WHISPER_MODEL_DIR=.whisper-models
WHISPER_MODEL=base
WHISPER_LANGUAGE=en
WHISPER_SEGMENT_MS=4000
Note: Speech recognition is completely optional. If no configured provider is available, the microphone button will be automatically hidden from all interfaces.
Clone the repository
git clone https://github.com/TechyCSR/OpenCluely.git
cd OpenCluely
Get your Gemini API key (Required)
Run the setup script (One command does everything!)
./setup.sh
That's it! The setup script will:
.env file from env.example if needed.venv-whisper.env to use local Whisper by defaultsetup.sh now writes WHISPER_COMMAND=.venv-whisper/Scripts/whisper.exesetup.sh writes WHISPER_COMMAND=.venv-whisper/bin/whisper./setup.sh --build # Build distributable for your OS
./setup.sh --ci # Use npm ci instead of npm install
./setup.sh --no-run # Setup only, don't launch the app
./setup.sh --install-system-deps # Install sox for microphone (optional)
./setup.sh --skip-whisper # Skip the local Whisper bootstrap
Voice recognition is optional. You can use either Azure Speech or local OpenAI Whisper.
For the local Whisper path, ./setup.sh now handles the full repo-local setup:
Creates .venv-whisper
Installs openai-whisper
Points .env at .venv-whisper/bin/whisper
Creates .whisper-models
Runs npm run test-speech
For Azure Speech:
For local Whisper:
./setup.sh --install-system-depsffmpeg and sox yourselfsetup.shAdd one provider to your .env file:
GEMINI_API_KEY=your_gemini_api_key_here
SPEECH_PROVIDER=azure
AZURE_SPEECH_KEY=your_azure_speech_key
AZURE_SPEECH_REGION=your_region
GEMINI_API_KEY=your_gemini_api_key_here
SPEECH_PROVIDER=whisper
WHISPER_COMMAND=whisper
WHISPER_MODEL_DIR=.whisper-models
WHISPER_MODEL=base
WHISPER_LANGUAGE=en
WHISPER_SEGMENT_MS=4000
Restart the app - microphone buttons will now appear automatically
| Action | Shortcut | Description |
|---|---|---|
| Screenshot Capture | ⌘⇧S |
Capture screen and analyze via Gemini (image understanding) |
| Toggle Speech | Alt+R |
Start/stop voice recognition (if configured) |
| Toggle Visibility | ⌘⇧V |
Show/hide all windows |
| Toggle Interaction | ⌘⇧I or Alt+A |
Enable/disable window interaction |
| Switch to Chat | ⌘⇧C |
Open interactive chat window |
| Settings | ⌘, |
Open settings panel |