Mori:214⭐的macOS原生终端工作空间

终端工具层出不穷,但专为 macOS 原生体验设计的并不多。Mori 是一个只有 214 stars 的新生项目,它选择了一条独特的路径:围绕 Projects 和 Git Worktrees 来组织终端会话,底层基于 tmux 和 Ghostty 的 libghostty,用 Swift 编写成原生 macOS 应用。

项目概览

属性内容
GitHubvaayne/mori
Stars214
语言Swift
特点Project-centric、Worktree-native、原生 macOS 体验
最后更新1天前

它解决了什么问题

现代开发者通常同时在多个项目之间切换:

  • 主项目和 side project 混在同一个终端里
  • Git worktree 管理混乱,经常忘记当前在哪个分支的 worktree
  • tmux 配置复杂,session 管理依赖记忆
  • 通用终端工具(如 iTerm2、Alacritty)对项目感知不强

Mori 的核心理念是以项目为中心——每个 Project 有独立的终端环境,自动关联该项目的所有 worktrees,会话状态持久化,开机后一键恢复整个工作现场。

核心特性

Project-centric 组织方式

不同于传统终端按 session 或 window 组织,Mori 首先让你定义 Project。每个 Project 绑定一个本地目录,Mori 会自动:

  • 检测该目录下的 Git worktrees
  • 为每个 worktree 创建独立的终端标签
  • 记住每个 worktree 的环境变量和当前路径

这种设计特别适合使用 Git worktree 工作流的开发者——你可以同时打开 feature 分支、hotfix 分支和 main 分支的 worktree,在 Mori 中它们被清晰地组织在同一个 Project 下。

原生 Ghostty 集成

Mori 基于 Ghostty 的 libghostty 构建终端渲染引擎。这意味着:

  • 获得 Ghostty 的性能优势(GPU 加速、低延迟输入)
  • 支持 Ghostty 的图形协议(图片、图标直接显示在终端)
  • 原生 macOS 的 Metal 渲染,而非跨平台抽象层

内置 tmux 管理

Mori 底层使用 tmux 管理会话,但隐藏了所有复杂度:

  • 不需要手动创建/attach session
  • 不需要记忆 tmux 快捷键(当然你也可以用)
  • Project 和 worktree 的对应关系自动同步到 tmux session

对于 tmux 重度用户,Mori 保留了足够灵活性——你可以随时 detach 后用原生 tmux 操作,再 attach 回 Mori。

快速开始

# 通过 Homebrew 安装(预计后续会提供)
brew install --cask mori

# 或直接下载 release
https://github.com/vaayne/mori/releases

首次启动后,Mori 会引导你创建第一个 Project。选择本地任意目录,Mori 会自动扫描其中的 Git worktrees。

对比:Mori 与其他终端工具

工具Stars定位核心差异
iTerm215k+macOS 终端标杆功能全面但配置复杂,无 Project 概念
Ghostty20k+高性能跨平台终端纯终端模拟器,不涉及项目组织
Windsurf5k+AI 驱动的编辑器包含终端但主打 AI 编码辅助
Mori214Project-centric 终端原生 worktree 管理 + Ghostty 性能

Mori 的独特之处在于”项目感知”。它不是功能最多的终端,也不是最快的,但它把”多项目开发”这个场景做得足够深入——如果你经常需要在多个 Git worktree 之间切换,Mori 的组织方式能省下大量导航时间。

适用场景

  • 多项目并行开发:同时维护多个 repo,需要快速切换
  • Git worktree 用户:重度依赖 worktree 隔离分支的开发者
  • macOS 原生派:想要 Swift 原生体验,而非 Electron 封装
  • Ghostty 迁移者:喜欢 Ghostty 性能但想要更多项目管理功能

当前限制

  • macOS only:Swift + AppKit 实现,暂无跨平台计划
  • 早期阶段:214 stars 说明功能还在快速迭代,API 可能变动
  • 文档待完善:README 较为简略,部分功能需要探索

总结

Mori 是一个观点鲜明的小众工具。它没有试图成为所有人的终端,而是专注解决”多项目 + Git worktree”场景下的组织问题。214 stars 说明它还处于早期,但技术选型(Swift 原生 + libghostty + tmux)和设计理念(Project-centric)都很有针对性。

如果你在 macOS 上同时处理多个项目,或者正在寻找更好的 worktree 管理方案,Mori 值得一试。毕竟,把上下文切换成本降到最低,本身就是生产力的提升。

属性内容
仓库https://github.com/vaayne/mori
许可证MIT
语言Swift
维护者@vaayne