跳到主要内容
项目档案应用项目

cmux:基于 Ghostty 的 macOS AI 终端,支持垂直标签、通知系统和内置浏览器,下载 DMG 即可使用

cmux 是专为 AI 编码代理设计的 macOS 原生终端,基于 Ghostty 构建。提供垂直标签页、智能通知环、内置浏览器、SSH 远程工作区和 Claude Code Teams 集成。支持从 Chrome 等浏览器导入会话,通过 cmux.json 自定义命令。本文介绍其功能特性、安装方法(下载 DMG)和使用方式。

27,256SwiftStar 于 2026年3月17日2026年9月19日 更新

AI 总结

cmux 是一款基于 Ghostty 的 macOS 原生终端应用,专为 AI 编码代理设计,提供垂直标签、智能通知、内置浏览器和 SSH 集成,显著提升开发者与 AI 的协作效率。

中文项目介绍

cmux 是一款专为 AI 辅助编程场景设计的 macOS 原生终端应用,基于 Ghostty 终端引擎构建。它解决了传统终端与 AI 编码代理交互体验不足的问题,通过视觉化的通知系统(如蓝色通知环和通知面板)让开发者能及时响应 AI 代理的请求。应用采用 Swift 和 AppKit 开发,非 Electron 架构,确保快速启动和低内存占用,同时兼容 Ghostty 的配置文件(~/.config/ghostty/config),可直接复用现有终端主题和字体设置。 主要功能包括:垂直侧边栏标签显示 Git 分支、PR 状态、工作目录等信息;支持水平和垂直分屏;内置基于 WKWebView 的浏览器,支持从 Chrome、Firefox 等 20+ 浏览器导入会话;通过 `cmux ssh` 命令创建远程工作区,支持拖放上传文件;集成 Claude Code Teams 模式,让 AI 队友以原生分屏形式出现;提供 CLI 和 Socket API 实现脚本化控制;支持在 cmux.json 中定义项目自定义命令。 适用场景涵盖 AI 辅助编程(如 Claude Code)、多标签多窗格终端工作流、集成浏览器进行 Web 开发、远程开发以及团队协作编码。仓库中包含详细的浏览器自动化 API 规范文档(docs/agent-browser-port-spec.md),定义了与 vercel-labs/agent-browser 的端口移植策略和 v1/v2 兼容方案。

详细信息与使用说明

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 的成熟终端实现,在功能创新与稳定性之间取得平衡。

思维导图

cmux
终端核心
Ghostty 兼容
GPU 加速渲染
水平/垂直分屏
配置继承
垂直标签
侧边栏展示
Git 分支信息
PR 状态/编号
工作目录
监听端口
最新通知文本
通知系统
蓝色通知环
通知面板
未读跳转
菜单栏集成
内置浏览器
WKWebView 实现
agent-browser 端口
浏览器导入(20+)
49个 CLI 动词
surface 自动化
v1/v2 兼容
SSH集成
cmux ssh 命令
远程工作区
网络路由代理
拖放上传(scp)
Claude Teams
cmux claude-teams
teammate 模式
原生分屏
侧边栏元数据
配置管理
cmux.json 自定义命令
Ghostty 配置读取
主题和字体
API接口
CLI 工具
Socket API
脚本化控制
浏览器自动化

常见问题

cmux 和普通终端(如 Ghostty)有什么区别?

cmux 在 Ghostty 基础上增加了专为 AI 编码代理设计的功能,包括垂直标签页(显示 Git/PR 信息)、AI 通知系统(蓝色环和面板)、内置可自动化浏览器、SSH 远程工作区集成以及 Claude Code Teams 支持。它针对 AI 协作工作流进行了优化,而非通用终端使用。

如何安装 cmux?支持哪些操作系统?

根据当前仓库信息,cmux 仅提供 macOS 版本安装。用户可从 GitHub Releases 下载 cmux-macos.dmg 文件,挂载后拖动到应用程序文件夹即可。仓库中未提及其他操作系统版本或包管理器安装方式。

cmux 的内置浏览器有什么特别之处?

cmux 浏览器基于 WKWebView 移植自 vercel-labs/agent-browser,提供 49 个 CLI 动词的自动化 API,支持 LLM 友好的浏览器控制。它可导入 Chrome、Firefox、Arc 等 20+ 浏览器的 Cookie 和历史记录,实现即开即用。浏览器以 pane 内 surface 形式存在,可与终端分屏并排显示。

如何将 cmux 与 AI 编码代理(如 Claude Code)一起使用?

在 cmux 终端中输入 `cmux claude-teams` 即可启动 Claude Code 的 teammate 模式。AI 代理会以原生分屏形式出现,每个代理拥有独立的侧边栏元数据和通知系统,无需 tmux 等额外工具。通知系统会在代理需要关注时通过蓝色环提醒。

cmux 支持远程开发吗?

支持。使用 `cmux ssh user@remote` 命令可为远程机器创建工作区。该功能不仅提供终端 SSH 连接,还会自动配置网络代理,使内置浏览器的 localhost 指向远程机器。同时支持拖放图片到远程会话进行 scp 上传,实现无缝远程开发体验。