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-motionsupport
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)
- Download this repo (green Code button → Download ZIP, or
git clone) - Double-click
install.bat— the script copies the plugin, registers the config, and runspnpm installautomatically - Restart
dsh weband refresh the browser
The script is idempotent: re-running it won't re-install.
Method 3: Manual install (other platforms or local development)
- Copy the plugin to
$DSH_HOME/profiles/web/plugins/dsh-chat-timeline/($DSH_HOMEis usually~/.dsh) - Add
"dsh-chat-timeline": "file:plugins/dsh-chat-timeline"toprofiles/web/package.json, then runpnpm install - Add to
profiles/web/cordis.patch.yml:- insert: - id: chat-timeline name: dsh-chat-timeline - Restart
dsh weband refresh the browser
Architecture reference
- Layout/CSS: 1:1 port of the official ScrollNav (extracted from the shipped
main.css), re-scoped under thedsct_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.