-
Notifications
You must be signed in to change notification settings - Fork 2
✨ [Web/Android] Bot 支持流式输出,实时反馈处理状态 #197
Copy link
Copy link
Open
Labels
Description
核心问题
用户给 Bot 发消息后,不知道 Bot 是在处理还是消息丢了。「正在输入」状态不稳定,缺乏可靠的处理反馈。这是 AI 对话体验的基本预期——ChatGPT、Claude 都有打字机效果,没有它用户会焦虑。
LiangFei 反馈:「给 bot 安排任务后看不到 bot 是在正常执行,还是消息直接丢了。」
方案
Bot 回复时支持流式输出(逐段呈现),用户能实时看到内容在生成,确认任务正在处理。
两层反馈:
- 处理中状态:Bot 收到消息后立即显示可靠的「正在处理」指示(不是靠「正在输入」协议碰运气)
- 流式内容:回复内容逐段出现,像打字机效果
与现有「正在输入」状态的关系: 流式输出上线后,「正在输入」状态保留但降级为兜底——支持流式的 Bot 优先走流式通道(用户直接看到内容生成),不再依赖「正在输入」指示;不支持流式的 Bot(如第三方旧版 Bot)仍走现有「正在输入」协议,行为不变。两者不冲突,用户无需感知切换。
交互细节:
- Bot 发起回复时先出现一个消息气泡,内容逐段填充
- 流式过程中用户可以继续输入新消息(不阻塞)
- 如果 Bot 处理时间较长(>30s),气泡中显示经过时间(如「已等待 45 秒」),帮助用户判断是否继续等待
- 流式完成后消息变为普通消息(可复制、转发等)
异常处理:
- Bot 中途断开 → 已收到的内容保留,末尾标注「回复中断」
- 网络波动 → 客户端自动重连继续接收
- 超时无响应 → 显示「Bot 未响应,请稍后重试」
AI 友好性
这个需求本身就是提升 AI 体验。但需注意:
- Bot API 侧需要支持流式发送消息的能力(当前 sendMessage 是一次性的)
- 第三方 Bot 开发者也应该能用这个能力,不只是内部 Bot
验收标准
- Web 和 Android 端 Bot 回复时内容逐段呈现,用户能看到实时生成过程
- Bot 收到消息后 2 秒内有可靠的「处理中」反馈
- 流式中断时已接收内容不丢失
- Bot API 支持流式发送消息
- 支持流式的 Bot 不再触发「正在输入」气泡,不支持流式的 Bot 行为不变
-
30s 场景显示经过时间,无需 Bot 主动上报进度
来源
dmwork-pool#80 | 反馈人:LiangFei
Reactions are currently unavailable