Mac Duo:为 MacBook 带来 iPhone 合盖特效的开源小工具
把 iPhone 的 Duo 合盖动效带到 MacBook——合上盖子,屏幕内容随角度倾斜、模糊、淡出。
72 Forks
Swift
Apache-2.0
iPhone 合盖特效登陆 Mac
Mac Duo 是一个开源的 macOS 小工具,目标是把 iPhone 上那种合盖时画面倾斜、模糊、淡出的 Duo 特效搬到 MacBook 上。它借助 ScreenCaptureKit 实时抓取屏幕,再用 Metal 在 GPU 上施加透视、模糊与压暗,效果随合盖角度实时变化,控制都收在菜单栏里。项目完全免费、采用 Apache-2.0 协议,适合想要桌面动效彩蛋、或想学习 ScreenCaptureKit 与 Metal 协作的 macOS 开发者。本文将介绍它的定位、功能、安装方式与已知限制。
一、产品深度介绍
(一)它是什么
Mac Duo 是一个开源的 macOS 小工具,它的目标非常直白:「把 iPhone 的 Duo 效果带到你的 MacBook 上」。当你合上 MacBook 的屏幕时,它会捕捉当前屏幕画面,并让画面随着盖子角度实时倾斜、模糊、变暗,直到完全合拢后淡出。所有开关与微调都收在菜单栏里,点开即可操作,不需要额外的窗口或设置面板。
项目的自我定位就是一句反问:「希望把 iPhone 的 Duo 效果带到你的 MacBook 上吗?」它并不想做成一套庞大的桌面美化系统,而是聚焦于「合盖那一刻」这一个瞬间的视觉魔法,把 iPhone 上让人会心一笑的细节复刻到 Mac 上。
(二)技术表现
- Metal 渲染:借助 GPU 在合盖过程中实时施加透视、模糊与压暗,画面跟手顺滑,不会卡顿。
- 实时屏幕内容:通过 ScreenCaptureKit 实时抓取并渲染屏幕,呈现的是你当下正在使用的真实画面,而非静态截图。
- 可调透视:可按观看位置微调透视参数,让特效在你的实际坐姿与视角下显得更自然。
- 完全免费:无论直接使用还是复用其代码,项目都声明完全免费,并鼓励在受用时赞助作者。

二、主要功能特点与应用场景
Mac Duo 的核心能力可以用三个关键词概括:实时、GPU 渲染、菜单栏可控。它抓的是你正在看的真实屏幕,用 Metal 在 GPU 上完成透视变换与模糊压暗,整个过程随合盖角度连续变化;而所有参数都集中在菜单栏图标里,随时开关、随时微调。
适用场景包括:给自己的 MacBook 加一个「很有 iPhone 味道」的合盖彩蛋,在演示或聚会上向朋友展示;把它当作学习 ScreenCaptureKit 与 Metal 协作的精简范例;以及在其 Apache-2.0 代码基础上做二次开发,把类似的动态遮罩思路用到自己的 macOS 小工具里。
三、如何安装与使用
从源码构建需要 Xcode 与 Swift 6.0 及以上版本,在项目根目录执行:
git clone https://github.com/sumimakito/Mac-Duo.git
cd Mac-Duo
./build.sh
# 构建完成后直接运行
./build.sh --run
脚本会生成 build/Mac Duo.app 并做 ad-hoc 签名,可从 Finder 打开,或用 ./build.sh –run 一步构建并启动。首次运行 macOS 会要求授予「屏幕录制(Screen Recording)」权限,授权后特效才会生效;用 ad-hoc 签名重建后该权限可能再次弹出,重新授予即可。
四、官方地址与获取方式
- GitHub 仓库:https://github.com/sumimakito/Mac-Duo
- 预构建下载:Releases 中的 dev 构建提供 DMG 与 ZIP,同时覆盖 Apple Silicon 与 Intel Mac。
- 系统要求:macOS 14 或更高版本,以及一台带兼容合盖角度传感器的 MacBook;首次运行需授予屏幕录制权限。
- 协议:Apache License 2.0(Copyright 2026 Makito),复用代码请留意 NOTICE 中的署名与归因要求。
五、与同类方案对比
| 对比维度 | Mac Duo | 系统自带 | 普通录屏/壁纸工具 |
|---|---|---|---|
| 合盖特效 | 实时倾斜、模糊、淡出 | 无 | 多为静态,无合盖联动 |
| 技术栈 | ScreenCaptureKit + Metal | — | 多为静态图层 |
| 适用设备 | 带内置合盖角度传感器的 MacBook | 全部 Mac | 全部 Mac |
| 语言 / 协议 | Swift / Apache-2.0 | — | 各异 |
| 费用 | 完全免费 | 免费 | 各异 |
六、核心机制深度解析
Mac Duo 把「合盖」这一个动作拆成一条实时流水线:先读取内置合盖角度传感器,再用 ScreenCaptureKit 抓屏,最后交给 Metal 在 GPU 上完成透视变换、模糊与压暗,并把结果作为叠加层绘到屏幕上。
这个设计的巧思在于:点击会穿透特效层直达下方应用,所以它在视觉上「盖」住了屏幕,却不会真的拦住你的操作;而用 GPU 渲染则保证了合盖过程里画面跟手、不卡顿。
七、实用技巧
- 正对观看:在默认设定下,建议合盖时人正对 MacBook,这样透视与淡出看起来最自然。
- 微调透视:在菜单栏里按你的坐姿与视角调整透视参数,效果会更贴合真实观感。
- 重建后重授权:用 ad-hoc 签名重建后,macOS 可能再次要求屏幕录制权限,重新授予即可恢复特效。
- 二次开发合规:项目完全免费且代码可复用,但使用前请阅读 NOTICE,保留必要的署名与归因。
八、最新更新动态
从仓库提交历史看,近期主要围绕「可用性」与「本地化」推进:
- 2026-09-10:初始提交,补齐 LICENSE 与 NOTICE,并加入自动发布的工作流。
- 2026-09-11:加入简体中文本地化;修复合盖特效在关闭时更干净地退出的逻辑。
- 2026-09-13:修复在高起始角度下叠加层卡住、以及在缓慢开盖时未能释放的问题。
- 2026-09-17:兼容两种工具链的本地化目录查找,让「跟随系统」选项能正确选中中文等多语言。
九、常见问题 FAQ
Q1:哪些 Mac 能用 Mac Duo?
仅限带 macOS 标记为「内置」的合盖角度传感器的 MacBook。外接显示器即便带有类似传感器也会被忽略;若设备没有可用传感器,应用会明确提示。
Q2:需要什么系统权限?
需要 macOS 14 或更高版本,并授予「屏幕录制(Screen Recording)」权限,特效才能启用。用 ad-hoc 签名重建后该权限可能再次要求授予。
Q3:特效会作用在哪些屏幕?
仅作用于内建显示器;当合盖过程中 macOS 进入睡眠时,特效会停止。
Q4:点击会被特效拦截吗?
不会。点击会穿透特效层,直达下方的应用程序,因此特效只是视觉上的覆盖,不影响正常操作。
Q5:可以商用或二次开发吗?
完全免费,代码采用 Apache-2.0,可复用,但需遵守 NOTICE 中的署名与归因要求。作者也鼓励在受用时进行赞助。
十、总结
Mac Duo 把一个「很有 iPhone 味道」的小彩蛋,变成了 MacBook 上真实可玩的体验。它真正的价值不在于堆砌功能,而在于用 ScreenCaptureKit 抓屏、Metal 渲染这一套组合,把「合盖那一刻」的视觉魔法做得跟手又自然,并且把所有控制收进菜单栏,零打扰。对于想要一点桌面小惊喜的 Mac 用户,以及想入门 macOS 屏幕捕获与 GPU 渲染的开发者,这都是一份轻量又值得把玩的开源样本。
效果仅支持带 macOS 标记为内置的合盖角度传感器的 MacBook,且只作用于内建显示器;无传感器、外接显示器或合盖即睡眠的场景均无法使用。使用前请确认设备满足要求。
在撰写本文的过程中,我主要参考了 Mac Duo 的 GitHub 仓库(sumimakito/Mac-Duo)的 README.md、LICENSE、NOTICE 与公开提交历史,仓库地址:https://github.com/sumimakito/Mac-Duo。文中数据以官方公开信息为准,可能随版本更新而变化。
本文由 AI 辅助整理,基于 Mac Duo(sumimakito/Mac-Duo)的公开文档撰写;配图由 小黑 IP 生成。内容仅用于技术介绍,不构成商业使用授权建议。

AI智汇具 - AI工具推荐与技能教程_好用的AI工具大全






