
# 多个终端

Termbridge 可以同时运行多个终端会话。一个服务器可托管多个 tmux 会话，而 UI 可让你在这些会话之间切换。

## 工作原理

- Termbridge 会跟踪它在当前运行中创建或连接的会话
- 终端切换器会显示所有可用会话
- 切换即时完成，无需重新连接

## 创建多个会话

### 启动时

使用 `TERMBRIDGE_SESSIONS` 环境变量：

```bash
TERMBRIDGE_SESSIONS=3 npx termbridge
```

这会创建三个会话：`<base>`、`<base>-2` 和 `<base>-3`。

### 开发期间

使用快捷脚本：

```bash
bun run dev:beam:multi
```

### Termbridge 运行时

UI 可在终端之间切换，但无法创建新终端。要增加终端，请使用更大的 `TERMBRIDGE_SESSIONS` 重启 Termbridge，或者在 tmux 会话中打开额外窗口（`Ctrl+B`，然后 `c`）。

## 切换终端

1. 点按底部栏中的终端图标
2. 此时会显示可用会话列表
3. 点按一个会话即可切换

切换即时完成，你之前的会话会继续在后台运行。

## 使用场景

### 构建和日志

在一个终端中运行构建，在另一个终端中跟踪日志：

```bash
# Terminal 1: Build
npm run build

# Terminal 2: Logs
tail -f logs/app.log
```

在它们之间切换，无需丢失当前进度。

### 服务器和客户端

在一个终端中运行后端服务器，在另一个终端中运行前端开发服务器：

```bash
# Terminal 1: Backend
npm run server

# Terminal 2: Frontend
npm run dev
```

### 多个 SSH 会话

连接到不同的服务器：

```bash
# Terminal 1
ssh user@server1.com

# Terminal 2
ssh user@server2.com
```

通过手机监控两者。

## 会话命名

默认情况下，会话根据端口号命名。使用 `--session` 设置有意义的名称：

```bash
termbridge --session api-server
```

使用 `TERMBRIDGE_SESSIONS` 创建多个会话时，系统会在基础名称后添加数字后缀。

## 持久性

- 与 UI 断开连接后，会话仍会保留
- Termbridge 重启后，会话仍会保留（除非使用 `--kill-on-exit`）
- 使用 `--session <name>` 重新连接到现有会话
