问题描述
当前在 Agent 执行任务或持续输出过程中,如果用户正在查看上方的历史消息、某个工具调用结果,或生成的文档/代码/表格等长内容,界面会在 Agent 有新输出或状态更新时自动滚动到底部。
这会导致用户当前阅读位置被打断,无法稳定查看历史内容。
复现步骤
- 打开当前项目的 Agent 对话界面;
- 发起一个会持续输出、调用工具或生成较长内容的任务;
- 在 Agent 尚未完全结束时,手动向上滚动查看历史消息、工具输出或生成文档内容;
- 等待 Agent 继续输出或更新状态;
- 观察页面滚动位置。
实际表现
页面会自动滚动到底部,用户正在查看的位置被打断。
期望表现
当用户主动向上滚动查看历史内容时,后续 Agent 输出不应强制把页面滚动到底部。
建议交互:
- 如果用户当前位于底部附近,新输出时继续自动滚动到底部;
- 如果用户已经手动向上滚动,则暂停自动跟随;
- 有新内容产生时,显示“有新消息 / 回到底部”提示;
- 用户点击提示或手动滚动回底部后,再恢复自动滚动。
建议实现
可以增加自动滚动锁定机制,例如:
const threshold = 80;
const isNearBottom = scrollHeight - scrollTop - clientHeight < threshold;
仅在 isNearBottom === true 时执行自动滚动;当用户手动向上滚动后关闭自动跟随,并在新内容到达时展示提示按钮。
验收标准
优先级建议
P1 / 中高优先级
影响范围
影响 Agent 对话消息列表、工具调用结果展示、生成内容预览等长内容阅读场景。
问题描述
当前在 Agent 执行任务或持续输出过程中,如果用户正在查看上方的历史消息、某个工具调用结果,或生成的文档/代码/表格等长内容,界面会在 Agent 有新输出或状态更新时自动滚动到底部。
这会导致用户当前阅读位置被打断,无法稳定查看历史内容。
复现步骤
实际表现
页面会自动滚动到底部,用户正在查看的位置被打断。
期望表现
当用户主动向上滚动查看历史内容时,后续 Agent 输出不应强制把页面滚动到底部。
建议交互:
建议实现
可以增加自动滚动锁定机制,例如:
仅在
isNearBottom === true时执行自动滚动;当用户手动向上滚动后关闭自动跟随,并在新内容到达时展示提示按钮。验收标准
优先级建议
P1 / 中高优先级
影响范围
影响 Agent 对话消息列表、工具调用结果展示、生成内容预览等长内容阅读场景。