DSH Hub

xiaheng1/dsh-turn-nav

dsh-turn-nav

UIWeb UI0 GitHub stars· updated 2026-08-21

dsh-turn-nav is a community DeepSeek Harness plugin. Read the repository README before installing.

Install

npx @deepseek-ai/dsh plugin --profile web add git+https://github.com/xiaheng1/dsh-turn-nav.git

Restart `dsh web` after install. Bundle APIs can change during the developer preview.

README badge

dsh-turn-nav DSH Hub badge
[![DSH Hub](https://dshhub.dev/badge/dsh-turn-nav.svg)](https://dshhub.dev/plugins/dsh-turn-nav)

Paste this into your README. The star count updates with every catalog sync.

From the README

Excerpt from xiaheng1/dsh-turn-nav, cleaned of badges and images.

dsh-turn-nav

English | 中文

⚠️ AI-generated notice: This plugin was AI-assisted. Test it in a safe environment before production use.

Turn histogram navigation rail for DeepSeek Harness Web with mixed, DeepSeek, and Codex visual variants.

Unfocused turns render as short bars on the right edge of the conversation. Hovering or keyboard-focusing a bar grows it into a wave (the focused bar is longest) and shows a preview card with the message you sent in that turn. While sweeping along the rail, the preview card stays visible and smoothly slides to the active bar, showing that turn's message text. Clicking a bar smooth-scrolls the conversation to that turn.

Install

dsh plugin --profile web add git+https://github.com/xiaheng1/dsh-turn-nav.git
dsh plugin --profile web install

Then restart dsh web and hard-refresh the browser (Ctrl+F5).

For a local folder:

dsh plugin --profile web add <absolute-path-to-this-folder>
dsh plugin --profile web install

Usage

  1. Open a workspace and a conversation.
  2. Move the pointer over the right-edge rail: the bar under the pointer grows, adjacent bars form a wave, and a shared preview card smoothly slides to the active bar showing that turn's message.
  3. Click a bar to smooth-scroll to that turn.

The rail hides on narrow screens (max-width: 767px) by default; set hideOnNarrow: false to keep it visible.

Configuration

The quickest way to change defaults is to edit dsh-turn-nav.config.json in the repository/package root. The plugin reads it at startup as the base layer; if the file is missing, built-in defaults are used. Only include the fields you actually want to pin — visual dimensions left out fall back to the active variant's own defaults, so switching variant re-baselines on that variant's look instead of inheriting the previous one's (e.g. switching to codex without pinning barWidth yields the codex 6px resting tick, not the mixed 12px bar).

For per-deployment overrides, the plugin also registers a dsh-turn-nav settings namespace. Edit $DSH_HOME/settings.yaml (or settings.json) to override defaults:

dsh-turn-nav:
  waveTransitionMs: 120
  barWidth: 14
  focusedBarWidth: 30
  previewEnabled: true

You can also read and update the effective config from the browser console:

// Read the currently effective config.
dshTurnNav.getConfig()

// Update one or more fields (takes effect immediately in this session; it is
// not written back to the settings document — edit dsh-turn-nav.config.json
// or settings.yaml to persist).
dshTurnNav.updateConfig({ waveTransitionMs: 120 })

// Clear all user overrides and return to defaults.
dshTurnNav.resetConfig()

If a field is not configured, the variant-specific recommended default is used (mixed, deepseek, and codex each have their own baseline). The defaults keep the original short-bar feel while making the focused wave softer and rounder.

Variants

Set variant to choose the visual style:

Related plugins