运维123 - ghostty
type: channel
link: https://www.sddts.cn/index.php/category/ghostty/
description: ghostty
items: Mori：macOS 原生工作区终端

Mori：macOS 原生工作区终端
type: item
date: 2026-03-22T13:59:43+00:00
description: Mori：macOS 原生工作区终端一、概述1. 简介A. 是什么Mori 是一款专为 macOS 设计的原生工作区终端应用。它以项目和 Worktree 为核心组织方式，底层由 tmux 和 libghostty 提供支持。B. 为什么用摆脱零散的终端标签页管理，将 git 仓库作为一等项目持久化会话，关闭应用后重新打开，tmux 中的所有内容仍在运行原生 macOS 体验，侧边栏、命令面板、通知、键盘快捷键一应俱全GPU 渲染终端，基于 libghostty（Ghostty 的渲染引擎）实现 Metal 加速Worktree 感知，同一仓库的多个分支可并排运行，会话相互独立C. 用后能做什么在项目和分支间快速切换，而非在匿名标签页中迷失为每个 worktree 维护独立的 tmux 会话使用原生 macOS 界面管理终端工作流2. 前置知识A. 必备技能基本终端操作和 tmux 使用经验Git 工作树（worktree）概念macOS 基本操作B. 推荐知识tmux 会话管理Ghostty 终端配置二、系统架构1. 工作原理Mori 采用分层架构，将项目、worktree、tmux 会话和 UI 层有机结合。graph TD A[Project git 仓库] --> B[Worktree 分支检出] B --> C[tmux Session 持久化会话] C --> D1[Window 1 标签页] C --> D2[Window 2 标签页] C --> D3[Window 3 标签页] D1 --> E1[Pane 分屏] D2 --> E2[Pane 分屏] D2 --> E3[Pane 分屏]2. 应用架构Mori 采用模块化架构设计，各组件职责清晰。graph TB App[Mori App AppKit + SwiftUI] App --> Core[MoriCore 模型与状态] App --> UI[MoriUI SwiftUI 视图] App --> Tmux[MoriTmux tmux CLI 集成] App --> Git[MoriGit Git 状态发现] App --> Terminal[MoriTerminal libghostty 渲染] App --> Persistence[MoriPersistence SQLite 存储] App --> IPC[MoriIPC Unix Socket + ws CLI] style App fill:#f9f,stroke:#333,stroke-width:2px style Terminal fill:#bbf,stroke:#333,stroke-width:2px style Tmux fill:#bfb,stroke:#333,stroke-width:2px3. 组件说明MoriCore：应用数据模型和可观察状态管理MoriUI：SwiftUI 侧边栏视图MoriTmux：tmux 命令行集成（actor 模式）MoriGit：Git worktree 和状态发现（actor 模式）MoriTerminal：libghostty 终端表面MoriPersistence：基于 GRDB 的 SQLite 持久化MoriIPC：Unix socket IPC 和 ws 命令行工具三、环境准备1. 系统要求macOS 14（Sonoma）或更高版本tmuxmise（任务运行器）Zig 0.15.2 + Xcode（用于构建 libghostty）2. 安装依赖安装 tmux：brew install tmux安装 mise：brew install mise安装 Zig（用于构建 libghostty）：brew install zig3. 获取源码git clone https://github.com/vaayne/mori.git cd mori四、构建与运行1. 快速构建Mori 使用 mise 作为任务运行器，提供以下命令：mise run build # Debug 构建 mise run build:release # Release 构建 mise run dev # 构建并运行 mise run test # 运行所有测试 mise run clean # 清理构建产物2. libghostty 构建首次运行时，mise run build 和 mise run build:release 会自动引导 libghostty XCFramework 的构建。也可以手动构建：mise run build:ghostty # 需要 Zig 0.15.2 + Xcode该命令会自动下载 Metal Toolchain（如果缺失）。3…