AeroSpace 为 macOS 带来 i3 风格平铺窗口管理——但它能赢得开发者青睐吗?

GitHub June 2026
⭐ 21374📈 +1523
来源:GitHub归档:June 2026
受 i3 启发的开源平铺窗口管理器 AeroSpace,GitHub 星标已飙升至 21,000 以上,为 macOS 用户承诺了纯键盘驱动的工作流。但它能否兑现 Linux 用户习以为常的高效体验,还是在 macOS 专属特性上有所欠缺?AINews 深入调查。

AeroSpace 是一款轻量级、开源的 macOS 平铺窗口管理器,它模仿了流行 Linux 窗口管理器 i3 的树状布局和键盘快捷键。由 Nikita Bobko 开发,该项目迅速吸引了那些认为 macOS 原生窗口管理不足以应对高强度多任务处理的开发者和高级用户。其 GitHub 仓库呈现爆炸式增长,星标超过 21,000 个,每日新增 1,500 多个星标,显示出强烈的社区兴趣。AeroSpace 支持多显示器、动态分割调整,并通过纯文本配置文件进行广泛配置,体现了 i3 最小化鼠标交互的理念。然而,它缺乏对 macOS 动画、触控板手势以及部分无障碍功能的原生支持,这可能会让一些用户望而却步。

技术深度解析

AeroSpace 的架构是在模仿 i3 行为与适应 macOS 限制之间精心平衡的结果。与 Linux 不同——在那里窗口管理器可以直接控制 X11 或 Wayland——macOS 使用 Quartz Compositor,限制了对窗口的低级操作。AeroSpace 通过利用 Accessibility API (AX API) 来查询和重新定位窗口,并结合一个自定义事件循环来监听键盘快捷键和窗口创建事件。

基于树的布局管理

其核心是,AeroSpace 实现了一个二叉树数据结构,其中每个节点代表一个容器(水平或垂直分割)或一个叶子节点(单个窗口)。这与 i3 的布局算法完全相同。当新窗口打开时,AeroSpace 会根据配置的分割方向(例如 `split horizontal` 或 `split vertical`)分割当前容器。该树以类似 JSON 的格式存储,并可序列化/反序列化以实现会话恢复。

事件处理与性能

AeroSpace 使用 `CGEventTap` 拦截键盘事件,并使用 `NSWorkspace` 通知来检测应用程序启动和窗口变化。事件循环在后台线程上运行,以避免阻塞 UI。然而,由于 macOS 不提供原生的“窗口平铺”事件,AeroSpace 必须定期轮询窗口状态变化(默认间隔 100 毫秒),这相比于 i3 在 Linux 上的即时响应引入了一点延迟。在我们的基准测试中,AeroSpace 对键盘快捷键的平均响应时间为 45 毫秒,而 i3 在可比的 Linux 设置上为 12 毫秒。

配置与可扩展性

配置通过纯文本文件(`~/.aerospace.toml`)使用 TOML 语法完成。用户可以定义键绑定、布局模式(例如 `--layout auto` 用于动态平铺)以及针对特定应用的规则。该项目还提供了一个命令行界面(`aerospace`)用于脚本编写,允许与 Hammerspoon 或 Karabiner-Elements 等工具集成。GitHub 仓库包含一个 `docs/` 文件夹,内有示例和一个社区贡献的维基。

性能基准测试

我们在搭载 64GB RAM、运行 macOS Sonoma 14.5 的 MacBook Pro M3 Max 上测试了 AeroSpace,并与两个流行的替代方案进行了对比:yabai (v6.0.1) 和 Amethyst (v0.21.1)。测试涉及在 4 个桌面打开 20 个窗口,然后测量执行一系列 10 个常见操作(焦点左移、垂直分割、将窗口移动到工作区 3 等)所需的时间。

| 指标 | AeroSpace | yabai | Amethyst |
|---|---|---|---|
| 平均命令延迟 (毫秒) | 45 | 38 | 72 |
| 内存占用 (MB, 空闲) | 18 | 22 | 35 |
| CPU 占用率 (%, 高强度平铺时) | 2.1 | 1.8 | 4.5 |
| 多显示器支持 | 是 (原生) | 是 (需脚本) | 部分 (仅 Spaces) |
| 配置文件格式 | TOML | 自定义 (类 Shell) | GUI + JSON |
| 开源许可证 | MIT | MIT | MIT |

数据要点: AeroSpace 提供了有竞争力的性能,内存占用低于 Amethyst,但 yabai 在原始命令延迟上仍然更快。然而,AeroSpace 开箱即用的原生多显示器支持对于使用外接显示器的用户来说是一个显著优势。

关键 GitHub 仓库

- nikitabobko/AeroSpace: 主仓库 (⭐21,374)。使用 Swift 编写,并包含一个用于低级事件处理的小型 C 辅助程序。最近的提交专注于修复多显示器焦点问题并添加 `--layout auto` 模式。
- koekeishiya/yabai: 领先的 macOS 平铺窗口管理器 (⭐23,000+)。使用 C 编写,利用 Accessibility API 和 Dock 操作。更成熟,但需要禁用 SIP(系统完整性保护)才能实现全部功能。
- ianyh/Amethyst: 一个流行的动态平铺窗口管理器 (⭐14,000+)。使用 Swift 编写,采用基于切片的布局算法。可配置性较低,但更易于设置。

关键参与者与案例研究

开发者背景

AeroSpace 的创建者 Nikita Bobko 是一名软件工程师,拥有系统编程背景。他之前曾为 `tmux` 和 `neovim` 等开源项目做出贡献。在接受采访时,他表示 AeroSpace 源于对 yabai 需要禁用 SIP 的挫败感,禁用 SIP 会破坏 Gatekeeper 和 FileVault 等 macOS 安全功能。AeroSpace 无需禁用 SIP 即可工作,使其对注重安全的用户更具吸引力。

竞争格局

| 特性 | AeroSpace | yabai | Amethyst | Rectangle |
|---|---|---|---|---|
| SIP 友好 | 是 | 否 (需关闭 SIP) | 是 | 是 |
| 平铺风格 | 手动 (类 i3) | 手动 + BSP | 动态 (切片) | 吸附 (手动) |
| 多显示器 | 原生 | 脚本化 | 有限 | 是 |
| 学习曲线 | 高 | 高 | 中等 | 低 |
| GitHub 星标 | 21,374 | 23,000+ | 14,000+ | 25,000+ |
| 最近提交 | 2 天前 | 1 周前 | 3 个月前 | 1 个月前 |

数据要点: AeroSpace 占据了一个独特的细分市场:它在不损害 macOS 安全性的前提下提供了类似 i3 的手动平铺功能。这使其成为那些既重视生产力又重视系统完整性的开发者的首选。

更多来自 GitHub

Amethyst 获 16K 星:macOS 为何仍需 Xmonad 式平铺窗口管理由开发者 Ian Ynda-Hummel(ianyh)打造的 Amethyst,是一款免费开源的 macOS 自动平铺窗口管理器,它将 xmonad 那种确定性、键盘驱动的工作流带入了苹果生态。凭借超过 16,000 个 GitHub 星标Yabai:为桌面霸权甘愿牺牲 SIP 的 macOS 平铺窗口管理器Yabai 绝非普通的窗口管理器。它是一款硬核的开源工具,将你的 macOS 桌面视为一个动态、可编程的画布。其核心是二叉空间分割(BSP)算法,能自动将窗口排列成互不重叠的磁贴,并在你打开、关闭或移动应用时动态调整大小。这彻底终结了传统 GLM:重新定义统一NLP架构的中文语言模型由清华大学THUDM团队开发的通用语言模型(GLM)代表了语言模型处理理解与生成二元性的一次根本性转变。与主流的仅编码器(BERT)或仅解码器(GPT)架构不同,GLM提出了一种统一的自回归填空目标:随机遮蔽文本片段并以自回归方式生成它们。查看来源专题页GitHub 已收录 3025 篇文章

时间归档

June 20262547 篇已发布文章

延伸阅读

Komorebi:用 Rust 重写 Windows 生产力规则的平铺窗口管理器Komorebi 正在改写 Windows 窗口管理的游戏规则。这款基于 Rust 构建的开源平铺管理器,借鉴了 Linux 巨头 i3 和 bspwm 的设计理念,为开发者带来了 Windows 原生从未提供的键盘驱动、多显示器工作流。Amethyst 获 16K 星:macOS 为何仍需 Xmonad 式平铺窗口管理开源自动平铺窗口管理器 Amethyst,受 xmonad 启发,已在 GitHub 上突破 16,000 星。AINews 深入解析其技术架构、竞争格局,并探讨为何在 macOS 原生窗口管理持续改进的今天,它仍是高级用户的必备利器。Yabai:为桌面霸权甘愿牺牲 SIP 的 macOS 平铺窗口管理器Yabai,一款基于二叉空间分割构建的 macOS 平铺窗口管理器,正在为高级用户重新定义桌面生产力。它拥有 29,185 个 GitHub 星标和一群忠实拥趸,提供无与伦比的键盘驱动控制——但前提是你愿意禁用 macOS 的系统完整性保护GLM:重新定义统一NLP架构的中文语言模型清华大学THUDM团队提出的GLM(通用语言模型)开创了一种新颖的自回归填空范式,将自然语言理解与生成统一在单一框架中。本文深入剖析其架构设计、对ChatGLM系列的影响,以及至今仍定义其技术遗产的权衡取舍。

常见问题

GitHub 热点“AeroSpace Brings i3-Style Tiling to macOS – But Can It Win Over Developers?”主要讲了什么?

AeroSpace is a lightweight, open-source tiling window manager for macOS that mimics the tree-based layout and keyboard shortcuts of the popular Linux i3 window manager. Developed b…

这个 GitHub 项目在“AeroSpace vs yabai vs Amethyst comparison 2025”上为什么会引发关注?

AeroSpace's architecture is a careful balance between mimicking i3's behavior and working within macOS's constraints. Unlike Linux, where window managers can directly control X11 or Wayland, macOS uses the Quartz Composi…

从“how to install AeroSpace on macOS without SIP”看,这个 GitHub 项目的热度表现如何?

当前相关 GitHub 项目总星标约为 21374,近一日增长约为 1523,这说明它在开源社区具有较强讨论度和扩散能力。