把阅读 App 的进度条逻辑,嫁接到 AI 对话侧边栏
长对话中迷路是AI聊天的高频痛点,但底部固定栏并非最优解。本文提出将阅读App的成熟交互迁移至右侧侧边栏,构建「对话地图」:轮次列表、进度细线、精准跳转与星标筛选,让无结构的对话变得可管理、可回溯,成为持续积累的知识资产。

一、一个真实的场景
和 AI 聊到第 27 轮,你突然想回到第 8 轮确认一个数据口径。
你开始疯狂滚动鼠标,页面像瀑布一样向上飞。滚到第 15 轮,你怀疑自己滚过了,又往下滚一点。反复三次,你终于找到那段对话,但已经忘了自己回来要确认什么。
这不是模型不够聪明,是对话本身没有地图。
大多数 AI 对话界面像一条没有路标的高速公路:你可以开很快,但找不到服务区,也回不去上一个出口。
二、为什么底部栏不是最优解
很多增强方案选择在对话底部加一条固定状态栏,放进度条、轮次指示器、星标按钮。这能解决一部分问题,但会引入新的摩擦:
- 遮挡内容:底部固定栏占 50px,长对话时始终挡在最下面一行
- 横向空间紧张:20 轮对话塞进一个横向滑块,拖拽精度差
- 功能堆叠:星标、备注、跳转、提示词全挤在底部,面板越弹越多
我们真正需要的,是一个不侵入阅读区、纵向空间充裕、天然对应时间线逻辑的导航容器。
答案是:右侧侧边栏。
三、方案核心:把侧边栏变成「对话地图」
整体思路很简单:将阅读 App 中「进度条 + 章节列表 + 书签标记」的成熟交互,迁移到 AI 对话的右侧侧边栏,形成一张可交互的对话地图。
3.1 三段式布局

区域一:轮次时间线列表
侧边栏的主体是一个纵向列表,每一行对应一轮对话(用户消息 + AI 回复 = 1 轮)。
- 序号前置:左侧固定宽度显示轮次序号(①、②…),当前轮次高亮加粗
- 内容缩略:显示该轮用户消息的前 8-10 个字,超出省略,一眼识别主题
- 星标与备注:星标轮次在文字前显示橙色 ⭐,备注以灰色小字缩略展示前 6 个字,hover 展开全文
- 删除操作:hover 该行时最右侧浮现 ️,平时隐藏不占地
核心价值:列表本身就是目录。想找”帮我写爬虫”那轮?扫一眼左侧列表,点击即达,比滚轮快 10 倍。
区域二:右侧边缘进度条
在侧边栏最右边缘贴一条 2px 的纵向细线,几乎不占用任何有效空间:
- 滑块:当前轮次位置显示一个 8px 圆角矩形,跟随主界面滚动实时移动
- 星标标记:星标轮次在细线对应高度有一个 3px 橙色小点,全局重点分布一目了然
- 拖拽跳转:鼠标按住滑块上下拖动,松手即跳转到对应轮次;点击细线任意位置直接跳转
为什么不用传统进度条?因为列表本身就是进度。细线只承担「快速粗调」和「全局感知」的职责,不抢列表的风头。
区域三:底部信息区 + 精准跳转
底部固定显示两行信息:
轮次 [ 12 ] / 30 40% 已读
- 轮次数字可编辑:点击 12 变成输入框,输入目标轮次回车即可精准跳转。支持上下箭头微调(±1 轮)
- 百分比:显示当前阅读进度,满足用户”我到底看了多少”的心理锚点
- ESC 取消,回车确认:符合直觉
三级导航体系由此形成:

粗调:拖拽右侧细线,场景为”大概回到中间位置”
中调:上下轮切换,场景为”前后轮对比看看”
精调:输入轮次号,场景为”直接跳到第 15 轮”
3.2 上下轮按钮:悬浮而非固定
上下按钮如果放在侧边栏底部,会进一步压缩已经很窄的空间。建议做成主界面边缘的悬浮按钮:
- 平时 30% 透明度,hover 变实,不打扰阅读
- 支持快捷键 Alt + ↑ / Alt + ↓,键盘流用户无需抬手
- 点击后主内容区平滑滚动到目标轮次,侧边列表同步高亮
3.3 星标筛选:快速回溯的开关
顶部加一个「仅看星标轮次」的开关。打开后,列表只显示你标记过的重要轮次。
这解决了一个高频痛点:聊了 50 轮,真正重要的只有 5 轮。筛选后,侧边栏从「完整地图」变成「精华索引」,回溯效率指数级提升。
四、容易被忽略的体验细节
4.1 跳转后的视觉锚点
从第 27 轮跳回第 8 轮,用户最怕的是「到了,但找不到具体是哪段」。
需要三层同步反馈:
- 主内容区:目标轮次闪一下绿色高亮,2 秒后淡出
- 侧边栏:目标行自动滚动到列表中央,背景色微变高亮
- 进度条:滑块瞬移到对应位置,底部数字更新
眼、手、界面三方同步,用户不会迷路。
4.2 当前轮次的自动追踪
用户手动滚动主内容区时,侧边栏需要实时知道「现在看到第几轮了」。
可以用 IntersectionObserver 监听各轮节点进入视口,自动更新侧边栏高亮行和底部数字。滚动停止 200ms 后再更新,避免频繁跳动。
4.3 暗色模式适配
侧边栏的细线、滑块、星标标记需要在明暗主题下都清晰可见:
- 细线:浅色模式用 #e0e0e0,深色模式用 #444
- 滑块:主题色(如蓝色),加 1px 描边防止融入背景
- 星标:固定橙色,在两种模式下都足够醒目
4.4 拖拽滑块的「放大气泡」:微观校准
50 轮对话塞进一条侧边栏细线,每轮只占约 2% 的高度。这意味着:鼠标轻微移动 5px,可能就跨过了 3 轮。
当用户想拖到「大概第 20 轮」时,松手后发现跳到了 17 或 23 轮,体验是断裂的——他明明选择了最直觉的拖拽,却得不到直觉的结果。
解法:拖拽时的放大反馈。
用户按住滑块的瞬间,滑块本身从 8px 放大到 16px(或变色),同时旁边浮现一个圆角气泡:
气泡显示实时轮次数字,随拖拽实时变化,让用户在松手前就知道「现在拖到第几轮了」。
设计细节:
- 实时跟随:气泡里的数字随拖拽实时变化
- 磁吸效果:当滑块靠近某一轮的精确位置时(±1px 范围内),轻微「咔哒」一下自动吸附
- 释放后归位:松手后气泡淡出,滑块恢复原始尺寸
这相当于给拖拽操作加了一层「显微镜」——用户手指的粗粒度移动,被系统翻译成了轮次的细粒度反馈。
五、为什么这个方案成立?
回顾整个设计,它其实在回答四个问题:

- 空间结构:长对话中迷路 → 侧边栏列表就是地图,点击即达
- 时间结构:不知道看到哪了 → 进度百分比 + 当前轮次高亮
- 价值结构:重要内容被淹没 → 星标标记 + 筛选开关
- 效率结构:操作摩擦大 → 拖拽、点击、输入、快捷键四层导航
最关键的是:所有导航操作都在右侧完成,主阅读区始终干净。
阅读 App 花了十年时间验证的「侧边目录 + 进度条 + 页码跳转」交互范式,在 AI 对话场景里依然成立。因为两者的本质是一样的——用户面对的都是一条很长、需要反复前后翻阅的内容流。
六、结语
深度用户把 AI 对话当「第二工作台」用。但再整齐的工作台,如果没有抽屉和标签,东西放进去就再也找不回来。
右侧侧边栏的「对话地图」方案,本质上是在给无结构的对话加上空间索引。它不创造新内容,只是让已有的内容变得可管理、可回溯、可复用。
而当对话有了地图,它就不再是一次性的消费,而是可以持续积累的个人知识资产。
本文是作者在日常使用 AI 对话产品时,基于个人痛点推导的一套增强脚本设计方案与产品思考,属于个人实践记录,非所在公司项目、非官方规范、也未经过大规模用户验证。文中涉及的轮次定义、交互策略、快捷键选择等,均为个人取舍,仅供参考。如果你打算照着实现,建议先在小范围对话里跑通再逐步迭代;若直接用于生产环境或团队工具,请结合自身业务再做评估。欢迎在评论区拍砖、补充场景或提出不同设计判断。
本文由 @AI 思录 原创发布于人人都是产品经理。未经作者许可,禁止转载
题图来自Unsplash,基于CC0协议

起点课堂会员权益





长对话迷路确实是高频痛点,底部固定栏占空间又难精准定位。把阅读App的侧边目录、进度细线和星标书签搬过来,用轮次列表做目录、细线做粗调、输入框做精调,三级导航让对话变成可回溯的知识资产。这个思路挺顺,尤其星标筛选那步,直接解决50轮里只有5轮重要的场景。