XiLuovo/dsh-session-timeline ↗★ 2
dsh-session-timeline
DeepSeek Harness 会话左侧虚线时间轴:横短横线波浪、当前消息定位(scroll-spy)、点击跳转、圆角预览 tooltip、可收起/展开。
安装
$
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:XiLuovo/dsh-session-timeline说明文档
阅读完整 README ↗dsh-session-timeline
English | 中文
DeepSeek Harness 会话时间轴插件:在会话左侧渲染一条横短横线时间轴,用于在长会话中快速定位、跳转和预览。
效果


功能
- 横短横线时间轴:只在该次用户输入的位置显示一条横向短横线(浅灰),无消息处无线;所有条固定间距(14px)、条数等于整个会话的用户消息数,放得下时聚拢居中,放不下时时间轴内部滚动(无滚动条)。
- 全量统计(投影机制):通过 DSH sessionProjections 增量 fold 整个会话的用户消息 + AI 回复预览,持久化缓存保证刷新秒出、新消息实时更新;消息文本按紧凑档截断(用户消息 60 字符 / 回复 160 字符),长会话压力可控。
- 当前消息定位(scroll-spy):左侧激活条始终对应右侧视口当前显示的那条用户消息;滚动右侧对话,左侧激活条随之移动(用户手动滚动时间轴后保持不动,点击某条跳转后恢复跟随)。
- 波浪聚焦:鼠标在时间轴上移动时,鼠标接近的那条变为激活色并变长(12→30px),相邻条长度向上下递减,约 2.5 条之外恢复原长,形成波浪效果。
- 圆角预览 tooltip:鼠标移到某条时立即显示圆角 tooltip——第一行用户消息(黑色加粗、单行省略),下方 AI 回复(灰色、最多 3 行),时间贴在最后一行右下角;字体与右侧用户消息一致(16px),宽度约 20 个中文字。窗口外的历史消息也能预览(来自投影缓存)。
- 点击跳转:点击任意横线,对话立即滚动到该次用户输入所在位置;窗口外(未加载)的历史消息会自动加载更早历史后跳转。
- 收起 / 展开:第一条消息上方 1.3 倍间距处有一个悬停淡入的胶囊把手(点击收起;悬停时第一、二条灰色递减,胶囊扮演激活条角色)。收起后变成一条全高细竖条,常态隐藏,鼠标接近识别区域时淡入,点击展开。任何滚动位置,胶囊与最上方条目之间保持 1.3 格空白。
安装
需要 DSH ≥ 0.1.0-rc(dsh CLI 已安装,web profile 含 sessionProjections 服务)。
方式一:bundle 安装(推荐)
dsh plugin --profile web add github:XiLuovo/dsh-session-timeline
然后启动(或重启)web:
dsh web
本包是纯 JS 实现,
client.js即最终 bundle 产物,无需 prepare 构建脚本,GitHub 直接安装即可用。
方式二:本地目录安装(开发调试)
git clone https://github.com/XiLuovo/dsh-session-timeline.git
dsh plugin --profile web add ./dsh-session-timeline
dsh web
方式三:会话内动态加载(快速体验,不落盘)
在 DSH Web 会话中让 agent 执行 cordis_define,粘贴 client.js 的内容作为 client 代码, 启用。适合快速体验;注意动态方式没有 host 投影(全会话统计不可用),仅保留窗口内功能。