# 对流 Convection · 会议

对流是多 Agent 群聊会议模式。人类 + 多个 Agent 在一个会话中持续对话,会长(纯文本零工具参谋)在右侧私聊出主意。

> **一次性会议**:对流定位是开完即走的圆桌讨论。需要固定角色长期协作、能单聊也能开多个群的,用[气旋工作室](./cyclone)。

![对流 会议室](/screenshots/对流会议室.png)

## 概念

- **公共群聊** —— 人类发言,参与 Agent 串行回复;所有 Agent 可见彼此发言
- **会长** —— 一个独立 Agent 实体,人类可在右侧面板私聊咨询,基于群聊快照回复,不进群
- **热插拔** —— 会话中随时增减参与 Agent、更换会长

## 创建会话

1. 侧栏切换到 **对流 · 会议室**
2. 点击「新建会话」
3. 系统自动选取会长(首个 Agent)和参与者(后续 2 个 Agent)
4. 创建后自动加载会话

## 群聊发言

1. 在底部输入框输入内容,按 Enter 发送
2. 参与 Agent 按列表顺序 **串行** 响应
3. 每个 Agent 独立 ReAct 循环(思考 → 调工具 → 回答)
4. 所有 Agent 回复完毕后,人类可继续发言
5. 每一轮都可在上方选择串行调用的顺序与可回复的 Agent。若不希望某 Agent 在本轮回复,可将其移除,需要时再加回来。

## 会长私聊

- 右侧面板随时向会长发消息
- 会长基于公共群聊快照回复
- 与群聊并行,互不阻塞

## 动态管理

- **增删参与者** —— 顶部 Agent 配置栏点击 + / × 按钮
- **更换会长** —— 配置栏长按设为会长(选中的 Agent 会单独引用框架内配置的副本成为会长)。**非常不建议**一个 Agent 同时饰演多个角色。
- **重命名会话** —— 命名框输入后确认

## 工具调用

参与者可调用工具(与季风相同)。工具调用过程在气泡中折叠显示:

- `<think>` → 思考过程
- `<action tool="...">` → 工具名称和参数
- `<result>` → 工具返回

> 参与者不具备 `delegate`(子任务委托)能力。

## 指令

在输入框中输入以下指令并发送:

| 指令 | 效果 |
|------|------|
| `/reset` | 归档所有对话记录并清空(工作区文件保留) |
| `/reset summary` | 归档并清空,但会长生成 3-5 句极简摘要作为新起点 |

适用场景:长会议到后期、早期讨论已被推翻或跑偏,希望模型从干净状态继续。归档文件保存在工作区 `bak/` 目录下。

## 自动压缩

当对话上下文超过 200K tokens 时,会长在当前轮所有 Agent 说完后自动压缩:

- 保留最近若干轮原文不动
- 早期内容压缩为结构化摘要
- 压缩期间前端显示「会长正在整理对话记录」
- 压缩完成后会议无缝继续,不打断议题

## 数据与恢复

- 会话数据:`data/convection/sessions/{sessionId}.json`
- 会话索引:`data/convection/sessions/_index.json`
- 工作区:`data/convection/sessions/{sessionId}/workspace/`
- 以上数据不入仓库
- 刷新浏览器后,活跃会话自动恢复(消息历史通过 `/status` 端点获取)
