11.3 终端多窗口管理:Tmux 入门
面向经管学生、研究者与从业者的 AI 智能体设计教材
Agent Teams 的 split-pane 模式需要终端支持分屏功能。macOS 用户可以使用 iTerm2 的原生分屏,但更通用的方案是 Tmux——一个跨平台的终端多路复用器(Terminal Multiplexer)。它的核心能力是在一个终端窗口内创建多个独立的面板(pane),每个面板运行各自的命令行程序。
在 Agent Teams 的场景中,split-pane 模式下 Lead 和每个队友各占一个面板,用户可以同时看到所有智能体的工作状态。
多个终端窗口在功能上可以实现类似效果,但 Tmux 有两个关键优势:一是所有面板在同一个视野内,不需要反复切换窗口;二是 Tmux 会话在终端关闭后仍然存活,重新连接即可恢复现场。
macOS 上的 iTerm2 也原生支持 Agent Teams 的 split-pane 模式,无需安装 Tmux。配置步骤:安装 it2 命令行工具,然后在 iTerm2 → Settings → General → Magic 中开启 Enable Python API。
安装方法
| 平台 | 命令 |
|---|---|
| macOS(Homebrew) | brew install tmux |
| Linux(Debian/Ubuntu) | sudo apt update && sudo apt install tmux |
| 验证安装 | tmux -V(输出类似 tmux 3.5a 表示成功) |
三层结构
Tmux 的组织结构分三层:
| 层级 | 说明 |
|---|---|
| Session(会话) | 最外层容器,可以包含多个窗口 |
| Window(窗口) | 占满整个终端屏幕的一个标签页 |
| Pane(面板) | 窗口内的一个分屏区域 |
日常使用 Agent Teams 时,通常只需要一个会话、一个窗口、多个面板。Claude Code 的 split-pane 模式会自动在 Tmux 窗口内创建面板,不需要用户手动分屏。
常用操作
Tmux 的所有快捷键都以前缀键 Ctrl+b 开头。操作方式是:先按 Ctrl+b,松开后再按功能键。
| 操作 | 命令/快捷键 |
|---|---|
| 启动新会话 | tmux 或 tmux new -s work |
| 分离会话(回到普通终端) | Ctrl+b 然后 d |
| 重新连接会话 | tmux attach -t work |
| 切换面板 | Ctrl+b 然后方向键 |
| 全屏/还原当前面板 | Ctrl+b 然后 z |
| 关闭当前面板 | exit 或 Ctrl+d |
刚上手 Tmux 时,只需要记住:Ctrl+b d(分离会话)、tmux attach(重新连接)、Ctrl+b + 方向键(切换面板)、Ctrl+b z(全屏/还原某个面板)。其他操作用到时再查。
与 Agent Teams 配合使用
当 teammateMode 设置为 tmux 或 auto 时,Claude Code 会检测当前是否运行在 Tmux 或 iTerm2 中。典型工作流程:
- 启动 Tmux 会话:
tmux new -s agent-team - 在 Tmux 中启动 Claude Code:
claude - 创建 Agent Team,Claude Code 自动为每个队友分配面板
如果需要暂时离开,按 Ctrl+b d 分离会话。所有智能体继续在后台运行。回来后执行 tmux attach -t agent-team 即可恢复视图。
VS Code 的内置终端不支持 Tmux 的分屏功能。Agent Teams 会自动退回到 in-process 模式。要使用 split-pane 模式,需要在独立的终端应用中运行。
推荐配置
Tmux 的默认配置已经够用,但以下调整可以改善体验。配置文件位于 ~/.tmux.conf:
# 启用鼠标支持(可以用鼠标点击切换面板、拖动调整大小)
set -g mouse on
# 设置面板边框样式,更容易区分不同面板
set -g pane-border-style fg=colour240
set -g pane-active-border-style fg=colour46
修改后执行 tmux source-file ~/.tmux.conf 使配置生效。启用鼠标支持后,可以直接点击面板来切换。