cmux
基于 Ghostty 的 macOS 原生终端,专为多 AI coding agent 并行工作场景打造通知系统和垂直标签管理
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
基于 Ghostty 的 macOS 原生终端,专为多 AI coding agent 并行工作场景打造通知系统和垂直标签管理
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。

图1:cmux 主界面 — 垂直标签页与侧边通知面板
想象这样一个场景:你正在并行调试三个 AI 编程 agent——一个在修 Bug,一个在写单元测试,还有一个在给你解释架构设计。突然,三个终端同时弹出「Claude is waiting for your input」——你只能一个个点进去看,哪个才是最紧急的那个?
这不是未来场景,而是今天每个同时使用多个 AI coding agent 的开发者的真实处境。GitHub 上活跃的 AI 编程工具 Claude Code、OpenCode、Gemini Code Agent 都在快速普及,但 macOS 上一直没有一个真正为多 agent 并行工作场景设计的终端。
cmux 正是为解决这一痛点而生。它以 Ghostty(那个因极致性能和 GPU 加速渲染被开发者津津乐道的 macOS 终端模拟器)为核心,在 Swift 和 AppKit 的原生壳上叠加了专为 AI coding agent 设计的通知系统和界面管理能力,由 manaflow AI 团队主导开发。
1. 通知蓝环系统 — Agent 的举手机制
cmux 在终端面板周围加入了一层蓝色发光环(Notification Rings),当某个 pane 中的 AI agent 需要用户注意时,该 pane 即被蓝环包围,侧边栏对应标签同步亮起高亮色。与系统通知相比,这套视觉机制有两个关键优势:一是始终可见,不依赖通知中心,用户无需切换窗口;二是精确到 pane 级别,不会和其他 agent 的通知混淆。开发者可以一眼判断哪个 agent 在等待回复。侧边通知面板(Notification Panel)还聚合了所有待处理通知,支持一键跳转到最新未读项。
2. 垂直标签页 — 上下文一目了然
与 macOS 自带终端的水平标签页不同,cmux 采用垂直标签页(Sidebar),每个标签展示更多信息:当前 git 分支名称、关联 PR 的状态和编号、工作目录路径、监听端口,以及最近一条 agent 通知的摘要文本。这意味着在打开 10+ 个 agent session 的场景下,你无需点击展开就能判断每个 tab 在做什么。标签页同时支持水平分屏和垂直分屏,可以自由组合出网格布局。

图2:侧边栏垂直标签 — git 分支、PR 状态、工作目录尽收眼底
3. 内置浏览器 — Agent 直接操作 Web
cmux 还内置了一个浏览器 pane,其 API 移植自 Vercel 的 agent-browser,支持脚本化操控。这意味着 AI coding agent 可以直接在一个 split pane 中打开浏览器、填写表单、抓取页面,而不需要切换到外部浏览器窗口。对于需要 agent 验证 UI 改动、测试 Web 应用、或执行 Web 自动化的场景,这个功能大幅减少了上下文切换。
4. CLI 集成 — 接入现有工作流
cmux 提供了 cmux notify 等命令行工具,可以与 Claude Code、OpenCode 以及其他支持 hook 的工具集成。开发者只需在 agent 的配置中添加几行指令,就能让 agent 在关键节点向 cmux 推送通知,触发视觉提醒。整个集成不强制绑定特定工具链——它是一个开放平台。
cmux 的技术栈分为两层:底层是 Ghostty(libghostty),负责终端渲染核心——GPU 加速、Pseudo-terminal PTY 管理、字体渲染等底层能力均由 Ghostty 处理,确保了 cmux 在高负载下依然保持 60fps 的流畅度。上层是 Swift/AppKit 扩展层,包含:Notification Manager(蓝环状态管理)、Sidebar Controller(垂直标签逻辑)、Browser Pane(内置浏览器)、CLISocketPathResolver(CLI 通信层)。这套架构的优势在于:cmux 可以直接复用 Ghostty 的每次更新,而无需重新实现渲染引擎。项目大量使用了 Swift Concurrency(async/await)和 Actor 模型进行并发管理。
项目使用 XcodeGen 生成 Xcode 项目文件(cmux.xcodeproj),源码主要分布在 Sources/(主逻辑)和 Packages/(依赖包)中,Native/ 目录存放 AppKit 原生组件,daemon/ 提供后台服务。docs/ 目录下有详尽的多语言文档,CI/CD 由 GitHub Actions 驱动,覆盖 macOS 兼容性测试、构建和发布流程。目前已有对 Hermes Agent 的 hook 支持(CLIXHermesAgentHooks)。
安装 cmux 需要 macOS 14 及以上版本,通过 Homebrew(brew install --cask cmux)或从 GitHub Releases 下载 DMG 安装包两种方式安装。初次启动时,cmux 会引导用户配置 shell 集成和 agent hook。由于它是一个 macOS 原生 App(而非跨平台 Electron 应用),安装包体积较小,运行流畅,但代价是只能在 macOS 上使用。对于 Windows/Linux 用户,目前没有直接替代方案。
cmux 的出现代表着 AI coding agent 生态正在从「通用工具」向「专用场景」分化。早期的 agent 多运行在任意终端里,但随着 Claude Code、OpenCode 的用户量突破数十万,出现了对「agent-aware」终端的明确需求——终端需要理解 agent 的运行状态,而不是只做字符渲染。
从增长曲线看,cmux 在 GitHub 上已获得近 2 万 star,Discord 社区活跃,Issue 和 PR 吞吐量很高,说明社区参与度相当健康。它的成功也催生了更多「AI-aware」终端模拟器的探索,我们预计会有更多工具开始在终端层引入语义理解能力。
总结:如果你是在 macOS 上同时跑多个 AI coding agent 的开发者,cmux 几乎是将「多 agent 并行工作」体验提升一个台阶的最直接方案。蓝环通知、垂直标签页和内置浏览器的组合,解决了传统终端在多 agent 场景下的核心痛点。唯一的代价是平台锁定——它只属于 macOS。
项目地址:https://github.com/manaflow-ai/cmux | 官网:https://cmux.com