dsh-chat-timeline 使用指南
在 DSH Web 聊天界面右侧复刻 DeepSeek 官网对话导航栏,常驻显示用户消息列表,悬停预览、点击跳转并实时高亮当前阅读位置。
本文为派生内容(基于 wiki / faq / compatibility_json 自动组装),非 AI 即时创作。
本文由本站基于该插件已收录的字段自动派生(wiki / faq / compatibility_json / readme),非 AI 即时创作。每节末尾标源字段。
快速上手
dsh-chat-timeline
— 源: plugin_wiki.wiki_content
安装与验证
dsh plugin --profile web add dsh-chat-timeline
复制以上命令在 DSH Web Profile 内运行。安装完成后在「插件列表」启用即可。
— 源: plugins.install
关键要点
- 常驻右侧导航轨——屏幕右侧细长竖轨,每条用户消息对应一个指示线,与官网折叠态一致
- 全模式主题适配——1:1 像素级复刻 DeepSeek 官网浅色/深色主题,浅色模式下灰线清爽优雅、白底毛玻璃展开面板;深色模式沉浸暗黑
- 悬停展开——面板显示消息预览,随滚动实时高亮当前阅读位置(品牌蓝)
- 点击跳转——一键平滑滚动到对应消息,自动加载更早历史
- 动态避让——智能检测右侧工作台(如 aionui 等工具栏),自动平移贴合聊天区边缘,避免重叠遮挡
— 源: plugin_wiki.readme_zh (fallback readme_raw)
常见问题
会话里没有用户消息(或只有 1 条)时为什么看不到导航栏?
这是设计行为:当会话中由用户直接发送的消息少于 2 条时,TimelineRail 组件会返回 null 自动隐藏,避免单条指示线造成视觉噪音。
助手回复、工具提示、定时提醒这些消息会计入时间线吗?
不会。主机侧投影在 lib/index.js:75-77 显式过滤 source.kind === "user" 的事件,插件注入的上下文、任务完成通知、cron 提醒等走 user/message 事件但 source.kind 不同,全部排除。
手机上会显示导航栏吗?
不会。客户端在 lib/client.js:68 与 :268-282 同时设置 CSS 媒体查询与 JS matchMedia 守卫,当视口宽度 ≤ 767px 时整个组件不渲染;旋转屏幕或拉伸窗口后会随媒体查询变化自动恢复。
右侧已经有其他工作台(如 aionui)会被导航栏挡住吗?
不会。TimelineRail 通过 ResizeObserver + MutationObserver 持续测量聊天滚动区右缘,动态计算 right 偏移并贴齐聊天区边缘,避免与右侧工作台重叠(lib/client.js:365-395)。
点击时间线条目能跳到非常早的历史消息吗?
可以。jumpToMessage(lib/client.js:202-219)会循环调用会话的 loadOlder() 加载更早历史,最多 120 次重试,直到目标节点进入已加载窗口后再平滑滚动到该行。
安装后需要额外配置吗?
不需要。插件不暴露任何用户配置项,安装完成后重启 dsh web 并刷新浏览器即可使用。
卸载会影响历史会话数据吗?
不会直接删除历史,但卸载后 dshChatTimeline 会话投影将不再注册,旧会话中由该投影生成的索引条目在新会话中将不再可用;聊天节点本身仍保留。
和 DeepSeek 官方什么关系?
1:1 复刻 chat.deepseek.com 官方网页版的 ScrollNav 视觉效果,非 DeepSeek 官方出品,与 DeepSeek 无任何关联(README.md:14 / README.en.md:17)。
— 源: plugin_wiki.faq_json
兼容性
- DSH: 0.1.0-rc.6+
- Node: >=22
— 源: plugin_wiki.compatibility_json
踩坑提醒
安装前请审阅上游仓库;本指南基于已收录字段自动派生,可能滞后于最新版本。如发现与官方文档冲突,请以上游为准。
— 来源:通用规则