跳到正文

XiLuovo/dsh-session-timeline

30最近提交 2026年8月15日

dsh-session-timeline DSH 插件

dsh-session-timeline 在会话左侧渲染一条横短横线时间轴,只显示用户消息位置。通过悬停预览、点击跳转、自动跟随当前消息以及可收起/展开的 UI,帮助用户在长会话中高效导航。

如何安装 dsh-session-timeline DSH 插件

dsh plugin --profile web add dsh-session-timeline

复制不会执行命令。安装 dsh-session-timeline DSH 插件前请核对仓库和版本。

dsh-session-timeline DSH 插件数据来源

dsh-session-timeline DSH 插件快照日期:2026年8月16日

discovered

dsh-session-timeline DSH 插件能做什么

  • 横短横线时间轴,只显示用户消息位置
  • 基于 DSH sessionProjections 的全量统计,持久化缓存保证刷新秒出
  • Scroll-spy:激活条跟随右侧视口当前用户消息自动移动
  • 波浪聚焦:鼠标悬停时激活条高亮,相邻条长度递减
  • 圆角预览 tooltip:悬停显示用户消息和 AI 回复
  • 点击跳转:点击横线滚动到对应消息,窗口外自动加载历史
  • 可收起/展开:胶囊把手悬停淡入,收起后变为细竖条

dsh-session-timeline DSH 插件适合哪些场景

  • 在超长对话中快速定位到某一次用户输入
  • 不滚动即可预览历史消息的内容
  • 通过视觉时间轴快速了解用户交互的节奏
  • 在会话中跳过不感兴趣的部分,直接跳转到关键消息
  • 需要时展开时间轴,不需要时收起以节省界面空间

dsh-session-timeline DSH 插件适合谁

  • 频繁使用 DSH Web 长会话的用户
  • 希望高效浏览历史会话的开发者与高级用户

dsh-session-timeline DSH 插件的限制

  • 需要 DSH ≥ 0.1.0-rc 且 web profile 包含 sessionProjections 服务
  • 动态加载方式(cordis_define)不包含全会话投影,仅保留窗口内功能
  • 仅支持 Web 平台(浏览器环境)
  • 手动滚动时间轴后 scroll-spy 暂停,需点击某条才恢复跟随

dsh-session-timeline DSH 插件的仓库 README 摘录

以下文字摘自 dsh-session-timeline DSH 插件的上游仓库 XiLuovo/dsh-session-timeline 的 README,版权归原作者,仅作引用。

DeepSeek Harness 会话时间轴插件:在会话左侧渲染一条**横短横线时间轴**,用于在长会话中快速定位、跳转和预览。 ![platform](https://img.shields.io/badge/platform-web-blue) ![license](https://img.shields.io/badge/license-MIT-green) ![npm](https://img.shields.io/npm/v/dsh-session-timeline) ## 效果 ![会话时间轴主视图](docs/screenshots/timeline-main.png) ![悬停预览 tooltip](docs/screenshots/timeline-tooltip.png) ## 功能 - **横短横线时间轴**:只在用户输入的位置显示一条横向短横线,无消息处无线;条数等于**整个会话**的用户消息数,放得下时居中排布,放不下时时间轴内部滚动(无滚动条)。 - **全量统计(投影机制)**:通过 DSH sessionProjections 增量统计整个会话的用户消息与 AI 回复预览,持久化缓存保证刷新秒出、新消息实时更新;对长会话压力可控。 - **当前消息定位(scroll-spy)**:激活条始终对应右侧视口当前显示的那条用户消息;滚动右侧对话,激活条随之移动(手动滚动时间轴后保持不动,点击某条跳转后恢复跟随)。 - **波浪聚焦**:鼠标在时间轴上移动时,鼠标接近的那条变为激活色并变长,相邻条向上下递减,形成波浪效果。 - **圆角预览 tooltip**:悬停某条时立即显示圆角提示——第一行用户消息(黑色加粗、单行省略),下方 AI 回复(灰色、多行),时间贴在最后一行右下角;字体与右侧对话一致。窗口外的历史消息同样可以预览。 - **点击跳转**:点击任意横线,对话立即滚动到该次用户输入所在位置;窗口外(未加载)的历史消息会自动加载更早历史后跳转。 - **收起 / 展开**:第一条消息上方有一个悬停淡入的**胶囊把手**(点击收起;悬停时第一、二条灰色递减,胶囊扮演激活条角色)。收起后变成一条**全高细竖条**,常态隐藏,鼠标接近识别区域时淡入,点击展开。任何滚动位置,胶囊与最上方条目之间始终保留固定空白。 ## 安装 需要 DSH ≥ 0.1.0-rc(`dsh` CLI 已安装,web profile 含 sessionProjections 服务)。 ### 方式一:npm 安装(推荐) 已发布到 npm,预构建安装**无需 GitHub 构建授权**: ```sh dsh plugin --profile web add dsh-session-timeline ``` 然后启动(或重启)we

阅读完整 README仓库许可: MIT

dsh-session-timeline DSH 插件常见问题

如何安装 dsh-session-timeline?

推荐通过 npm 安装:运行 `dsh plugin --profile web add dsh-session-timeline`,然后重启 web 界面 `dsh web`。也可以从 GitHub 或本地目录安装,具体方法见 README。

时间轴在长会话中会不会很慢?

不会。该插件利用 DSH 的 sessionProjections 增量统计,并将结果持久化缓存。因此即使会话非常长,刷新后也能秒级渲染,新消息实时更新。

如何跳转到视口外未加载的历史消息?

直接点击时间轴上对应的横线。插件会自动加载更早的历史,然后滚动到该位置。即使消息当前不在可视窗口内,也能正常跳转。

可以隐藏时间轴吗?

可以。将鼠标悬停在第一条消息上方的胶囊把手上(淡入出现),点击即可收起时间轴。收起后变成一条细竖条,鼠标接近时淡出把手,点击可再次展开。

不用 npm 安装,直接动态加载会有什么限制?

可以通过 `cordis_define` 粘贴 `client.js` 代码动态加载,但此时没有宿主投影,因此全会话统计不可用,时间轴只对当前视口内的消息有效。