这个项目能做什么
cmux 是一款原生 macOS 终端应用,使用 Swift 和 AppKit 构建,并利用 libghostty 实现 GPU 加速渲染。它专为并行运行多个 AI 编码代理(如 Claude Code、Codex、OpenCode)的开发者设计,提供带有垂直标签页的侧边栏,可显示每个工作区的 git 分支、关联 PR 状态、工作目录、监听端口以及最新通知文本。
主要功能包括:
- **通知环与面板**:当代理需要关注时,窗格会显示蓝色环,标签页会亮起。通知通过标准终端转义序列(OSC 9/99/777)或 `cmux notify` CLI 触发,并可与代理钩子集成。
- **内置浏览器**:一个可脚本化的浏览器窗格(API 移植自 agent-browser),可与终端并排拆分,允许代理对无障碍树进行快照、点击、填写表单以及执行 JavaScript。
- **垂直与水平标签页**:侧边栏显示工作区元数据;支持垂直和水平拆分窗格。
- **SSH 支持**:`cmux ssh user@remote` 可为远程机器创建工作区,浏览器窗格通过远程网络路由,并支持通过 scp 拖放上传图片。
- **Claude Code Teams**:`cmux claude-teams` 运行 Claude Code 的队友模式,将队友生成为原生拆分窗格,并带有侧边栏元数据和通知,无需 tmux。
- **可编程性**:完整的 CLI 和 Unix socket API,用于创建工作区、拆分窗格、发送按键、读取屏幕内容、截取屏幕截图以及驱动浏览器。
- **Ghostty 兼容性**:读取现有的 `~/.config/ghostty/config` 以获取主题、字体和颜色。
- **会话恢复**:保存并恢复窗口/工作区/窗格布局、工作目录、终端回滚缓冲区以及浏览器历史记录。支持通过钩子恢复代理会话(Claude Code、Codex、Grok、OpenCode 等)。对于实时分离/重新附加,提供 `cmux local-tmux` 和远程 tmux 选项。
- **自定义命令**:在 `cmux.json` 中定义的项目特定操作,可从命令面板启动。
- **浏览器导入**:从 Chrome、Firefox、Arc 以及 20 多种浏览器导入 cookie、历史记录和会话。
- **键盘快捷键**:针对工作区、表面、拆分窗格、浏览器、通知、查找、终端和窗口管理的丰富可自定义快捷键。
- **每夜构建**:独立应用,拥有自己的 bundle ID,通过 Sparkle 自动更新。
- **iOS 应用(测试版)**:将 iPhone 与 Mac 配对以附加到终端,并可选转发通知。
cmux 在 GPL-3.0-or-later 下免费且开源。它仅支持 macOS。可通过 DMG 或 Homebrew 安装(`brew tap manaflow-ai/cmux` 和 `brew install --cask cmux`)。该项目强调提供可组合原语而非固定工作流的理念,允许开发者构建自己的代理编排方案。
评论
0 人表达喜爱 · 满10人后显示 Deer Point
登录后参与讨论。