Luoji-Yuli
dsh-turn-rail
The DeepSeek Harness History Jump Sidebar that mimics the official DeepSeek website design.模仿DeepSeek官网样式的DeepSeek Harness对话时间轴.
- Stars
- 0
- Language
- TypeScript
- Created
- Aug 16, 2026
- Updated
- Aug 16, 2026
Introduction
dsh-turn-rail
English | 中文
A right-side session turn navigation rail for DeepSeek Harness Web, replicating the DeepSeek official website chat page style:
- Collapsed: a 34px rail at the right edge; one small gray marker per user turn, the active turn is blue and stretched. The frosted rounded background is opt-in and off by default — see the toggle section below.
- Hover / keyboard focus: expands into a 240px floating panel with one row per user message.
- scrollspy keeps the active marker in sync while scrolling.
- Opening a session auto-pages older history, so every historical turn appears in the rail without manual scrolling.
Screenshot

One-line install
Prerequisite: DeepSeek Harness Web is installed and running (npx @deepseek-ai/dsh web or pnpm dsh web), and both dsh and pnpm are on PATH.
dsh plugin --profile web add github:Luoji-Yuli/dsh-turn-rail
A successful install prints + @deepseek-ai/dsh-turn-rail ....
If dsh web is running, restart it and refresh the page.
Local directory install (development):
dsh plugin --profile web add link:./dsh-turn-rail
Start
dsh web
Open http://127.0.0.1:3080 and hard-refresh with Ctrl + F5. Open any session with at least 2 user messages; the rail appears at the right edge of the page.
Frosted background toggle
The collapsed rounded frosted background is off by default.
- Open DeepSeek Harness Web and go to Settings → General.
- Find the row Turn rail frosted background.
- Toggle it on: the frosted rounded background shows in both light and dark themes.
- Toggle it off: no background in either theme (markers only).
Uninstall
dsh plugin --profile web remove @deepseek-ai/dsh-turn-rail
Repository layout
dsh-turn-rail/
package.json # declares both dsh.bundle and dsh.client
cordis.patch.yml # inserts one plugin row into the web profile
docs/
screenshot.png # UI screenshot
lib/
index.js # host-side no-op plugin (so the loader can import it)
client.js # prebuilt browser bundle (works out of the box)
types/ # TypeScript declarations
src/ # plugin source (browser component + host no-op)
tests/ # component tests
tsconfig.json # TS config used when building inside the deepseek-harness monorepo
tsdown.config.ts # bundle config used when building inside the deepseek-harness monorepo
Building from source
This repo ships a prebuilt lib/client.js, so normal installs do not need a build step.
After editing files under src/, mirror them into the deepseek-harness monorepo at:
packages/client/ui-turn-rail/
Then run:
pnpm install
pnpm --filter @deepseek-ai/dsh-turn-rail run bundle
Commit the regenerated lib/client.js back to this repo.