cmux 与 Superset
cmux 和 Superset 都可以帮助开发人员运行多个编码代理。区别在于产品形状:Superset 是具有工作树编排功能的代理工作区,而 cmux 是为监督任何 CLI 代理而构建的本机终端和浏览器。
按工作流程选择
当您需要快速、免费、开源的本机终端、可见的多任务处理、键盘驱动的注意力管理和可编程套接字 API 时,请选择 cmux。当您想要一个以工作树编排和内置审核流程为中心的更加固执己见的任务工作区时,请选择 Superset。
| 维度 | 多路复用器 | 超级组 |
|---|---|---|
| 核心产品 | 本机 macOS 终端和浏览器 | 代理编排工作区 |
| 桌面技术栈 | 基于 libghostty 构建的原生 Swift/AppKit macOS 应用 | 使用 @xterm/xterm 和 node-pty 的 Electron/React 桌面应用 |
| 运行时 | Swift/AppKit 加上 libghostty | 电子桌面应用程序 |
| 代理模式 | 任何 CLI 代理,无 cmux 运行时锁定 | Superset 管理工作区中的任意 CLI 代理 |
| 源模型 | 免费开源 GPL 应用程序 | 源代码在 Elastic License 2.0 下可用 |
| 组织 | 垂直工作区、分割、未读状态、通知环 | 任务、工作树、审查界面 |
| 可编程性 | CLI、Unix 套接字 API、浏览器自动化、挂钩 | 面向工作区和代理编排的 CLI beta、MCP、SDK 和自动化 |
| 最适合 | 居住在终端并运行许多工具的开发人员 | 想要打包代理任务管理器的开发人员 |
cmux 将终端保持为原始终端
如果代理在 shell 中运行,则它在 cmux 中运行。这使得 cmux 非常适合在 Claude Code、Codex、OpenCode、Gemini CLI、Aider、脚本、SSH 和本地开发服务器之间切换的团队。
高并发时本机性能很重要
运行许多代理本身就会消耗大量 CPU 和内存。cmux 使用 Swift/AppKit 和 libghostty,因此它的终端 UI 避免了 Electron 开销,而代理进程、编译器和开发服务器使用各自的资源。
关注的是产品表面
cmux 专注于代理需要人类的时刻。通知环、未读徽章、通知面板、Cmd+Shift+U 用于最新未读工作以及 Cmd+Control+U 用于循环未读工作,使已完成或阻止的会话易于查找。
可编程性是逃生口
cmux 通过 CLI 和 socket API 暴露工作区、窗格、屏幕读取、截图和浏览器自动化。Superset 也有用于工作区和代理编排的 CLI/MCP/SDK 接口;cmux 的区别在于终端和浏览器窗格本身是可脚本化的。
工作树支持从来都不是普遍的
当每个任务都能清晰映射到一个分支时,内置 worktree 管理器很有用。cmux 更贴近终端,因此 Claude Code、Codex、脚本和自定义命令可以处理不适合产品工作区模型的仓库布局、非 Git 目录、SSH 会话或一次性设置路径。
FAQ
cmux 是 Superset 的替代品吗?
这取决于你如何使用 Superset。cmux 可以替代终端监督层,而 Superset 包含更有主张的任务和 worktree 工作流。
cmux 可以运行相同的代理吗?
是的。 cmux 直接运行 CLI 代理,包括 Claude Code、Codex、OpenCode、Gemini CLI、Aider、Amp 和 Cursor CLI。
如果 Superset 有工作树,为什么还要选择 cmux?
如果你的优先级是原生终端性能、键盘驱动的多任务、编辑器中立的终端工作流,以及可按自身工作流调整的可脚本化终端/浏览器界面,请选择 cmux。