dsh-session-timeline:在 DSH Web 会话左侧加一条可跳转时间轴

前言

长会话里要回到某一轮用户输入,靠滚动和手动查找会打断阅读。下面介绍 dsh-session-timeline。它是 XiLuovo 维护的一个 DSH 会话时间轴插件,在会话左侧渲染一条横短横线时间轴,用于在长会话中快速定位、跳转和预览。

DSH 的理念是「一切皆插件」。这个插件发布在独立社区目录中,不是官方应用商店,与 DeepSeek / 幻方没有官方从属关系。

这是什么

dsh-session-timeline 是面向 DSH web 平台的插件,维护者是 XiLuovo,许可证为 MIT。

它解决的问题比较直接:在对话区左侧生成一条横向短横线时间轴,让长会话中的用户输入位置可以被看到、预览和点击跳转。

核心功能

横短横线时间轴

时间轴只在用户输入位置显示横向短横线。时间轴条数等于整个会话的用户消息数。

滚动时间轴时,条目内部滚动,且没有滚动条。

全量统计与缓存

插件通过 DSH sessionProjections 增量统计整个会话的用户消息与 AI 回复预览,并持久化缓存。

当前消息定位与波浪聚焦

插件提供 scroll-spy:激活条跟随右侧视口当前显示的用户消息。

鼠标在时间轴上移动时,会产生波浪聚焦效果。

悬停预览与点击跳转

悬停某条时,会显示圆角预览 tooltip,内容包括该轮用户消息和 AI 回复。

点击任意横线,对话会跳转到对应用户输入位置;如果目标消息还在窗口外,会先自动加载更早历史,再跳转。

收起与展开

第一条消息上方有一个胶囊把手。悬停时胶囊淡入,点击可以收起时间轴。

收起后,时间轴变成一条全高细竖条。悬停或点击竖条区域时,竖条淡入或展开时间轴。

安装与启用

先确认环境满足以下要求:

DSH ≥ 0.1.0-rc
dsh CLI 已安装
web profile 含 sessionProjections 服务

推荐用 npm 安装。执行:

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

安装完成后,启动或重启 web:

dsh web

该包是纯 JS 实现,client.js 是最终 bundle 产物,不需要 prepare 构建脚本。

卸载时使用:

dsh plugin --profile web remove dsh-session-timeline

典型用法

经过上面的步骤,打开任意会话后,时间轴会出现在对话区左侧。

1、悬停时间轴某条,查看该轮的用户消息和 AI 回复预览。
2、点击横线,跳转到对应消息;窗口外历史会自动加载。
3、鼠标在时间轴上移动,激活条和长度递减形成波浪跟随。
4、滚动时间轴,条目内部滚动且无滚动条。
5、悬停第一条上方的胶囊,胶囊淡入;点击胶囊收起时间轴。
6、收起后悬停或点击竖条区域,竖条淡入或展开时间轴。

如果只想快速体验,也可以使用会话内动态加载:在 DSH Web 会话中让 agent 执行 cordis_define,粘贴 client.js 的内容作为 client 代码,再执行 cordis_run 启用。动态加载方式没有 host 投影,全会话统计不可用,仅保留窗口内功能。

适用场景与注意

适合在 DSH Web 中使用长会话、需要频繁回看或跳转的用户和插件作者。

注意以下几点:

  • DSH 插件以当前 dsh 进程权限运行;安装前应检查源码与许可证。本插件许可证为 MIT。
  • 插件声明 platform 为 web,并通过 dsh.client inject 宿主运行时与 UI layout。
  • 插件只读 sessions.binding(sessionId).session 快照、投影与 DOM 锚点(data-chat-anchor-key),不修改会话数据。
  • 动态加载方式没有 host 投影,全会话统计不可用,仅保留窗口内功能。
  • 修改投影状态结构时,必须 bump stateVersion,否则旧持久化缓存会被错误复用。

依赖声明如下:

@deepseek-ai/dsh-client-runtime
@deepseek-ai/dsh-client-ui-layout
@deepseek-ai/dsh-session-projection
zod ^4.4.3

结尾

dsh-session-timeline 把长会话中的用户输入位置集中到左侧时间轴上:横短横线定位、scroll-spy、悬停预览、点击跳转、收起/展开,都是可直接操作的功能。如果你需要在 DSH Web 里更快回到某一轮对话,可以先安装试一下。

目录页:

https://www.skillhub.cn/plugins/XiLuovo/dsh-session-timeline

GitHub:

https://github.com/XiLuovo/dsh-session-timeline
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜