>_ DevTrendszh

语言

首页

语言

板块

前端 后端 移动端 DevOps AI / ML 游戏开发 区块链 嵌入式 安全
JavaScript

技术面试的隐形提词卡 - OpenCluely 深度解析

想象这样一个场景:你正在参加一场在线技术面试。你在 Zoom 上共享屏幕,突然对二叉树旋转脑子一片空白。在第二块显示器上搜索很冒险,而视线离开摄像头会立刻引起面试官的怀疑。

OpenCluely 最近在 GitHub 上走红。这是一款桌面助手,在你屏幕上可见,但对屏幕录制和屏幕共享软件完全隐藏。

这款应用能做什么

OpenCluely 将自己定位为 Cluely 的免费替代品。它作为 Electron 应用运行,在你的窗口上方创建一个不可见的悬浮层。

这款应用的核心功能是与视频会议软件的交互。当你在 Zoom、Google Meet、Microsoft Teams 中启用屏幕共享,或在 OBS 中开始录制时,视频流根本不会包含助手窗口。

信息通过两种方式传递:

  • 你对问题截图,模型分析图像。
  • 你对着麦克风说出问题,文字被实时识别。

响应在生成过程中逐字出现在一个小型悬浮窗口或聊天界面中。

如何实现隐身

开发者利用操作系统 API 来保护内容不被捕获。

在 macOS 上,这通过 NSWindowSharingNone 参数处理。Windows 使用 WDA_EXCLUDEFROMCAPTURE 标志。Electron 为应用窗口设置这些选项,因此屏幕捕获工具只能看到悬浮层下方的内容。

Linux 是另一回事。X11 和 Wayland 缺少类似的窗口管理器标志。作者在文档中坦诚警告:在 Linux 上,悬浮层对所有会议参与者可见。作为部分解决方案,他们建议不要共享整个桌面,而是只共享包含代码编辑器的特定窗口。

无需额外步骤的语音和多模态能力

对于视觉内容处理,OpenCluely 直接将截图发送到 Gemini。不涉及中间的 OCR 文字识别。多模态模型直接接收带有代码或问题描述的图像并构建响应。

作者还在语音方面下了功夫。Azure Speech 或本地 Whisper 可选作语音引擎。

本地 Whisper 在首次启动时由脚本自动配置。语音输入不会严格按计时器切断音频流。算法追踪语音中的自然停顿,将长句组合成单个请求。单独的过滤器会移除 Whisper 的幻觉——即在完全静默时尝试编造不存在的词语。

控制用热键

为避免光标移动引起注意,控制基于键盘:

  • Cmd/Ctrl + Shift + S 打开截图区域选择。
  • Cmd/Ctrl + Shift + V 立即隐藏或显示所有助手窗口。
  • Cmd/Ctrl + Shift + IAlt + A 启用点击穿透模式,使鼠标忽略提示窗口并点击其下方的元素。
  • Alt + R 开始或停止麦克风录制。

安装和平台特性

这款应用需要 Gemini API 密钥才能工作。你可以在 Google AI Studio 免费获取一个,并在应用设置或 .env 文件中输入。

为 Windows(作为 .exe)和 Linux(包 .deb.AppImage)提供了预构建安装程序。

macOS 是另一回事。发布版本中没有现成的 .dmg 文件。该应用未使用 Apple 证书签名,因此内置的 Gatekeeper 安全系统阻止其正常启动。Mac 用户需要从源码构建项目。

构建过程很简单。你需要安装 Node.js 和 Git。

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

setup.sh 脚本处理所有常规操作:安装 NPM 依赖、设置 Python 虚拟环境、下载 Whisper 模型,并生成初始 .env

值得使用吗

在真实面试中使用此类软件处于伦理灰色地带。如果面试官开始询问代码的澄清问题或让你解释决策,生成的提示不太可能拯救你。

这款应用非常适合面试练习、在时间限制下解决 LeetCode 问题,以及减轻对算法部分的焦虑。

该项目的优势包括开源代码、无隐藏遥测、本地处理语音的能力,以及与系统 API 的精心集成。

相关项目