OpenCluely

TechyCSRApache-2.0活跃维护

面向技术面试的开源 AI 助手,提供隐形悬浮窗、实时答题辅助和题目截图识别,支持多语言且可完全自定义、注重隐私。

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.

v1.8.7发布于 2026-07-28 19:16 UTC1,172star +4 / 7 天269fork同步于 2026-11-10 05:55 UTC

怎么上手

由 README 提炼,执行前请确认
git clone https://github.com/TechyCSR/OpenCluely.git
cd OpenCluely
./setup.sh
硬件要求按 README 说明

README 未给出显存或 GPU 型号要求;本地 Whisper 可选 CUDA 加速并在空闲时释放 GPU,未配置语音提供方时麦克风按钮自动隐藏。

需要 CUDA
下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

由 README 自动翻译提炼

开源隐形 AI 面试副驾,悬浮窗不被录屏捕获,语音或截图提问实时流式作答

面向技术面试的开源 AI 助手,提供隐形悬浮窗、实时答题辅助和题目截图识别,支持多语言且可完全自定义、注重隐私。

核心能力

  • 用 Electron setContentProtection 让悬浮窗躲开 Zoom、Meet、OBS 录制
  • 截图直送 Gemini 做视觉推理,跳过 OCR 环节
  • 支持手动或 VAD 自动检测的本地 Whisper 语音转写
  • 整段会话记忆保留上下文,追问和优化不丢线索
  • 按 C++、C、Python、Java、JavaScript 定制回答

容易踩的坑

必须自备 Gemini API Key,首次启动在设置里填入或改 .env;macOS 无预编译包且未签名,只能从源码用 ./setup.sh 运行;Linux 上悬浮窗无法对屏幕共享隐身,仅 macOS 和 Windows 有效;Windows 需用 Git Bash 或 WSL 执行 setup.sh。

内容由模型根据 README 生成,可能不完整或不准确,以官方文档为准。看原文 README

最近发版

5 个版本v1.8.7
  1. v1.8.7OpenCluely v1.8.7最新正式版2026-07-28 · 2026-07-28 19:16 UTC

    Installation

    Choose the artifact for your platform:

    PlatformFileNotes
    WindowsOpenCluely-Setup-*.exeNSIS installer — installs app + adds to Start Menu
    Linux*.debDebian/Ubuntu — auto-pulls system deps (Python, ffmpeg, GTK)
    Linux*.AppImageUniversal — no install, just chmod +x and run

    macOS: no pre-built build is shipped. The app is unsigned/un-notarized, so macOS Gatekeeper blocks it as "damaged". Run OpenCluely from source instead:

    git clone https://github.com/TechyCSR/OpenCluely && cd OpenCluely && ./setup.sh
    

    Requires Node.js 18+. See the README for details.

    First Run

    On first launch, OpenCluely opens the Settings window automatically for your Google Gemini API key. Get a free key from Google AI Studio. You can also edit .env directly.

    Optional: Local Whisper (offline speech)

    Install Python 3.10+ and ffmpeg, then run:

    ./setup.sh --skip-install-system-deps
    

    Checksums

    See SHA256SUMS.txt attached to this release.

    What's Changed

    Summary

    This release includes 2 commits since v1.8.6.

    Features

    • add configurable persistent local Whisper (#29) (258fd64)

    Improvements

    • Refactor macOS environment path resolution, update User-Agent handling, and simplify window creation options (bc6dae5)

    Full Changelog: v1.8.6...v1.8.7

  2. v1.8.6OpenCluely v1.8.62026-07-10 · 2026-07-10 05:07 UTC
    查看更新说明

    Installation

    Choose the artifact for your platform:

    PlatformFileNotes
    WindowsOpenCluely-Setup-*.exeNSIS installer — installs app + adds to Start Menu
    Linux*.debDebian/Ubuntu — auto-pulls system deps (Python, ffmpeg, GTK)
    Linux*.AppImageUniversal — no install, just chmod +x and run

    macOS: no pre-built build is shipped. The app is unsigned/un-notarized, so macOS Gatekeeper blocks it as "damaged". Run OpenCluely from source instead:

    git clone https://github.com/TechyCSR/OpenCluely && cd OpenCluely && ./setup.sh
    

    Requires Node.js 18+. See the README for details.

    First Run

    On first launch, OpenCluely opens the Settings window automatically for your Google Gemini API key. Get a free key from Google AI Studio. You can also edit .env directly.

    Optional: Local Whisper (offline speech)

    Install Python 3.10+ and ffmpeg, then run:

    ./setup.sh --skip-install-system-deps
    

    Checksums

    See SHA256SUMS.txt attached to this release.

    What's Changed

    Summary

    This release includes 5 commits since v1.8.5.

    Other Changes

    • Warn that screen-capture invisibility is unsupported on Linux; document limitation (8f48258)
    • Moved Limitaion sections under Troublesshooting (eba150d)
    • Render LaTeX math in overlay responses (subscripts, superscripts, symbols) (43de620)
    • Render LaTeX math in chat too via shared lib/mathrender.js (ffbe8f3)
    • Ship Windows+Linux only, fix missing Windows artifact, direct macOS to build from source (dffdf1a)

    Full Changelog: v1.8.5...v1.8.6

  3. v1.8.5OpenCluely v1.8.52026-07-03 · 2026-07-03 07:13 UTC
    查看更新说明

    Installation

    Choose the artifact for your platform:

    PlatformFileNotes
    WindowsOpenCluely-Setup-*.exeNSIS installer — installs app + adds to Start Menu
    macOS (Apple Silicon)*-arm64.dmgM1/M2/M3/M4 Macs
    macOS (Intel)*-x64.dmgOlder Intel Macs
    Linux*.debDebian/Ubuntu — auto-pulls system deps (Python, ffmpeg, GTK)
    Linux*.AppImageUniversal — no install, just chmod +x and run

    First Run

    On first launch, OpenCluely opens the Settings window automatically for your Google Gemini API key. Get a free key from Google AI Studio. You can also edit .env directly.

    Optional: Local Whisper (offline speech)

    Install Python 3.10+ and ffmpeg, then run:

    ./setup.sh --skip-install-system-deps
    

    Checksums

    See SHA256SUMS.txt attached to this release.

    What's Changed

    Summary

    This release includes 2 commits since v1.8.1.

    Fixes

    • Fix broken SDK in Electron: use HTTPS SSE streaming and HTTPS-first requests (9fbb914)

    Other Changes

    • Speed up AI: Flash-Lite model, disable thinking, drop preflight, stream chat+screenshots (3516dc5)

    Full Changelog: v1.8.1...v1.8.5

  4. v1.8.1OpenCluely v1.8.12026-07-03 · 2026-07-03 05:17 UTC
    查看更新说明

    Installation

    Choose the artifact for your platform:

    PlatformFileNotes
    WindowsOpenCluely-Setup-*.exeNSIS installer — installs app + adds to Start Menu
    macOS (Apple Silicon)*-arm64.dmgM1/M2/M3/M4 Macs
    macOS (Intel)*-x64.dmgOlder Intel Macs
    Linux*.debDebian/Ubuntu — auto-pulls system deps (Python, ffmpeg, GTK)
    Linux*.AppImageUniversal — no install, just chmod +x and run

    First Run

    On first launch, OpenCluely opens the Settings window automatically for your Google Gemini API key. Get a free key from Google AI Studio. You can also edit .env directly.

    Optional: Local Whisper (offline speech)

    Install Python 3.10+ and ffmpeg, then run:

    ./setup.sh --skip-install-system-deps
    

    Checksums

    See SHA256SUMS.txt attached to this release.

    What's Changed

    Summary

    This release includes 1 commits since v1.8.0.

    Other Changes

    • Stop electron-builder auto-publishing so changelog release body is used (802de18)

    Full Changelog: v1.8.0...v1.8.1

  5. v1.8.01.8.02026-07-02 · 2026-07-02 12:11 UTC
    查看更新说明

    Installation

    Choose the artifact for your platform:

    PlatformFileNotes
    WindowsOpenCluely-Setup-*.exeNSIS installer — installs app + adds to Start Menu
    macOS (Apple Silicon)*-arm64.dmgM1/M2/M3/M4 Macs
    macOS (Intel)*-x64.dmgOlder Intel Macs
    Linux*.debDebian/Ubuntu — auto-pulls system deps (Python, ffmpeg, GTK)
    Linux*.AppImageUniversal — no install, just chmod +x and run

    First Run

    On first launch, OpenCluely opens the Settings window automatically for your Google Gemini API key. Get a free key from Google AI Studio. You can also edit .env directly.

    Optional: Local Whisper (offline speech)

    Install Python 3.10+ and ffmpeg, then run:

    ./setup.sh --skip-install-system-deps
    

    Checksums

    See SHA256SUMS.txt attached to this release.

    What's Changed

    Summary

    This release includes 15 commits since v1.7.0.

    Features

    • Add monochrome brand favicon and social preview image with generator (78ce54c)
    • Add star indicator to navbar GitHub pill and README star line (f0bf3b7)

    Fixes

    • Fix install step overflow that stretched webapp on small screens (4c63edd)
    • Fix Whisper flush queue stranding utterances during in-flight transcription (699a4bb)
    • Fix VAD noise-floor seeding so immediate speech never stalls detection (30512b3)
    • Fix stranded streaming bubble when transcription LLM fully fails (1034434)
    • Fix Quit menu API call and update stale Google AI Studio link (0c226c6)

    Improvements

    • Polish webapp UI: logo marquee, glassy footer, menu toggle, fixes (f41b0d1)

    Other Changes

    • Redesign webapp: minimal B&W, authentic overlay hero, dynamic downloads, SEO (62aa61f)
    • Rewrite README in plain human prose without emojis (07d071d)
    • Cancel Gemini stream after timeout to stop late chunks leaking to UI (c75bc6b)
    • Let onboarding continue when Gemini key already set in .env (5723a45)
    • Open external links in system browser instead of app windows (7ca8a06)
    • Show full commit range in release notes, not just last commit (666cb22)
    • Stop double-saving settings on speech provider change (acda7d7)

    Full Changelog: v1.7.0...v1.8.0

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译

    OpenCluely

    The invisible AI interview copilot.

    Real-time AI help on a stealth overlay that screen sharing cannot see. Ask by voice or screenshot, and get clear answers that stream in as you need them.

    Website  |  Download  |  Quick start  |  How it works

    Demo

    https://github.com/user-attachments/assets/896a7140-1e85-405d-bfbe-e05c9f3a816b

    What it is

    OpenCluely is a desktop app for technical interviews and practice. It places a small overlay on your screen that recording and conferencing tools do not capture. You can speak a question or take a screenshot, and the AI answers in real time. The answer streams into a floating window and an optional chat panel, with clean code blocks and syntax highlighting.

    It is free and open source. Processing stays on your machine, and the only thing that leaves your device is the request you send to the AI provider.

    Highlights

    • Invisible overlay. Windows stay out of Zoom, Google Meet, Microsoft Teams, Discord, and OBS captures. You see the answer, the call does not.
    • Hidden during screen share. When a share starts, the app can hide every window on its own.
    • Flexible local voice. Choose manual start/stop capture or automatic voice-activity detection without fixed-timer sentence cuts.
    • Configurable streamed answers. Route voice replies to chat, the floating overlay, or both.
    • Direct image analysis. Screenshots go straight to Gemini for visual reasoning, with no slow OCR step in between.
    • Session memory. The whole conversation is remembered, so follow-ups, edge cases, and optimizations keep their context.
    • Language aware. Tailored answers for C++, C, Python, Java, and JavaScript.
    • Stealthy by design. Runs under ordinary system names, ships with no telemetry, and keeps your session local.
    • Cross platform. Pre-built installers for Windows and Linux (.deb and AppImage). macOS runs from source in one command.

    Download

    Pre-built installers are published with every release. These links always point at the newest version.

    PlatformFileNotes
    WindowsSetup .exeNSIS installer. Adds a Start Menu shortcut.
    Linux (Debian or Ubuntu).debPulls system deps automatically (Python, ffmpeg, GTK).
    Linux (universal).AppImageNo install. Run chmod +x then launch.

    macOS: there is no pre-built download. The app is unsigned and un-notarized, so macOS Gatekeeper blocks it as "damaged and can't be opened." Run OpenCluely from source instead — see Quick start. It is a one-line ./setup.sh once Node.js is installed.

    Every build is produced automatically on GitHub Actions and ships with SHA-256 checksums. Each release also lists the full set of commits it includes.

    The website at opencluely.techycsr.dev detects your operating system and offers the right installer directly.

    Quick start

    If you would rather build from source, three steps are all it takes.

    1. Clone the repository.

      git clone https://github.com/TechyCSR/OpenCluely.git
      cd OpenCluely
      
    2. Run the setup script.

      ./setup.sh
      

      The script installs Node dependencies, creates your .env from the example, sets up a local Whisper virtual environment, points the config at it, and launches the app.

    3. Add your Gemini key.

      On first launch the Settings window opens automatically. Get a free key from Google AI Studio and paste it in, or edit .env directly. Both work, and changes are picked up without a restart.

    Platform notes

    • On Windows, use Git Bash (included with Git for Windows) or WSL to run setup.sh.
    • On macOS and Linux, your normal terminal works.
    • macOS users must build from source (steps above) — there is no pre-built .dmg. Because the app is unsigned, a downloaded build would be blocked by Gatekeeper as "damaged"; running from source avoids that entirely.
    • No manual npm commands are needed. The script handles everything.

    Setup script options

    ./setup.sh --build                # Build a distributable for your OS
    ./setup.sh --ci                   # Use npm ci instead of npm install
    ./setup.sh --no-run               # Set up only, do not launch
    ./setup.sh --install-system-deps  # Install sox for the microphone (optional)
    ./setup.sh --skip-whisper         # Skip the local Whisper bootstrap
    

    Configuration

    The setup script writes sensible defaults. The only required value is a Gemini API key.

    # Required
    GEMINI_API_KEY=your_gemini_api_key_here
    
    # Optional speech provider. Pick one.
    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=small
    WHISPER_LANGUAGE=auto
    WHISPER_DEVICE=auto
    WHISPER_PYTHON=
    WHISPER_CAPTURE_MODE=vad
    WHISPER_RESPONSE_TARGET=both
    WHISPER_MANUAL_MAX_MS=90000
    WHISPER_GPU_IDLE_MS=60000
    

    Speech is optional. If no provider is configured, the microphone button hides itself across the app.

    Optional voice setup

    You can use local Whisper for offline transcription or Azure Speech for a cloud option.

    For local Whisper, ./setup.sh handles the full setup. It creates .venv-whisper, installs openai-whisper, points .env at the virtual environment, creates .whisper-models, and runs a quick speech test. The app reads its own PCM WAV recordings directly; ffmpeg is only needed when transcribing other audio formats through the CLI fallback.

    For Azure Speech, create a Speech resource in the Azure Portal, then add the key and region to .env with SPEECH_PROVIDER=azure.

    How it works

    1. Ask. Use automatic pause detection, choose manual start/stop capture in Settings, or use the screenshot shortcut.
    2. Reason. Gemini reads the audio or image with full conversation context and works toward a precise answer.
    3. Answer. Voice responses stream to chat, the overlay, or both, according to Settings.

    Keyboard shortcuts

    ActionShortcutDescription
    Screenshot captureCmd/Ctrl + Shift + SCapture the screen and analyze it with Gemini
    Toggle speechAlt + RStart or stop voice recognition, if configured
    Toggle visibilityCmd/Ctrl + Shift + VShow or hide all windows
    Toggle interactionCmd/Ctrl + Shift + I or Alt + AEnable or disable click through
    Open chatCmd/Ctrl + Shift + COpen the interactive chat window
    SettingsCmd/Ctrl + ,Open the settings panel

    Project status

    OpenCluely is under active development. The core is stable and improvements ship regularly.

    Done

    • Stealth overlay with a draggable command bar and a click through toggle
    • Hidden during screen share, with automatic hiding when a share begins
    • Screenshot capture with direct Gemini analysis, no OCR step
    • Configurable manual or VAD-driven voice capture
    • Persistent local Whisper worker with optional CUDA acceleration and idle GPU release
    • Configurable chat/overlay routing for streamed voice answers
    • Whisper hallucination filter that drops phantom phrases on silence
    • AI response window with markdown and syntax highlighting
    • Global shortcuts for capture, visibility, interaction, chat, and settings
    • Session memory and a full chat UI
    • Language picker and a DSA skill prompt
    • Optional Azure Speech and local Whisper, with an auto hiding mic button
    • Multi-monitor and area capture support
    • Window binding and positioning
    • Settings management with disguise and stealth modes

    Planned

    • Multiple model backends alongside Gemini (OpenAI, Anthropic, local)
    • Auto typing of code snippets into editors and IDEs
    • Export of conversation history to markdown or PDF
    • Deeper stealth, including process name randomization

    Troubleshooting

    • setup.sh will not run. Make sure you are in the project folder (cd OpenCluely) and that the script is executable (chmod +x setup.sh). On Windows, use Git Bash.
    • Setup stops with exit code 130. That means Ctrl+C was pressed. Run ./setup.sh again.
    • Node or npm not found. Install Node.js 18 or newer from nodejs.org, restart the terminal, and retry.
    • Electron will not start or shows a blank window on Linux. Try npm run dev, and make sure X11 or XWayland is available in headless setups.
    • macOS screen capture does not work. Grant Screen Recording permission under System Settings, Privacy and Security, then relaunch the app.
    • Windows SmartScreen blocks the app. Click More info, then Run anyway, or use npm start during development.
    • Microphone or voice not working. Voice is optional. For Azure, add valid keys to .env. For Whisper, install openai-whisper, ffmpeg, and sox, then set SPEECH_PROVIDER=whisper.
    • Screen-capture invisibility does not work on Linux. The overlay stays hidden from screen shares and recordings only on macOS and Windows. This relies on Electron's setContentProtection, which maps to NSWindowSharingNone on macOS and WDA_EXCLUDEFROMCAPTURE on Windows. Electron provides no equivalent on Linux (neither X11 nor Wayland), so on Linux the call is a silent no-op and the overlay will be visible to anyone you screen-share with. This is a platform limitation, not a bug — there is no window flag on Linux that excludes a window from framebuffer capture. If you need capture-invisibility, run OpenCluely on macOS or Windows. As a partial workaround on Linux, share a single application window instead of your entire screen, or place the overlay on a monitor you are not sharing.

    Privacy and ethics

    OpenCluely collects no data and sends no telemetry. Processing happens locally, and your session stays on your device. Requests to the AI provider are encrypted in transit.

    The app is built for learning and practice. You are responsible for following the rules of any interview you take and the policies of the companies involved.

    License

    Released under the MIT License. See LICENSE for details.

    Acknowledgments

    • Google Gemini for the AI reasoning
    • Azure Speech and OpenAI Whisper for optional voice input
    • Electron for the cross platform desktop runtime
    • Vysper by varun-singhh for UI and structure inspiration

    Built by TechyCSR. If OpenCluely helped you, consider giving it a star ⭐