无需摄像头,借助 AirPods 或 Beats 的头部追踪传感器,将转头、点头和侧倾变成 Mac 上的实际操作。

项目简介
HeadOrbit 是一款轻量的原生 macOS 菜单栏应用。它读取支持头部追踪的 AirPods 或 Beats 所提供的运动数据,再把头部姿态映射为屏幕模糊、坐姿提醒和键盘操作等功能。
它不使用摄像头,也不是眼动追踪工具。应用只关心耳机传感器感知到的头部方向和角度,因此既能减少对摄像头的依赖,也适合在双手忙碌或希望保持键盘操作节奏时使用。
项目状态: HeadOrbit 目前是实验性质的周末项目,并非成熟商业产品,使用时应预期可能存在兼容性问题或不够完善的边角体验。
核心亮点
1. 转头自动模糊屏幕
当用户向左或向右转头并超过设定角度后,HeadOrbit 会模糊并压暗屏幕;头部回到正前方时,屏幕随即恢复。这个功能适合临时与身边的人交流,或在注意力离开屏幕时减少内容暴露。
2. 坐姿提醒
用户先以坐直、平视屏幕的姿态完成校准。当头部姿态持续偏离设定范围时,应用会通过模糊画面和提示信息提醒用户调整姿势。提醒出现后可按 Esc 暂停一分钟。
3. 用头部动作触发按键
HeadOrbit 支持“按一下按键”和“持续按住按键”两种行为,可用于免手操作。例如内置的语音输入场景会在向左侧倾时持续按住 Fn,回正后松开,再通过向右侧倾触发 Return。
4. 可配置的场景系统
项目将“手势”和“动作”分离:转头、点头/抬头、侧倾各有两个方向,每个方向都可以绑定以下行为之一:
- 模糊屏幕;
- 显示坐姿提醒;
- 按一下指定按键;
- 持续按住指定按键;
- 不执行操作。
多个配置可以组合成一个场景,并作为整体启用或停用。用户还可以调整触发角度、停留时长、按键和压暗程度,或复制内置场景后继续修改。为避免冲突,同一个方向不能同时被多个已启用场景占用。
5. 颈部活动引导
v2.1 加入了颈部活动功能。启动后,屏幕会显示一条由头部运动控制的跟随路径,引导用户依次完成顺时针绕环、逆时针绕环和“8”字轨迹,每种动作进行 3 次。过程中可以随时按 Esc 退出。
该功能仅用于一般性的活动引导,不应被视为医疗、诊断或康复工具。
6. 校准、多语言与自动更新
- 一键将当前姿态设为“正前方”;
- 可选自动正前方微调,减少长时间使用后的姿态漂移;
- 支持中文、英文和日文界面;
- 支持浅色、深色及跟随系统外观;
- v2.1 起可在启动时检查 GitHub Releases,并在用户确认后完成更新和重启。
内置场景
| 场景 | 默认触发方式 | 默认状态 |
|---|---|---|
| 隐私模糊 | 向左或向右转头超过 35°,持续 0.6 秒 后模糊屏幕 |
开启 |
| 坐姿提醒 | 相对校准姿态的仰角超过 +15°,持续 5 秒 后提醒 |
关闭 |
| 语音输入 | 左侧倾超过 15° 时按住 Fn;右侧倾超过 15° 时按下 Return |
关闭 |
语音输入场景适用于通过长按 Fn 开始听写的输入方式。仓库说明该流程曾使用豆包输入法进行测试,其他输入法的实际行为可能有所不同。
工作原理
根据项目源码,可以将 HeadOrbit 的主要工作流程概括为:
flowchart LR
A["AirPods / Beats<br/>运动传感器"] --> B["CoreMotion<br/>读取头部姿态"]
B --> C["正前方校准<br/>计算相对角度"]
C --> D["场景引擎<br/>判断方向、角度与停留时间"]
D --> E[屏幕模糊]
D --> F[坐姿提醒]
D --> G[键盘操作]应用会实时处理三类姿态数据:
- Turn: 左右转头;
- Nod: 低头或抬头;
- Tilt: 左右侧倾。
所有角度都以用户手动设定的“正前方”为参考。自动微调默认关闭;开启后,应用只会在没有动作被触发、头部保持在安全范围内一段时间时缓慢修正基准,而且坐姿提醒仍坚持使用手动校准基准,避免把逐渐形成的错误坐姿当作新的正常姿态。
隐私与权限
HeadOrbit 的运动数据和设置保留在本机,不录制屏幕,也不需要注册账号。当前版本唯一明确的网络用途是访问 GitHub Releases 检查和下载更新,应用不会上传头部运动数据。
| 权限 | 用途 | 何时需要 |
|---|---|---|
| 运动与健身 | 读取耳机提供的头部运动数据 | 首次使用头部追踪时 |
| 辅助功能 | 向系统发送模拟键盘事件 | 仅启用按键类动作时 |
屏幕模糊和坐姿提醒本身不需要辅助功能权限。
系统与设备要求
- macOS 14 Sonoma 或更高版本;
- 支持头部追踪的 AirPods 或 Beats,例如:
- AirPods Pro(任意代);
- AirPods 3 / 4;
- AirPods Max;
- Beats Fit Pro;
- Powerbeats Pro 2;
- 耳机必须实际连接到当前 Mac;
- 支持单耳或双耳使用。
如果耳机自动切换到 iPhone,即使仍能看到设备信息,Mac 也可能无法继续接收头部运动数据。
安装方式
方式一:下载 DMG
- 前往项目的 Releases 页面;
- 下载最新的
HeadOrbit-vX.Y.Z.dmg; - 打开 DMG,将
HeadOrbit拖入“应用程序”文件夹。
该应用目前未经过 Apple 公证,首次启动时 macOS 可能提示无法验证开发者。确认文件来自项目官方 Releases 后,可以右键点击应用,依次选择“打开”与“仍要打开”。仓库也提供了以下处理方式:
xattr -d com.apple.quarantine /Applications/HeadOrbit.app只有在确认应用来源可信时,才应移除 macOS 的隔离标记。
方式二:从源码构建
源码构建需要 Xcode 15 或更高版本,并使用 XcodeGen 生成工程:
brew install xcodegen # 只需安装一次
git clone https://github.com/Cogria-AI/HeadOrbit.git
cd HeadOrbit
./build.sh
open build/Build/Products/Debug/HeadOrbit.appHeadOrbit 只显示在菜单栏中,不会出现在 Dock 内。
快速上手
- 戴上耳机,并确认声音设备连接到当前 Mac;
- 点击菜单栏中的 HeadOrbit 图标,确认状态显示正在追踪左耳或右耳;
- 坐直并平视屏幕,点击“将当前姿态设为正前方”;
- 打开“设置”窗口(
⌘,),启用所需场景; - 根据个人习惯调整触发角度、停留时间、按键和画面压暗程度。
菜单面板会实时显示转头、点头和侧倾角度;当某个手势进入触发状态时,对应指示点会变为橙色。

技术栈与项目结构
HeadOrbit 主要使用 Swift 5、SwiftUI、AppKit、Combine 和 CoreMotion 开发,通过 XcodeGen 管理 Xcode 工程配置。当前 project.yml 未声明第三方 Swift Package 依赖。
| 目录 | 主要职责 |
|---|---|
HeadOrbit/App |
应用入口、生命周期与自动更新 |
HeadOrbit/Motion |
耳机连接状态、头部姿态、正前方校准与运动记录 |
HeadOrbit/Actions |
手势定义、停留触发、场景配置与行为执行 |
HeadOrbit/Overlay |
屏幕模糊、遮罩和全局热键 |
HeadOrbit/Exercise |
颈部活动轨迹、流程控制和界面 |
HeadOrbit/UI |
菜单栏、设置窗口、场景编辑、多语言和按键录入 |
HeadOrbit/Resources |
应用图标等资源 |
Tests |
运动数据相关的测试辅助脚本 |
从设计上看,它将“运动采集”“手势判断”“行为执行”和“界面配置”拆分为相对独立的模块,便于继续加入新的动作类型或场景。
已知限制与注意事项
- 项目仍处于实验阶段,不适合依赖它完成关键任务;
- 耳机切换到其他设备后,Mac 会停止收到运动数据;
- 未使用固定开发者身份签名的版本在更新后,可能需要删除旧的辅助功能授权并重新添加;
- 持续的 AirPods 头部追踪会保持蓝牙数据流,少数第三方 Bluetooth LE 鼠标可能出现卡顿;
- 模糊效果依赖 Apple 未公开的 WindowServer 接口,如果未来系统不再支持,应用会退化为普通压暗遮罩;
- 应用尚未经过 Apple 公证,安装体验不如正式上架的 macOS 应用顺畅。
可扩展方向
项目仓库列出了若干未来设想,但这些并不是已经承诺的功能:
- 低头看手机时暂停媒体播放;
- 长时间离开屏幕时自动锁定 Mac;
- 转头看向另一块显示器时切换焦点;
- 通过头部动作运行 macOS 快捷指令。
由于项目已经把手势和行为解耦,这些方向也为开发者提供了比较清晰的扩展入口。
开源许可
HeadOrbit 采用 MIT License,版权归 Cogria-AI 所有。用户可以在保留版权和许可声明的前提下使用、复制、修改和分发代码;软件按“原样”提供,不附带担保。
相关链接
- GitHub 仓库:https://github.com/Cogria-AI/HeadOrbit
- 最新版本:https://github.com/Cogria-AI/HeadOrbit/releases
- 问题反馈:https://github.com/Cogria-AI/HeadOrbit/issues
- 项目网站:https://headorbit.com/
本文基于 HeadOrbit
main分支及 v2.1.0 公开资料整理。项目仍在迭代,具体功能和兼容性请以仓库最新说明为准。