invalidnaaaame / dsh-scroll-timeline

已收录

DSH web plugin: ChatGPT-style scroll timeline on the chat sidebar — magnetic mountain hover, click to jump to user messages. Derived from vlln/dsh-navbar (MIT).

main其他 查看源代码

安装

npx -y @deepseek-ai/dsh plugin --profile web add github:invalidnaaaame/dsh-scroll-timeline

此安装命令根据 GitHub 仓库地址生成,是未经验证的安装起点。

README

维护者编写的文档快照。

在 GitHub 查看 ↗
提交版本 7d92d59同步于 2026年8月18日

dsh-scroll-timeline

A ChatGPT-style scroll timeline for the chat sidebar: a rail of horizontal bar nodes (one per user message) with magnetic mountain hover, hover preview, and click-to-jump.

license

English | 中文

An evenly spaced node rail on the right edge of the sidebar (one horizontal bar per user message) — the peak bar follows your reading position, hovering grows a magnetic "mountain" (design ratios 39/30/21/15/9; base and peak widths are adjustable via CSS variables), a hover preview card (6-line clamp), click-to-jump with smooth scrolling and a brand-blue highlight, full history always visible, and auto-hide when there are fewer than 2 user messages. Form factor: an official bundle plugin (dsh.bundle + dshClient channel, browser-only, empty Node half), 0 patches.

Derived from vlln/dsh-navbar (MIT, spec issue dsh-external/issues#144), with the interaction redesigned: horizontal bar nodes, magnetic mountain hover, sidebar-adjacent positioning, and full history.

Preview

dsh-scroll-timeline (left: reading-position peak bar; right: hover magnetic mountain)

Features

FeatureDescription
Scroll timelineVertical node rail on the right edge of the sidebar, one horizontal bar per user message (3px tall, 14px hit area)
Reading positionPeak bar (39px brand blue) follows the current reading position
Magnetic mountainWhile the pointer is over the rail, the nearest node becomes the peak and neighbors extend in progressively decreasing amounts (39/30/21/15/9)
Hover previewHovering a node shows a message preview card (6-line clamp, aligned with the official HoverCard look, opens to the right)
Click to jumpSmooth-scrolls to the message + brand-blue highlight ring
Full historyAlways shows every historical node; long sessions scroll within the container
Auto-hideHidden with fewer than 2 user messages or outside the chat page

Zero data-channel dependencies: driven only by the official anchor attribute (data-time-hover-root, user rows since 0806); no polling, no routes, no tools.

The base and peak widths can be tuned via CSS variables (on the rail container):

[data-dsh-navbar] {
  --dsh-navbar-base-w: 9px;  /* base width */
  --dsh-navbar-peak-w: 39px; /* peak width (hover/active) */
}

Install

Recommended: one-line git install (build artifacts are committed; git sources don't trigger a build):

dsh plugin --profile web add "github:invalidnaaaame/dsh-scroll-timeline#main"

Or from a local directory (with source): git clone, then cd dsh-scroll-timeline && dsh plugin --profile web add ..

After installing, restart web for it to take effect; the Settings → Plugins panel can disable/enable it.

Usage

Works out of the box; no commands, no tools. The timeline appears on the right edge of the sidebar in the chat (Chat) view; hover to preview, click to jump. Animations are disabled under prefers-reduced-motion.

Development

pnpm install
pnpm run build      # tsdown: client bundle (lib/client.js)
  • client: src/client/index.ts (self-rendered DOM + official anchor contract, no React dependency)
  • Node half: src/index.mjs (empty apply; the bundle mount carrier)

License

MIT. Derived from vlln/dsh-navbar (MIT, Copyright (c) 2026 Sam Gao (vlln)); see LICENSE.

项目文件与信号

以下项目是目录快照中检测到的公开仓库信号。

文档已检测

仓库信息

开发语言
TypeScript
许可证
MIT
最后更新
2026年8月14日 21:26

谨慎安装

请检查源代码、权限、生命周期脚本、依赖与网络访问;不受信任的插件应先在隔离环境中测试。