基于 Ghostty 的 macOS 原生终端,专为并行运行多个 AI coding agent 而设计,提供垂直标签页 + Agent 等待通知 + 内置浏览器 + Claude Code Teams 一键启动,Swift/AppKit 实现,21.7k stars。

定位

作者同时跑大量 Claude Code / Codex session,Ghostty 原生通知太模糊(消息永远是”Claude is waiting”,无上下文),GUI 编排工具又是 Electron/Tauri 性能差,因此用 Swift+AppKit 构建了 cmux:既保留终端的灵活性,又补齐了多 Agent 并行工作的可见性缺口。

设计哲学(The Zen of cmux):cmux 是原语,不是解决方案。 提供终端/浏览器/通知/工作区/分屏/标签+CLI,其余由开发者自己组合。

核心功能

功能说明
Notification RingsAgent 需要输入时,对应面板出现蓝色光环,标签页高亮,Cmd+Shift+U 跳转最新未读
Notification Panel侧边栏汇总所有待处理通知,可一览全部等待中的 Agent
垂直 + 水平标签页侧边栏显示:git branch / PR 状态编号 / 工作目录 / 监听端口 / 最新通知文本
内置浏览器终端旁分屏浏览器,Agent 可操控(DOM 快照 / 点击 / 填表 / 执行 JS),支持从 Chrome/Firefox/Arc 等 20+ 浏览器导入 Cookie
Claude Code Teamscmux claude-teams 一键启动 Claude Code 多 Agent 协作,原生分屏+通知,无需 tmux
SSH 支持cmux ssh user@remote 创建远程工作区,浏览器面板自动走远程网络,localhost 直接可用
可编程 CLICLI + Socket API 控制工作区/分屏/键击/浏览器,支持 cmux.json 自定义命令

安装

# Homebrew(推荐)
brew tap manaflow-ai/cmux
brew install --cask cmux
 
# 或直接下载 DMG
# https://github.com/manaflow-ai/cmux/releases/latest/download/cmux-macos.dmg

支持 Sparkle 自动更新,只需安装一次。

技术栈

  • 语言:Swift + AppKit(非 Electron/Tauri)
  • 终端渲染:libghostty(GPU 加速)
  • 配置兼容:读取 ~/.config/ghostty/config,主题/字体/颜色无缝迁移
  • 通知机制:捕获终端 OSC 9/99/777 序列,cmux notify 可集成到 Agent Hook

Agent 通知集成

通过 cmux notify 命令与 Claude Code / OpenCode 等 Agent 的 Hook 机制集成:

# 在 Claude Code hooks 中调用
cmux notify "Claude is waiting in project-foo"

也可通过 Socket API 编程控制,实现自定义自动化工作流。

与同类工具对比

维度cmuxopenclaw 标准终端botmux
平台macOS 原生任意飞书话题群
多 Agent 可见性侧边栏 + 光环通知无特殊支持飞书消息流
内置浏览器有(可编程)无无
实现技术Swift + libghostty无Node.js + tmux
定位macOS 终端工具通用 AI Gateway飞书 CLI 桥接

资源