第3集:cmux — 为 AI Agent 而生的终端

⏱ 预计阅读 9 分钟 更新于 2026/5/7
💡 进群学习加 wx: agentupdate
(申请发送: agentupdate)

2026 年发布,基于 Ghostty,垂直标签 + 通知环 + Socket API,解决多 Agent 注意力管理。

核心理念

多 Agent 并行的瓶颈不是算力——是注意力

5 个 Agent 同时跑,你需要知道:

  • 谁需要输入?(Agent 卡住等你回复)
  • 谁完成了?(可以检查结果)
  • 谁报错了?(需要介入处理)

没有通知机制 = 手动逐个翻标签检查 = 效率灾难。

cmux 的解决方案:通知环(Notification Rings)——Agent 需要你时标签自动闪动 + 桌面提醒。

安装方式

macOS(唯一支持平台)

# 方式 1:Homebrew(推荐)
brew install --cask cmux

# 方式 2:官网下载 .dmg
# https://cmux.com/

# 方式 3:手动下载
# https://github.com/nickelc/cmux/releases

操作系统支持

系统 支持情况 备注
macOS 13+ 原生支持 基于 Ghostty 渲染引擎
Linux 社区替代 Séance(Linux 版,社区维护)
Windows 社区替代 wmux(Windows 版,社区维护)

注意:Linux/Windows 版本为社区项目,功能和稳定性不如 macOS 原生版。

核心功能

1. 垂直标签栏

左侧一列标签,每个标签代表一个 Agent 会话。一眼看到所有 Agent 状态。

┌──────┬─────────────────────────────────┐
│ ▶ P1 │                                 │
│   P2 │   Claude Code Session           │
│ ● P3 │   > /gsd-execute-phase 1        │
│   P4 │                                 │
│   P5 │   [Running task 3/12...]        │
│      │                                 │
└──────┴─────────────────────────────────┘
  • ▶ = 需要输入
  • ● = 有通知(完成/报错)
  • 空白 = 正常运行

2. 通知环(Notification Rings)

Agent 需要输入、完成任务、报错时:

  • 对应标签出现彩色圆环闪动
  • 同时弹出 macOS 桌面通知
  • 点击通知直接跳转到对应 Agent

3. 内置浏览器

右侧打开浏览器面板,查文档、看 API、读 GitHub PR——不用切出终端。

┌──────┬────────────────────┬────────────────────┐
│ 标签  │  Claude Code       │  内置浏览器          │
│ 栏   │  Agent Session     │  docs.anthropic.com │
│      │                    │                    │
└──────┴────────────────────┴────────────────────┘

4. 分屏面板

支持水平/垂直分屏,对比代码或同时监控两个 Agent。

5. Socket API

提供完整的 Socket API,可通过脚本批量管理 Agent。详见下方"Agent 交互机制"。

Agent 交互机制

cmux 是所有终端中 Agent 交互能力最强的之一:

flowchart TB
    subgraph 脚本自动化
        A[启动脚本] -->|Socket API| B[cmux 进程]
        B -->|创建标签| C[Agent 1]
        B -->|创建标签| D[Agent 2]
        B -->|创建标签| E[Agent N...]
    end

    subgraph 通知机制
        C -->|需要输入| F[通知环闪动]
        D -->|任务完成| G[桌面提醒]
        E -->|报错| F
        F --> H[点击跳转]
        G --> H
    end

    subgraph 人工介入
        H --> I[输入回复]
        I --> C
    end

    style B fill:#4a9eff,color:#fff
    style F fill:#ff6b6b,color:#fff
交互方式 支持情况 说明
Socket API 完整 实时双向通信,最强大的自动化方式
脚本批量管理 完整 Python/Node/Bash 脚本控制 Agent 生命周期
通知环 独有 Agent 状态变化时自动提醒
内置浏览器 独有 不用切出终端查文档
AppleScript 有限 macOS 标准支持
命令行 CLI 有限 cmux 命令基本操作

Socket API 使用示例

# Python 示例:批量启动 5 个 Claude Code Agent
import socket
import json

def send_cmux_command(command):
    sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
    sock.connect('/tmp/cmux.sock')
    sock.send(json.dumps(command).encode())
    response = sock.recv(4096)
    sock.close()
    return json.loads(response)

# 创建 5 个标签,每个启动一个 Claude Code
for i in range(1, 6):
    send_cmux_command({
        "action": "new_tab",
        "name": f"agent-{i}",
        "command": "claude"
    })

10 Agent 并行管理流程

sequenceDiagram
    participant User as 开发者
    participant Script as 启动脚本
    participant Cmux as cmux
    participant A1 as Agent 1
(Phase 1) participant A2 as Agent 2
(Phase 2) participant A3 as Agent 3
(测试) User->>Script: 运行启动脚本 Script->>Cmux: Socket API: 创建 3 个标签 Cmux->>A1: 启动 claude Cmux->>A2: 启动 claude Cmux->>A3: 启动 claude Note over Cmux: 三个标签并行运行
通知环监控状态 A1->>Cmux: ⏸ 需要用户输入 Cmux->>User: 🔔 通知环闪动 + 桌面提醒 User->>A1: 输入决策 A1->>Cmux: ✅ 继续运行 A2->>Cmux: ✅ Phase 2 完成 Cmux->>User: 🔔 完成通知 A3->>Cmux: ❌ 测试失败 Cmux->>User: 🔔 报错通知 User->>A3: 介入 debug

优缺点

优点 缺点
专为多 Agent 设计 仅 macOS 原生支持
通知环解决注意力管理 不支持远程 SSH 场景
Socket API 完整可编程 AGPL-3.0 许可证限制商业使用
基于 Ghostty = 同等渲染速度 社区生态年轻(2026.02 发布)
内置浏览器免切窗口 Linux/Windows 为社区移植版
垂直标签栏一目了然 无内置 AI 功能

适用场景

  • 本地 macOS 跑 3-10 个 Agent 并行
  • 需要 Agent 状态通知和注意力管理
  • 团队内 macOS 用户统一终端方案