README
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.
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

Features
| Feature | Description |
|---|---|
| Scroll timeline | Vertical node rail on the right edge of the sidebar, one horizontal bar per user message (3px tall, 14px hit area) |
| Reading position | Peak bar (39px brand blue) follows the current reading position |
| Magnetic mountain | While 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 preview | Hovering a node shows a message preview card (6-line clamp, aligned with the official HoverCard look, opens to the right) |
| Click to jump | Smooth-scrolls to the message + brand-blue highlight ring |
| Full history | Always shows every historical node; long sessions scroll within the container |
| Auto-hide | Hidden 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.
更多「聊天与 IM」插件
voyager
作者 nagi-ovo
Enhancement suite for Gemini, AI Studio, Claude & ChatGPT — plus a prompt manager for any web UI, DeepSeek Harness included. / 面向 Gemini、AI Studio、Claude 与 ChatGPT 的增强套件;提示词管理器可用于任意 Web UI,含 DeepSeek Harness。
awesome-gpt-image-2
作者 freestylefly
Prompt as Code | GPT-Image2 工业级提示词引擎与模板库,470+ 个案例逆向工程,20+ 套工业级模板,并提炼出Skills,持续更新中
seewxapkg
作者 leslie-sss
极简实用的微信小程序反编译 Web 工具
dsh-lark-bot
作者 plutokeating
dsh-lark-bot:把 DeepSeek Harness (dsh) 桥接进飞书/Lark 的 bot:流式卡片、项目工作区、并行任务、多角色 Agent、跨会话通知、对话内模型/密钥管理与安全网守护(dsh 崩溃后飞书仍可自救)。A bridge bot connecting DeepSeek Harness (dsh) into Feishu/Lark: streaming cards, workspaces, parallel tasks, multi-role agents, cross-session notify, in-chat model/key management, and a safety-net guardian.
