1. 项目定位与用途
cmux 是一款面向 AI 编码代理的 macOS 原生终端应用,基于 Ghostty 终端引擎开发。它并非通用终端替代品,而是专注于优化开发者与 AI 代理的协作体验,通过深度集成通知系统、浏览器自动化和团队协作功能,打造 AI 优先的编程环境。应用采用 Swift 和 AppKit 构建,确保原生性能和低资源占用,同时完全兼容 Ghostty 的配置系统,用户可直接沿用现有终端主题和字体设置。其核心定位是成为 AI 驱动开发工作流的中枢枢纽,连接终端、浏览器和远程资源。
2. 解决的问题
传统终端与 AI 编码代理交互存在三大痛点:缺乏视觉反馈机制,开发者难以察觉代理的请求或状态变化;工具链割裂,浏览器操作、远程会话和终端命令需要切换不同应用;协作困难,多代理或团队场景缺乏统一的视图和控制。cmux 通过引入通知环和通知面板提供即时视觉反馈;内置脚本化浏览器和 SSH 集成减少应用切换;Claude Code Teams 功能让多个 AI 代理以原生分屏形式协同工作。这些设计显著降低了认知负荷,使开发者能更专注于代码逻辑而非工具操作。
3. 适用场景
cmux 主要适用于以下场景:AI 辅助编程工作流,特别是使用 Claude Code 等终端内 AI 工具时;需要频繁切换浏览器和终端的 Web 开发,内置浏览器支持会话导入和自动化;远程开发,通过 `cmux ssh` 创建带网络代理的远程工作区,拖放即可上传文件;团队协作编码,利用 Claude Code Teams 让多个 AI 队友同时处理不同任务;多项目并行管理,垂直标签页展示 Git 状态、PR 信息和监听端口,帮助快速定位。对于追求效率的 AI 时代开发者,cmux 提供了整合的工具链。
4. 安装方式
根据仓库信息,cmux 目前仅提供 macOS 平台的安装包。用户可通过 GitHub Releases 页面下载 `cmux-macos.dmg` 文件(README 中提供了直接下载链接)。安装步骤为:下载 DMG 文件后双击挂载,然后将 cmux 应用图标拖动到 "Applications" 文件夹即可完成安装。启动后,cmux 会自动读取用户现有的 Ghostty 配置文件(~/.config/ghostty/config),无需额外配置即可使用自定义主题和字体。仓库中未提及 Homebrew、MacPorts 等包管理器安装方式,也未提供编译源代码的说明,建议以官方发布的 DMG 为准。
5. 使用方式
启动 cmux 后,左侧垂直侧边栏显示所有工作区标签,包含 Git 分支、关联 PR 状态、当前目录和监听端口等信息。当 AI 代理需要关注时,对应窗格会出现蓝色通知环,点击可打开通知面板查看详情并跳转。通过命令面板(Cmd+Shift+P)可执行各种操作:输入 `cmux ssh user@remote` 创建远程工作区,浏览器窗格会自动通过远程网络;输入 `cmux claude-teams` 启动 Claude Code teammate 模式,AI 队友以独立分屏形式出现;在项目根目录创建 `cmux.json` 文件可定义自定义命令,在命令面板中直接触发。内置浏览器支持从 Chrome、Firefox、Arc 等 20+ 浏览器导入 Cookie 和历史记录,实现即开即用。CLI 和 Socket API 还支持外部脚本自动化控制,如创建窗口、分屏、发送按键和浏览器操作。
6. 补充说明与实现特点
cmux 的架构设计体现了对 AI 工作流的深度优化。其内置浏览器基于 WKWebView 移植自 vercel-labs/agent-browser,提供了 49 个 CLI 动词的自动化 API,并采用 `surface`(终端或浏览器标签)作为核心自动化目标,确保在分屏和重排时身份稳定。项目同时维护 v1 和 v2 API 以保证向后兼容,待测试覆盖完成后将弃用 v1。术语上,CLI 使用 `surface` 作为主要概念,`panel` 仅作为兼容别名。测试套件包含 Browser API 综合测试、扩展家族测试、不兼容矩阵测试以及视觉截图测试,确保跨版本行为一致。此外,cmux 支持 GPU 加速渲染,并利用 Ghostty 的成熟终端实现,在功能创新与稳定性之间取得平衡。