stormydayy/halo-overlay

Lightweight opensource AI overlay for live conversations. Hears, sees, suggests.

Halo 是一个小型 AI 助手,以悬浮覆盖层的形式显示在屏幕上。它聆听周围的对话,观察显示器上的内容,并实时提供简短的建议,告诉您接下来该说什么或做什么。

功能

  • 聆听两个音频通道:对方(系统音频,标记为“Them”)和您(麦克风,标记为“You”)。在“Both”模式下,当对方说话时,您的麦克风线路会被抑制,因此您的名字不会与他们的言语关联。
  • 监控屏幕:持续监控屏幕。每隔几毫秒拍摄一张微小的灰度快照,与上一张比较,仅在屏幕实际变化并稳定后保留帧。这避免了存储重复或动画中间帧。
  • 建议:当检测到对方言语中的问题时,提供简短回答(自动回答,默认关闭,因为它是启发式的,可能误触发)。
  • Rewind(Ctrl+Shift+Enter):如果您走神了,它会获取最近 30 秒到 5 分钟的转录文本以及几个屏幕关键帧,并回复三件事:发生了什么(2-3 个要点)、他们现在需要您做什么,以及一句现成的话。您还可以在 Rewind 面板中固定帧,以包含在下一个问题中。
  • 记录会话:每个会话都会保存(转录文本 + 建议)。Recap 按钮让 AI 撰写包含行动项的摘要,您可以将所有内容导出为 Markdown。
  • 配置文件:面试、会议、销售、谈判、演示、学习——每个都有各自的提示风格。
  • 可自定义:快捷键、窗口透明度、字体大小和点击穿透模式均可调整。
  • 可选屏幕录制:直接录制为 .webm 文件(默认关闭)。

构建方式

  • 从零开始重写了 sohzm/cheating-daddy 背后的想法,但没有打包器、没有内置库、没有构建步骤——源代码直接运行。
  • 一个兼容 OpenAI 的客户端适用于 Gemini、Groq、OpenAI、OpenRouter、Ollama、LM Studio 或您自己的服务器。没有针对每个提供商的单独代码路径。
  • 语音识别使用 VAD(语音活动检测)加上任何兼容 Whisper 的 API(Groq、OpenAI 或本地 whisper.cpp / faster-whisper 服务器)。
  • 约 3,100 行代码,0 个运行时依赖,27 个单元测试(npm test)。
  • 安全性:contextIsolation、sandbox、严格的 CSP、每个 IPC 调用都经过验证、API 密钥由操作系统加密(DPAPI / Keychain / libsecret),且从不发送到 UI。

隐私

  • API 密钥使用操作系统的安全存储加密,并且从不显示在 UI 中。
  • 数据仅发送到您配置的提供商:短音频片段发送到语音识别服务,文本(以及如果启用的截图)发送到模型。不会向任何地方发送遥测数据。
  • 会话和录音存储在应用配置文件文件夹中本地。“删除所有会话和录音”或 Ctrl+Shift+E 可清除它们。
  • 屏幕录制默认关闭。

设置

需要 Node.js 20+ 和 Python 3.11+。

git clone https://github.com/stormydayy/halo-overlay
cd halo-overlay
npm install
npm start

然后在设置中:选择模型提供商并粘贴您的密钥,测试连接,选择语音识别服务,选择配置文件,添加上下文(简历、笔记等),然后开始会话。

完全本地选项:使用 Ollama 搭配支持视觉的模型(例如 llama3.2-vision)作为 LLM,以及任何暴露 /v1/audio/transcriptions 的服务器(whisper.cpp、faster-whisper-server)用于语音。本地地址(localhost、192.168.*、10.*)不需要 API 密钥。

平台说明

  • Windows:通过 getDisplayMedia 的环回方式获取系统音频;麦克风可用。
  • macOS:通过 SystemAudioDump 辅助程序获取系统音频(仅为 Apple Silicon 构建——Intel Mac 需要从源代码自行构建);麦克风可用。在系统设置中授予屏幕录制和麦克风访问权限。
  • Linux:如果您的环境支持,通过环回方式获取系统音频;否则仅麦克风。

如果系统音频不可用,Halo 会告知您并继续使用麦克风 + 屏幕。

已知限制

  • 语音识别按暂停分块处理(通常延迟 1-3 秒),而不是连续流。
  • 问题检测器是启发式的,因此误报会发生——这就是自动回答默认关闭的原因。
  • SystemAudioDump 仅为 Apple Silicon 构建。

许可证

GPL-3.0。想法和 macOS 音频辅助程序来自 sohzm/cheating-daddy 和 Mohammed-Yasin-Mulla/Sound。

免责声明(来自 README)

Halo 是一种对话辅助工具,类似于舞台提词器。规则各不相同:许多面试、考试、雇主和平台禁止外部帮助或录音,关于录音对话的法律因国家而异。请在使用它的地方检查规则,如果法律或基本道德要求,请告知其他相关人员。

相关

  • 项目
  • 项目
  • 项目
  • 项目