Gaze Awareness on MacBook

MacBook 注视感知

让已经习惯 iPhone 与 iPad 注视感知交互的用户,在回到 MacBook 时,也能获得“看回来即响应、注视时保持亮屏、离开后恢复节能”的连续体验。

v0.1 Experimental · macOS 13+ · Apple Silicon + Intel · MIT License

为什么需要 MacBook 注视感知?

当用户长期使用支持 Face ID 的 iPhone 或 iPad 后,会逐渐习惯屏幕根据注意力作出反应。切换回 MacBook 时,这种交互预期仍然存在。GazeAwake 不是复制 Apple 的完整功能,而是用 Mac 摄像头与系统电源 API,探索一个透明、可控制的本地近似方案。

1

看回来,屏幕响应

当检测到用户重新看向 MacBook 时,尝试唤醒因空闲显示器休眠而熄灭的屏幕。

2

持续看,保持亮屏

阅读、参考资料或观看静态内容时,只要确认仍在注视,就暂时防止空闲熄屏。

3

移开后,恢复节能

不再注视、暂停检测或退出后立即释放电源断言,把控制权交还给 macOS。

完全本地的工作方式

GazeAwake 是无 Dock 图标、无主窗口的 macOS 菜单栏应用,只使用 AVFoundation、Vision、IOKit 与 AppKit。

  1. 低分辨率采集
    摄像头以 12 fps 工作,优先选择 320×240,并主动丢弃迟到帧。
  2. 粗粒度注意力判断
    Vision 检测人脸关键点、头部姿态与可用的瞳孔位置,再进行状态防抖。
  3. 显示器电源闭环
    IOKit 负责唤醒空闲熄灭的显示器、注视期间保持亮屏,以及离开后释放。

隐私优先,不保存画面

视频帧只在内存中同步处理,用完即释放。项目不依赖第三方模型、Python、OpenCV、网络服务、分析 SDK 或遥测。

当前实验状态

GazeAwake v0.1 是概念验证,不是精确眼动仪、医疗设备或专业测量工具。瞳孔关键点不可用时,会退化为“检测到人脸且头部大致朝向屏幕”的粗略判断。

实测资源占用

Apple M5 测试机上,活跃 physical footprint 约 207 MiB、峰值约 292 MiB,短时 CPU 样本约 21%–27%。

唤醒边界

只能唤醒因空闲显示器休眠而熄灭的屏幕,不能从整机深度睡眠或合盖睡眠中唤醒 Mac。

安装状态

当前 DMG 为 ad-hoc 签名且未经过 Apple 公证;首次启动可能需要在“隐私与安全性”中选择“仍要打开”。

MacBook 注视感知常见问题

GazeAwake 与 iPhone/iPad 的注视感知完全一样吗?

不一样。GazeAwake 是独立开源实验,不使用 Face ID 或 TrueDepth,也不代表 Apple 官方功能。它只近似实现与显示器唤醒和保持亮屏有关的交互闭环。

会保存或上传 MacBook 摄像头画面吗?

不会。画面只在内存中即时处理,不保存、不上传,也没有遥测或网络分析服务。检测运行时 macOS 摄像头指示灯会正常亮起。

MacBook 合盖或整机睡眠后还能唤醒吗?

不能。摄像头在这些状态下无法继续检测。GazeAwake 仅针对因空闲显示器休眠而关闭的屏幕,而且不会绕过锁屏、密码或 Touch ID。

哪些 Mac 可以安装?

需要 macOS 13 Ventura 或更高版本,以及 MacBook 内置摄像头或兼容的外接 Mac 摄像头。DMG 是 Universal 构建,同时支持 Apple Silicon 和 Intel。