cmux 中文教程:macOS 安装、Agent 通知与 Ghostty 对比
cmux 是一个原生 macOS 终端。它用 libghostty 渲染终端,在工作区和分屏之上加入 Agent 通知、git/PR/端口等侧边栏信息、内置浏览器,以及 CLI 和 Unix socket 自动化。
1. 安装
官方推荐从 Release 下载 DMG;也可以用 Homebrew cask:
brew tap manaflow-ai/cmux brew install --cask cmux # 后续升级 brew upgrade --cask cmux
首次启动若 macOS 弹出已识别开发者确认,按系统提示检查应用来源后再打开。
2. 先做一个低权限测试
- 在不含生产密钥的临时目录新建工作区。
- 先运行普通 shell,再启动一个编码 Agent。
- 用
cmux notify --title "Done" --body "Test"检查 pane 通知环、未读标记和系统通知。 - 确认导航和通知符合预期后,再逐步配置 hooks。
3. 工作区和自动化结构
cmux 把终端和浏览器都作为 workspace 中的 surface。CLI 可以创建工作区、分屏、发送输入、读取屏幕和打开 URL;本地 socket 提供同一组能力。事件流可观察 workspace、pane、通知和 Agent hook,JSONL 日志可用于补读。
4. cmux 与 Ghostty 的区别
| 维度 | cmux | Ghostty |
|---|---|---|
| 关系 | 使用 libghostty 的独立应用,不是 fork | 独立的通用终端 |
| 主要增量 | Agent 通知、workspace 侧边栏、浏览器、CLI/socket | 专注跨平台终端体验 |
| 适合人群 | macOS 上同时管理多个终端 Agent | 只需要快速通用终端的用户 |
依据为 cmux 官方 FAQ 和 Ghostty 官方仓库,核对日期 2026-09-23。
5. 许可证和商业入口
cmux 主仓库采用 GPL-3.0-or-later。官方同时提供 Founder's Edition 和可能的商业条款;它们不能改变第三方代码或外部贡献的许可。组织使用前应按实际分发和修改方式审查 LICENSE,而不是只看 README 的一句介绍。
6. 本次验证边界
验证状态:本次只核对官方 README、FAQ、CLI commands、events 文档、LICENSE 与 v0.64.25 release;没有下载或运行应用。
确认内容:DMG/Homebrew 安装、macOS-only、Swift/AppKit、libghostty、通知机制、CLI/socket 和事件流都有官方材料对应。
没有验证:应用签名、Sparkle 更新、资源占用、浏览器导入、SSH、iOS beta 和 Agent hooks 未在本站环境实测。
这里仅补原教程没有展开的事实和边界。安装命令与操作步骤仍以前文为准。
先判断这个项目是否适合你
适合谁用
适合在 macOS 上同时运行多个 Claude Code、Codex、OpenCode 或其他终端 Agent,需要集中查看等待输入状态、开发服务器、浏览器预览和远程会话的开发者。
原教程未展开的系统信息
核心功能
终端、分屏与内置浏览器
终端渲染使用 libghostty;工作区可放终端与浏览器 pane,浏览器提供可脚本化接口。
架构与数据流
cmux 是 Swift/AppKit 原生应用,libghostty 负责终端渲染。工作区包含终端、浏览器等 surface;侧边栏汇总分支、PR、目录、端口和通知;本地 Unix socket 与 CLI 暴露自动化动作,events.stream 和 JSONL 日志提供事件观察。
技术栈和运行条件
语言
Swift
框架
AppKit 原生 macOS 应用
关键依赖
- libghostty
- Sparkle 自动更新
- Unix socket API
运行环境
macOS 应用;DMG 或 Homebrew cask 分发;支持 SSH 工作区
常见问题
cmux 支持 Windows 或 Linux 吗?
当前不支持。官方 FAQ 写明桌面端是 Swift/AppKit 原生 macOS 应用。
cmux 是 Ghostty 的 fork 吗?
不是。官方说明 cmux 把 libghostty 当作终端渲染库,二者是不同应用。
cmux 只能运行 Claude Code 和 Codex 吗?
不是。任何能在终端运行的 Agent 都可以使用;通知效果取决于 OSC 序列、hooks 或 cmux notify 集成。
浏览器会话导入应该第一次就开启吗?
不建议。先用无敏感数据的工作区验证终端和通知,再单独评估 cookie、SSH 和脚本化输入的权限。