Skip to content
dsh-market Browse plugins GitHub 中文

jjxjjjjiik-bot/dsh-chat-timeline

1:1 port of DeepSeek's official web right-side chat navigation rail (ScrollNav): hover-expandable rail, reading-position highlight, click-to-jump.

Stars ★ 15 Category UI Enhancements Listed 2026-08-14 npm dsh-chat-timeline

Install

Inside DeepSeek Harness, with dsh-market

dsh plugin --profile web add dshmarket

Or from the command line

dsh plugin --profile web add dsh-chat-timeline

Installing runs third-party code with your own permissions — it can read your files, use your credentials and reach the network. Review the source first, and pin a commit (github:owner/repo#sha) when you can.

README

English | 简体中文

⭐️ If you find this plugin helpful, please consider giving it a free Star! Your support is the greatest motivation for continuous maintenance~

A 1:1 port of the official DeepSeek web app's right-side conversation navigation rail (ScrollNav) as a DeepSeek Harness (DSH) plugin — the exact ScrollNav UI/UX from chat.deepseek.com's shipped client, brought to your DSH Web chat.

Not affiliated with, endorsed by, or sponsored by DeepSeek.

Preview

Features

  • Always-visible right rail — slim fixed vertical rail; every user-sent message appears as one indicator line, exactly like the official collapsed state
  • Full light & dark theme adaptivity — 1:1 pixel-perfect port of DeepSeek official themes: crisp grey indicator lines and frosted white glass panel in light mode, immersive dark theme in dark mode
  • Hover to expand — panel reveals message previews; the item nearest your reading position is highlighted in brand blue, tracking scroll in real time
  • Click to jump — smooth-scrolls to the message, loading older history on demand
  • Dynamic workbench avoidance — detects right-side workbenches or sidebars (e.g., aionui) and automatically shifts to align with the conversation scrollport
  • Auto-hidden — disappears when the session has fewer than 2 user messages
  • Mobile adaptation — auto-hidden at viewport width ≤ 767px so it never occludes the conversation on phones; restores automatically on rotate/resize
  • Accessible — ARIA labels + prefers-reduced-motion support

How it works

The host half registers the dshChatTimeline session projection that durably enumerates all user-sent messages; the client half renders the TimelineRail component (mounted in the conversation.input.dock slot, portal-rendered to body). Data sources, fastest first: projection → loaded chat nodes → background loadOlder loop.

Install

Method 1: DSH / NPM One-command install (Recommended)

Run in your terminal (installs directly from npm and registers configuration):

dsh plugin --profile web add dsh-chat-timeline

Or:

dsh plugin add dsh-chat-timeline

After installation, restart dsh web and refresh your browser.


Method 2: One-click script (Windows)

  1. Download this repo (green Code button → Download ZIP, or git clone)
  2. Double-click install.bat — the script copies the plugin, registers the config, and runs pnpm install automatically
  3. Restart dsh web and refresh the browser

The script is idempotent: re-running it won't re-install.


Method 3: Manual install (other platforms or local development)

  1. Copy the plugin to $DSH_HOME/profiles/web/plugins/dsh-chat-timeline/ ($DSH_HOME is usually ~/.dsh)
  2. Add "dsh-chat-timeline": "file:plugins/dsh-chat-timeline" to profiles/web/package.json, then run pnpm install
  3. Add to profiles/web/cordis.patch.yml:
    - insert:
        - id: chat-timeline
          name: dsh-chat-timeline
    
  4. Restart dsh web and refresh the browser

Architecture reference

  • Layout/CSS: 1:1 port of the official ScrollNav (extracted from the shipped main.css), re-scoped under the dsct_ prefix
  • Plugin architecture: modeled on asukasec/dsh-message-preview (MIT)

License

MIT — see LICENSE. "DeepSeek" is a trademark of its owner; this project is not affiliated with DeepSeek.

Content from the project README on GitHub ↗