XiLuovo/dsh-session-timeline
DeepSeek Harness 会话时间轴插件:横短横线波浪、当前消息定位、点击跳转、圆角预览 tooltip、可收起/展开
Project Overview项目介绍
dsh-session-timeline is a purpose-built plugin for the DeepSeek Harness (DSH) web platform, designed to add a horizontal timeline to the left side of chat sessions. The core function of the plugin is to help users quickly locate, jump to, and preview historical messages in long conversational threads. You can install the plugin via four different methods: from the public npm registry, directly from the GitHub repository, from a local directory for development, or dynamically in an active session for a quick test. You must have DSH version 0.1.0-rc or newer installed, with the sessionProjections service enabled in your web profile.
After installation, you just need to restart the DSH web service and open any chat session to see the timeline rendered on the left edge of the chat area. Each user message in the conversation gets a corresponding entry on the timeline, and you can hover over any entry to see a formatted tooltip preview of the user’s prompt and the AI’s response. Clicking an entry automatically scrolls the chat to that message, even loading older unloaded history if needed, and scrolling the chat updates the active entry on the timeline automatically. This plugin is ideal for DSH web users who regularly work with long multi-turn conversations.
The plugin is released under the permissive MIT open source license, so it is free to use, modify, and distribute. All core dependencies are provided by the DSH host environment as peer dependencies, with only the zod schema validation library bundled as a direct dependency. It is implemented entirely in vanilla JavaScript, so no extra build steps are required after installation or cloning. If you use the dynamic in-session loading method to test the plugin, note that it does not support full cross-session projection statistics, only basic interactions within the current loaded chat window.
这是一款专为 DeepSeek Harness(DSH)开发的原生插件,用于在DSH网页版会话左侧添加一条横向短横线时间轴,帮助用户在长会话中快速定位、跳转和预览历史消息。该插件支持四种安装方式,分别是npm安装、GitHub仓库安装、本地开发调试安装,以及会话内动态加载体验,要求DSH版本不低于0.1.0-rc,且web配置包含sessionProjections服务。
安装完成后重启DSH web,打开任意会话就能在对话区左侧看到时间轴。用户可以悬停时间轴上的条目查看该轮对话的用户提问和AI回复预览,点击条目就能直接跳转到对应消息位置,滚动对话时激活条会自动跟随当前位置,鼠标移动还会触发波浪聚焦效果,不需要时也可以点击胶囊把手收起时间轴。这款插件适合经常处理长会话的DSH网页版用户使用。
该插件采用MIT许可协议,完全免费开源。所有核心依赖都由DSH宿主提供,仅自带zod依赖用于投影数据校验,是纯JS实现,无需额外构建步骤即可使用。需要注意的是,如果使用会话内动态加载的体验方式,不支持全量会话统计功能,仅保留当前窗口内的基础交互能力。
请帮我安装这个 DSH 插件。安装前先完成【兼容性检查 + 安全性检查】,检查通过再动手。
插件:dsh-session-timeline(XiLuovo/dsh-session-timeline)
仓库:https://github.com/XiLuovo/dsh-session-timeline
本站详情页:https://www.yhbd.top/plugins/xiluovo-dsh-session-timeline/
本站登记:类型 plugin · 归类 原生 DSH 插件 · 许可证 MIT · ⭐ 4 · 最近提交 2026-08-24 · 主语言 JavaScript
按下面顺序执行,每步先把结论告诉我,再进入下一步:
【1 兼容性检查】
① 我这边:DSH 版本、Node 版本、操作系统、当前 profile(web / desktop)。
② 读它的 README、package.json、插件 manifest,列出它要求的 DSH 版本 / Node 版本 / 操作系统 / 外部依赖 / 需要另外先装的运行时。
③ 逐条比对,结论只写「满足 / 不满足 / 未知」三种;不满足的给出可行替代方案。
④ 检查是否和我已装的插件冲突:命令名重复、skill / tool 重名、端口占用、重复注册的 MCP server。
【2 安全性检查】
① 仓库可信度:和上面「本站登记」是否一致;star / fork 数、创建时间、最近提交,是否归档或长期停更。
② 安装脚本:逐行看 package.json 的 preinstall / install / postinstall,以及 install.sh、setup.ps1 之类脚本。出现 curl|bash、下载后直接执行、混淆代码、访问与插件功能无关的域名,立刻停下来告诉我,不要继续装。
③ 依赖:列出新增依赖,标出无人维护、或与知名包拼写近似的可疑包(typosquatting)。
④ 权限与副作用:它会读写哪些目录、访问哪些域名、需要哪些 DSH 权限(filesystem / network / shell / clipboard 等),以及怎么卸载和回滚。
⑤ 如果它要求 sudo / 管理员权限,或权限明显超出功能所需,先停下来问我。
【3 安装】
上面两步没有「不满足」和「高危项」时才执行;用官方推荐方式安装,不要自行提权。
【4 汇报】
用表格输出:检查项 / 结论 / 依据 / 是否需要我决策。拿不准的一律写「未知」并说明要我怎么确认——不要猜,也不要替我决定。
Send this message to DSH in your current session: it verifies compatibility and security first (answering met / not met / unknown item by item) and only installs once everything checks out — it will stop and ask you if it finds a high-risk item. The box scrolls; the copy is the full prompt. CLI install commands may not be accurate across systems, so DSH is the safer route.把上面这条消息直接发给当前会话里的 DSH:它会先核对兼容性与安全性(逐条给「满足 / 不满足 / 未知」),确认没问题再安装,有高危项会停下来问你。框内可滚动,复制到的是完整提示词;安装命令不一定准确,发给 DSH 更稳。
- Only 4 stars - very few users, little community feedback星标只有 4,几乎没人在用,遇到问题缺少社区反馈
DSH walks through these 9 checksDSH 会逐条核对这 9 项
Compatibility兼容性
- DSH, Node, OS and profile requirementsDSH 版本 / Node 版本 / 操作系统 / profile 是否满足要求
- External dependencies and runtimes (Electron / Python / Docker, ...)外部依赖与运行时(Electron / Python / Docker 等)是否齐备
- Conflicts with installed plugins: command names, skill / tool names, ports, duplicate MCP registration与已装插件是否冲突:命令名、skill / tool 重名、端口占用、重复 MCP 注册
Security安全性
- Repo matches the facts registered here; archived or abandoned?仓库是否与页面登记一致,是否归档或长期停更
- Safety of preinstall / install / postinstall and install.sh / setup.ps1preinstall / install / postinstall 与 install.sh、setup.ps1 是否安全
- curl|bash, download-then-execute, obfuscation, unrelated domains → stop immediatelycurl|bash、下载即执行、混淆代码、无关域名 → 立刻停止
- Typosquatting or unmaintained packages among the new dependencies新增依赖里有没有 typosquatting 或无人维护的包
- Requested permissions vs. what the feature actually needs申请了哪些权限、是否超出功能所需(filesystem / network / shell / clipboard)
- Any sudo / admin requirement, plus uninstall and rollback是否要求 sudo / 管理员权限,以及卸载与回滚方式
Anything uncertain must be marked unknown with a note on how to confirm it. This site's signal screen is a static snapshot, not a security audit.拿不准的必须标「未知」并说明要我怎么确认。本站的信号筛查是静态快照,不能替代安全审计。
Or use CLI install (for developers)或使用命令行安装(适合开发者)
CLI Install命令行安装
dsh plugin --profile web add dsh-session-timeline
把 XiLuovo/dsh-session-timeline 加入你的 DSH 配置(web profile)即可启用。
READMEREADME
dsh-session-timeline
English | 中文
DeepSeek Harness 会话时间轴插件:在会话左侧渲染一条横短横线时间轴,用于在长会话中快速定位、跳转和预览。
效果


功能
- 横短横线时间轴:只在用户输入的位置显示一条横向短横线,无消息处无线;条数等于整个会话的用户消息数,放得下时居中排布,放不下时时间轴内部滚动(无滚动条)。
- 全量统计(投影机制):通过 DSH sessionProjections 增量统计整个会话的用户消息与 AI 回复预览,持久化缓存保证刷新秒出、新消息实时更新;对长会话压力可控。
- 当前消息定位(scroll-spy):激活条始终对应右侧视口当前显示的那条用户消息;滚动右侧对话,激活条随之移动(手动滚动时间轴后保持不动,点击某条跳转后恢复跟随)。
- 波浪聚焦:鼠标在时间轴上移动时,鼠标接近的那条变为激活色并变长,相邻条向上下递减,形成波浪效果。
- 圆角预览 tooltip:悬停某条时立即显示圆角提示——第一行用户消息(黑色加粗、单行省略),下方 AI 回复(灰色、多行),时间贴在最后一行右下角;字体与右侧对话一致。窗口外的历史消息同样可以预览。
- 点击跳转:点击任意横线,对话立即滚动到该次用户输入所在位置;窗口外(未加载)的历史消息会自动加载更早历史后跳转。
- 收起 / 展开:第一条消息上方有一个悬停淡入的胶囊把手(点击收起;悬停时第一、二条灰色递减,胶囊扮演激活条角色)。收起后变成一条全高细竖条,常态隐藏,鼠标接近识别区域时淡入,点击展开。任何滚动位置,胶囊与最上方条目之间始终保留固定空白。
安装
需要 DSH ≥ 0.1.0-rc(dsh CLI 已安装,web profile 含 sessionProjections 服务)。
方式一:npm 安装(推荐)
已发布到 npm,预构建安装无需 GitHub 构建授权:
dsh plugin --profile web add dsh-session-timeline
然后启动(或重启)web:
dsh web
方式二:GitHub 安装
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 代码,cordis_run 启用。适合快速体验;注意动态方式没有 host 投影(全会话统计不可用),仅保留窗口内功能。
卸载
dsh plugin --profile web remove dsh-session-timeline
使用
打开任意会话,时间轴出现在对话区左侧:
| 交互 | 效果 |
|---|---|
| 悬停时间轴某条 | 显示该轮的用户消息 + AI 回复预览(圆角 tooltip) |
| 点击横线 | 跳转到对应消息(窗口外自动加载历史) |
| 鼠标在时间轴上移动 | 波浪跟随(激活条 + 长度递减) |
| 滚动时间轴 | 条目内部滚动(无滚动条),手动滚动后保持位置 |
| 悬停第一条上方的胶囊 | 胶囊淡入,第一、二条灰色递减 |
| 点击胶囊 | 收起时间轴 |
| 收起后悬停/点击竖条区域 | 竖条淡入 / 展开时间轴 |
依赖
完全建立在 DSH 宿主之上:
| 依赖 | 用途 | 来源 |
|---|---|---|
@deepseek-ai/dsh-client-runtime |
会话快照、useSessions、投影读取 faceOf | 宿主自带(peer) |
@deepseek-ai/dsh-client-ui-layout |
shell.overlay 浮层槽位 | 宿主自带(peer) |
@deepseek-ai/dsh-session-projection |
投影注册 + 事件流 fold + 持久化缓存 | 宿主自带(peer) |
zod ^4.4.3 |
投影 schema(数据校验) | 包自带(dependencies) |
DSH 主题 CSS 变量(--dsw-alias-*) |
亮暗主题自适应 | 宿主 |
开发说明
- client.js:纯 JS UI(波浪、scroll-spy、tooltip、胶囊、内部滚动),无构建步骤,修改后直接提交;
- index.js:投影 fold 数学(
init/apply/view+ 紧凑截断)。修改投影状态结构时必须 bumpstateVersion,否则旧持久化缓存会被错误复用; - 浏览器半部通过
exports["./client"]被发现,dsh.client声明了运行依赖; - 插件只读
sessions.binding(sessionId).session快照、投影与 DOM 锚点(data-chat-anchor-key),不修改会话数据。
License
MIT
liangmianya/dsh-synapse
alaliqing/claude-paper
acryldev/acryl
omdsh-dev/dsh-annotation
Anionex/dsh-turn-rewind
Tyan66666/billion-context-dsh
qkycir-123/dsh-run2skill