基于 Ghostty 的 macOS 原生 AI 编码终端,提供垂直标签、通知系统和嵌入式浏览器,专为多代理并行场景设计。
cmux 是一款专为 AI 编码代理多任务场景设计的 macOS 原生终端应用,基于 Ghostty 的 libghostty 渲染引擎构建(Swift + AppKit,非 Electron),由 manaflow-ai 组织开发,当前版本 v0.63.2,采用 GPL-3.0-or-later 协议。
核心能力#
通知系统#
- 通知环:编码代理需关注时,窗格显示蓝色光环,侧边栏标签同步亮起
- 通知面板:集中查看所有待处理通知,
Cmd+Shift+U跳转最新未读 - 触发方式:自动检测终端转义序列(OSC 9/99/777),或通过
cmux notifyCLI 及 Claude Code hooks 触发
垂直标签与侧边栏#
- 侧边栏垂直标签展示:git 分支、关联 PR 状态/编号、工作目录、监听端口、最新通知文本
- 水平/垂直分屏(Split Panes),多工作区支持(Workspaces 1-8)
内嵌浏览器#
- 分屏显示浏览器,API 移植自 agent-browser
- 支持快照可访问性树、获取元素引用、点击、填写表单、执行 JS
- 浏览器窗格支持 WebAuthn / Passkey / FIDO2
- 支持从 Chrome、Firefox、Arc 等 20+ 浏览器导入 cookies、历史和会话
SSH 远程开发#
cmux ssh user@remote创建远程机器工作区- 浏览器窗格通过远程网络路由,localhost 直接可用
- 支持拖拽图片到远程会话通过 scp 上传
Claude Code Teams#
cmux claude-teams一条命令运行 Claude Code 的 teammate 模式- Teammates 以原生分屏启动,带侧边栏元数据和通知,无需 tmux
脚本化与自动化#
- CLI 和 socket API:创建工作区、分屏、发送按键、控制浏览器
- 自定义命令:通过
cmux.json定义项目特定操作,从命令面板启动 - GPU 加速渲染(基于 libghostty)
Ghostty 兼容性#
- 自动读取
~/.config/ghostty/config中的主题、字体、颜色和键绑定
架构要点#
- 渲染层:libghostty 作为库引用(非 fork),通过
ghostty.h/cmux-Bridging-Header.h桥接到 Swift - UI 层:Swift + AppKit 原生 macOS 应用,Xcode 项目(
GhosttyTabs.xcodeproj) - 浏览器引擎:内嵌 WebKit(macOS 原生),API 移植自 agent-browser
- 通知机制:OSC 9/99/777 转义序列检测 + CLI hook 双通道
- 自动化层:CLI + socket API 双通道控制
- SSH 远程:
daemon/remote目录实现远程代理与浏览器网络路由 - 分发更新:Sparkle 框架,nightly 和 stable 独立 channel(nightly 有独立 bundle ID)
- 包管理:Homebrew tap(
homebrew-cmux子模块) - CI/CD:GitHub Actions 自动化构建和签名
- 官网:Next.js 部署于 Vercel
安装方式#
DMG(推荐):从 GitHub Releases 下载 .dmg,拖拽到 Applications,Sparkle 自动更新。
Homebrew:
brew tap manaflow-ai/cmux
brew install --cask cmux
Nightly:独立应用,独立 bundle ID,可与稳定版并存。
快捷键#
| 类别 | 快捷键 | 功能 |
|---|---|---|
| 工作区 | ⌘N | 新建工作区 |
| ⌘1-8 | 跳转工作区 1-8 | |
| ⌘B | 切换侧边栏 | |
| 分屏 | ⌘D | 向右分屏 |
| ⌘⇧D | 向下分屏 | |
| 通知 | ⌘I | 显示通知面板 |
| ⌘⇧U | 跳转最新未读 | |
| 浏览器 | ⌘⇧L | 分屏打开浏览器 |
| 终端 | ⌘K | 清除滚动缓冲 |
生态兼容#
兼容所有主流终端 AI 代理:Claude Code、Codex、OpenCode、Gemini CLI、Kiro、Aider、Goose、Amp、Cline、Cursor Agent 等。
已知限制#
- 仅支持 macOS,Linux/Windows 支持未确认
- 不恢复终端内活跃进程状态(如 tmux/vim 会话),标注为 "not resumed after restart yet"
- iOS 应用、Cloud VMs、Voice mode 属于 Founder's Edition 提及内容,尚无公开可验证的 release 或时间线
- socket API 详细协议文档及
cmux.json完整 schema 未在公开材料中详述