stormydayy/halo-overlay

效率与系统工具

悬浮在桌面上的对话提示器,听声音、看屏幕,实时给出下一句该怎么说。

325
36
Python
GPL-3.0
创建于 2 天前

Halo 面向需要在实时通话中获得屏幕提示的人:它抓取对方系统声音、可选麦克风与屏幕画面,再把上下文交给任意 OpenAI 兼容模型,生成一句当下可说的话。README 明确提醒,不少面试、考试、雇主和平台禁止外部协助或录音,各地录音法律也不同;在哪用、是否告知对方,比功能列表更值得先想清楚。

解决什么问题

在实时对话里,你常常需要回忆细节、组织措辞,或者在走神后重新跟上话题,而临时打开聊天窗口提问太显眼。Halo 以浮层形式常驻:声音和屏幕内容在后台采集,按全局快捷键即可索要建议。新增的 Rewind 更具体:走神后按一次键,把最近 30 秒到 5 分钟的转写和若干关键帧交给模型,返回三段式回答——发生了什么、对方现在要你做什么、可以直接说的一句话。

有什么不同

README 把它定位为对 cheating-daddy 思路的重写:不再为每个模型供应商写独立代码路径,而是一个 OpenAI 兼容客户端,Gemini、Groq、OpenAI、OpenRouter、Ollama、LM Studio 或自建服务都走同一套设置界面。语音识别也不绑定厂商:音频先经 VAD 在停顿处切块,再发给任意 Whisper 兼容接口。屏幕不是定时截图,而是每隔一段时间比较一张 96×54 的灰度小图,只有画面变化并稳定下来后才进入滚动缓冲,从而减少重复帧和动画中间帧进入模型请求。

代价是延迟和启发式判断。语音按停顿分块识别,建议通常比说话慢一到三秒。自动回答依赖问题检测启发式,误报正是它默认关闭的原因。应用需要桌面上的 Node.js 才能跑,仓库没有构建步骤,但安装包要另外用 electron-builder 打包;这种形态更适合愿意在本地跑仓库的人。

谁值得试

适合愿意自己管理模型和语音密钥的技术用户,用于会议、销售、谈判或学习场景,并且希望提示器可配置、尽量少依赖第三方托管。完全本地的路径——Ollama 配支持视觉的模型,再加本地 Whisper 服务——是它相对纯托管方案的主要吸引力,前提是你的硬件跑得动两套服务。若你需要低延迟的流式转写,或者所在场景明确禁止辅助工具和录音,它就不合适;README 的免责声明在这里不是套话。macOS 用户还应先看下面的音频限制再决定是否投入。

使用条件与边界

按文档,需要 Node.js 20+ 和 Python 3.11+,然后 npm install 和 npm start;README 没有提供直接下载安装包的路径。你必须配置模型和语音识别服务,localhost 或局域网地址可以不带 API key 项目说明。系统声音是跨平台最脆弱的一环:Windows 用回环采集,macOS 依赖随项目附带的 SystemAudioDump,且只为 Apple Silicon 构建,Linux 则要看环境是否支持回环;否则 Halo 只能用麦克风和屏幕继续。macOS 上还要授予屏幕录制和麦克风权限。

日常维护也不能忽略:README 提醒默认模型名很快会过时,自由填写的 Model 字段需要随供应商目录更新。会话记录和可选的 .webm 录像保存在本地,可从历史记录或快捷键清除;API key 由系统钥匙串加密,但音频和截图仍会发给你配置的供应商。想全程离线,就要自己运行并维护两个本地服务。

HotRepo 点评

HotRepo 只有一条带日期的观测:2026-10-27,该项目以 325 总星数位列新项目榜第 22 名(新项目榜,不是总榜或日榜),而仓库创建于两天前。没有可比的逐日历史,无法判断关注是否持续。决定投入之前,先确认你的操作系统和 Mac 芯片架构下系统声音采集是否可用,这是最可能让预期工作流落空的地方。

本文由 AI 根据项目 README 生成,更新于 2026年10月27日,以项目官方文档为准。