一、cmux:AI时代的终端新选择
在AI编程日益普及的今天,开发者常常需要同时运行多个Claude Code、Codex等AI代理会话。传统终端在应对多会话并行时,要么标签页繁杂难以管理,要么通知信息缺乏上下文,严重影响开发效率。cmux正是为解决这些痛点而生,它是一款基于Ghostty构建的原生macOS终端应用,专为AI编程场景量身打造,通过创新的垂直标签栏和智能通知系统,重新定义了多会话终端的使用体验。
cmux采用Swift/AppKit开发,依托libghostty实现GPU加速渲染,既保证了终端的高性能,又完美兼容Ghostty的现有配置。无论是主题、字体还是颜色方案,都能直接复用Ghostty的设置,让开发者零成本切换。
二、核心功能:让AI编程更高效
(一)智能通知系统:告别信息遗漏
cmux的通知系统是其核心亮点之一。它能够识别终端中的OSC 9/99/777序列,还提供了cmux notify命令行工具,可与Claude Code、OpenCode等AI代理的钩子集成。当AI代理等待输入时,对应的窗格会出现蓝色提示环,侧边栏的标签也会高亮显示。即使同时运行多个会话,开发者也能一眼发现需要关注的任务。
此外,cmux支持集中查看所有通知,通过Cmd+Shift+U快捷键可直接跳转到最新未读通知,彻底解决了传统终端通知分散、上下文缺失的问题。
(二)垂直标签栏:多会话一目了然
传统终端的水平标签栏在会话较多时,标签标题会被挤压得难以辨认。cmux创新性地采用垂直标签栏设计,每个标签不仅显示会话名称,还能展示git分支、关联PR状态及编号、工作目录、监听端口等关键信息。开发者无需切换会话,就能在侧边栏快速了解每个任务的运行状态。
垂直标签栏还支持横竖分屏,配合Ghostty的分屏功能,可实现更加灵活的工作区布局。比如左侧分屏运行Claude Code生成代码,右上分屏启动npm run dev,右下分屏直接打开内置浏览器预览效果,真正实现一站式开发。
(三)内置浏览器:终端与网页无缝衔接
对于前端开发者来说,cmux的内置浏览器功能堪称福音。无需在终端和浏览器之间频繁切换,直接在终端旁分屏打开浏览器,支持脚本控制,可与AI代理深度集成。AI生成代码后,能直接在内置浏览器中预览效果,大大提升开发效率。
内置浏览器还支持Chrome、Firefox、Arc等浏览器的数据导入,打开即保持登录状态,进一步简化了工作流程。
(四)SSH工作区:远程开发更便捷
cmux支持SSH直连远程服务器,浏览器可直接走远程网络,实现拖图即传。对于需要进行远程开发的场景,这一功能让开发者在本地终端就能完成远程服务器上的所有操作,包括网页预览,无需额外配置远程桌面或VPN。
(五)脚本化能力:定制专属工作流
cmux提供了丰富的CLI命令和socket API,允许开发者通过脚本控制工作区、窗格和浏览器。例如:
cmux /path/to/project:快速打开指定项目cmux new-workspace --name "frontend" --cwd ~/projects/web-app:创建自定义名称的工作区cmux new-split right:向右拆分当前窗格cmux send --surface 2 "npm run dev\n":向指定窗格发送命令
通过这些命令,开发者可以根据自己的工作习惯,定制自动化的工作流,进一步提升开发效率。
三、安装与配置:快速上手
(一)安装步骤
cmux可通过Homebrew安装,步骤如下:
先添加tap源:
brew tap manaflow-ai/cmux安装应用:
brew install --cask cmux后续更新:
brew upgrade --cask cmux
首次启动时,macOS可能会提示确认打开来自已识别开发者的应用,点击“打开”即可。
(二)配置方法
cmux从Ghostty的配置文件~/.config/ghostty/config中读取配置,以下是一个基础配置示例:
# === 主题设置 ===
# 跟随系统自动切换明暗主题
theme = dark:iTerm2 Dark Background,light:iTerm2 Light Background
# === shell 集成 ===
shell-integration = detect
# === 字体设置 ===
font-size = 12
font-thicken = true
adjust-cell-height = 2
# === 窗口设置 ===
window-theme = system
window-save-state = always
background-opacity = 0.8
macos-titlebar-style = transparent
# === 鼠标设置 ===
copy-on-select = clipboard
mouse-shift-capture = true
mouse-hide-while-typing = true
cursor-style = bar
cursor-style-blink = true
cursor-opacity = 0.85
# === 缓冲区 ===
scrollback-limit = 8388608
# === 快速终端 ===
quick-terminal-position = top
quick-terminal-screen = mouse
quick-terminal-autohide = true
quick-terminal-animation-duration = 0.2
# === 安全设置 ===
clipboard-paste-protection = true
clipboard-paste-bracketed-safe = true
修改配置后,需通过菜单栏操作重载配置才能生效。
四、快捷键:提升操作效率
cmux提供了丰富的快捷键,覆盖工作区、分屏、浏览器等操作,以下是一些常用快捷键:
(一)工作区操作
⌘ N:新建工作区
⌘ 1–8:跳转到工作区1–8
⌘ 9:跳转到最后一个工作区
⌃ ⌘ ]:切换到下一个工作区
⌃ ⌘ [:切换到上一个工作区
⌘ ⇧ W:关闭工作区
⌘ ⇧ R:重命名工作区
⌘ B:切换侧边栏
(二)界面操作
⌘ T:新建界面
⌘ ⇧ ]:切换到下一个界面
⌘ ⇧ [:切换到上一个界面
⌃ Tab:切换到下一个界面
⌃ ⇧ Tab:切换到上一个界面
⌃ 1–8:跳转到界面1–8
⌃ 9:跳转到最后一个界面
⌘ W:关闭界面
熟练掌握这些快捷键,能大幅提升操作效率,减少鼠标操作。
五、搭配Yazi:终端文件管理更高效
如果想要在终端中直接预览编辑文件,无需来回切换窗口,可搭配Yazi终端文件管理器。Yazi用Rust编写,基于非阻塞异步I/O,提供高效、用户友好且可定制的文件管理体验。通过Homebrew安装:brew install yazi ffmpeg-full sevenzip,即可在cmux中直接预览编辑文件,进一步提升开发效率。