cmux 与 iTerm2
iTerm2 是成熟的 macOS 终端替代品。 cmux 是一个基于 libghostty 构建的本机 macOS 终端,用于运行许多 AI 编码代理,具有垂直工作区、通知环、浏览器窗格和可编写脚本的套接字 API。
普通终端 vs 代理监管终端
当您需要一个广泛的、可配置的终端仿真器时,请使用 iTerm2。当您的终端已成为代理操作控制台并且您希望 libghostty 终端渲染以及每个会话、分支、端口、未读状态、浏览器检查、通知环和 Cmd+Shift+U/Cmd+Control+U 查看快捷方式保持可见时,请使用 cmux。
| 维度 | 多路复用器 | iTerm2 |
|---|---|---|
| 主要工作 | 监管多家编码代理 | 通用 macOS 终端 |
| 桌面技术栈 | 基于 libghostty 构建的原生 Swift/AppKit macOS 应用 | 原生 macOS 终端应用,不是 Electron/Tauri |
| 代理可见性 | 垂直工作区、最新输出、分支和端口元数据 | 标签、窗口、分屏、配置文件、shell 集成和状态栏 |
| 渲染引擎 | 基于 libghostty 构建,具有 GPU 加速的现代终端渲染 | iTerm2 终端渲染器 |
| 注意力模型 | 通知铃声、Cmd+Shift+U、Cmd+Control+U | OSC 通知、标记和提醒、触发器通知、会话搜索 |
| 自动化 | CLI、Unix 套接字 API、浏览器自动化、挂钩 | Python API、已弃用的 AppleScript、触发器、配置文件和 tmux 集成 |
| 最适合 | 代理为主的本地开发 | 普通终端高级用户 |
cmux 将代理状态添加到终端
终端选项卡不知道哪个代理被阻止,它拥有哪个分支,或者它启动了哪个开发服务器。 cmux 将该上下文放在侧边栏中,并使等待窗格易于查找。
浏览器自动化是工作流的一部分
iTerm2 也有浏览器配置文件。cmux 的区别在于,浏览器窗格可以通过与工作区和终端相同的 CLI 和 socket 工作流寻址,并提供 DOM 交互、截图、控制台和错误日志、cookie、存储以及 JavaScript 求值命令。
键盘快捷键吸引注意力
Cmd+Shift+U 跳转到最新的未读代理。 Cmd+Control+U 循环未读会话,同时保持未读状态。 iTerm2 是成熟且可配置的,但这些代理审查快捷方式是 cmux 添加的产品详细信息,因为它是为繁重的多任务处理而构建的。
cmux 继承了 Ghostty 的优点
由于 cmux 是基于 libghostty 构建的,因此它具有现代 GPU 加速的终端引擎、强大的渲染性能、广泛的终端兼容性以及针对终端细节(如字体、主题、颜色和光标行为)的 Ghostty 风格配置。
可编程性到达应用程序
脚本和代理可以创建工作区、分割窗格、发送输入、读取屏幕、捕获屏幕截图以及通过 cmux 驱动浏览器。终端成为可控的基础设施。
FAQ
每个 iTerm2 用户都应该切换到 cmux 吗?
不会。iTerm2 作为通用终端非常出色。 cmux 针对的是终端以并行编码代理为主的开发人员。
cmux 可以运行正常的 shell 工作吗?
是的。 cmux 仍然是一个终端,因此 shell、SSH、脚本、测试、包管理器和本地服务正常运行。
除了制表符和分割之外,cmux 还添加了什么?
cmux 添加了代理工作区元数据、通知环、未读导航、可通过 socket 寻址的浏览器界面,以及围绕代理密集工作流设计的 socket API。