一个终端项目,五个月斩获 22000 Star。

连 Ghostty 作者 Mitchell Hashimoto 都转发了,说这又是个基于 libghostty 做出来的东西。
它不是新语言新框架,就是个给 Agent 用的终端。
用一句话概括就是:cmux 本质上就是帮你同时管理多个 Agent 会话,让你一眼看出谁在等你输入,谁在跑什么任务。

它把每一个 AI Agent 会话的状态都展示得一清二楚。
以前使用传统终端同时运行多个 Claude Code 会话的时候,最让人头疼的就是通知了。当 macOS 的通知弹出来的时候,只会出现"Claude 正在等你回复"的字样,并不能知道是哪个 Agent,在哪个项目里被卡住了,又是哪一步被卡住的。
回到终端之后,十几张标签页挤在一起,标题被截断了,要想找到要输入的地方,只能一个个地点过去看。
cmux 的做法是把标签页改成垂直侧边栏,在每个工作区中都显示完整的状态信息。
核心功能解析
01 垂直标签页侧边栏,解决标签页信息过载

传统的终端水平标签页,标题只能显示几个字符,打开很多的时候就会挤在一起,分不清楚哪个是哪个。
cmux 把标签页从横向变成了纵向,并且把它们放在了左边,在每一个工作区里都显示出了 git branch、PR 编号、当前目录、监听端口以及最新的一条通知信息。一目了然地看到每一个 Agent 在做哪个项目,卡在哪个环节上。
02 蓝色通知环,解决通知定位问题
传统上终端通知系统是没有上下文的,弹出来的时候看不出是哪个 Agent 要你。
cmux 的方式是在一个 Agent 需要输入的时候,这个 Agent 对应的面板四周会有一圈蓝光。不需要一直盯着通知面板看,只要看到蓝色的灯亮起来,就说明那个窗口已经准备好要等你了。
用快捷键 Cmd+Shift+U 可以快速定位到最新的未读消息所在的 Agent 上,并且不需要一个一个地去查找。
03 OSC 序列检测,解决通知兼容性
这套通知系统不只是给 Claude Code 用的,它通过 OSC 序列检测,能自动捕获终端发出的通知信号。只要你的 Agent 工具支持 OSC 9/99/777 这类序列,cmux 就能识别,一条 cmux hooks setup 就能把通知集成进去。
如果使用的是 Claude Code、Codex、OpenCode、Gemini CLI 等主流工具的话,cmux 还提供 hook 自动安装的功能,即插即用。
内置浏览器面板

除了通知系统之外,cmux 还有浏览器面板。这个设计有点特别,你可以在终端旁边分屏打开一个 WebKit 浏览器,用以查看 Agent 生成的网页,调试前端界面,让 Agent 自己操作浏览器等。
更进一步的话,它提供了浏览器自动化 API,来源于 Vercel 的 agent-browser 项目。它解决的是 Agent 和 Web 界面之间的交互问题。
可以使用 CLI 命令来获取 Agent snapshot 页面的 accessibility tree、点击元素、输入文本、执行 JS 等。例如:
cmux browser snapshot --interactive # 得到页面结构
cmux browser click --surface surface:3 'e14' # 点击指定元素
让 Agent 不再局限于终端上运行,可以直接对浏览器界面进行操作,打通了终端和 Web 之间的隔阂。
如果在远程服务器上运行 Agent 的话,浏览器面板的路由就会自动穿透到远程网络中去。localhost 地址直接就能用,不用手动配端口转发,省掉了一堆折腾。
SSH 远程连接

MCP Server:让 Agent 控制 Agent
cmux 还提供了一个 MCP Server,让 Agent 控制 Agent。cmux-agent-mcp 有 81 个工具,它的设计理念就是用一个 orchestrator Agent 来管理 cmux,从而去管理其他的 Agent。
这套工具解决的是多 Agent 协调的问题。可以用来 spawn 新的 Agent 会话,给正在运行中的 Agent 注入提示,读取任意面板的输出。也可以一次调用给多个 Agent 分配不同的任务,例如让三个子 Agent 分别负责前端、后端和测试,并且要对它们的输出情况进行监控。
这样就使 cmux 不只成为"终端",而成为一个 Agent orchestration 平台。
安装与使用

如果使用的是 macOS 的话,最简单的方法就是 Homebrew:
brew tap manaflow-ai/cmux
brew install --cask cmux
安装好之后打开应用程序,如果之前你使用过 Ghostty 的话,cmux 就会自动读取配置文件,并且继承你的主题、字体和颜色设置。
CLI 工具放在了应用包里面,如果要在外面直接使用的话,可以在 /usr/local/bin/cmux 上创建一个软链接。
然后运行 cmux hooks setup,将 Claude Code 或者 Codex 的通知整合进来之后就可以使用了。
局限性与注意事项
- 目前只支持 macOS 14.0 以上,Linux 版本还在计划中,Windows 没有官方提及。
- SSH 功能还在不断更新中,tmux 的 detach/attach 机制已经比较完善了,目前 cmux 还不能实现 tmux 那样的功能,比如持久化会话、远程 detach 等。
- 该项目使用的是 GPL-3.0 协议,企业想要使用但是又不希望受到 GPL 合规限制的话,就需要购买商业授权。
总结
整体来看,cmux 不是要替代 tmux 或 iTerm2,而是定义了一个新类别:AI Terminal Multiplexer。
它主要的价值就是把"Agent 并行管理"这件事情由人工去操作变成终端本身具备的能力。经常同时跑 Claude Code 和 Codex CLI 的朋友,推荐试试。