dshbase

Plugin directory / UI & Skins / dsh-turn-navigator

dsh-turn-navigator

Verified · install-tested on dsh vibeinging

✓ Actively maintained Builds on 6 official DSH packages Pure TypeScript

View on GitHub ↗ ← Back to plugin directory

1Stars
2Forks
0Open issues
TypeScriptLanguage
2026-08-12Last push
Cross-platformPlatform

What it does

Private DSH Web turn navigation plugin.

✅
Our take
Works — verified, early-stage project

Private DSH Web turn navigation plugin. It installs cleanly and boots without issues in our testing. It's early-stage but functional.

“Verified” means our automated CI actually ran dsh plugin add in a clean profile and it booted — nothing more. Feature descriptions and version compatibility are the author’s claims. This is not a security audit and not an endorsement of third-party code.

README

@deepseek-ai/dsh-turn-navigator

English | 中文

A compact turn navigator for long DSH Web conversations. It follows the conversation scroll, previews a user turn on hover, and jumps to that turn on click. It stays hidden until the conversation contains at least three user turns.

Preview

The compact turn navigator highlighting the fourth turn and showing its hover preview.

It supports keyboard focus, light and dark themes, and reduced-motion preferences. When needed, it loads only enough older history to decide whether the navigator should appear without moving the reader's current position.

Installation

The plugin is private and not published. Its private repository is dsh-external/dsh-turn-navigator, but the repository remains empty until the first reviewed push. Use the local installation path until a reviewed commit is available, then start Web:

dsh plugin --profile web add -w "/path/to/dsh-turn-navigator"
dsh web

After the first reviewed commit is pushed, install that exact private revision with:

dsh plugin --profile web add -w github:dsh-external/dsh-turn-navigator#<reviewed-commit>

The checked-in lib/ output installs without rebuilding. A compatible DSH Web version is required. To remove the plugin:

dsh plugin --profile web remove -w @deepseek-ai/dsh-turn-navigator

Required DSH Web slot

This plugin registers into conversation.chat.navigator; it does not own or render that slot. A compatible DSH Web build must ship the same contract in both the host runtime and the official private client SDK declarations. A plugin-local type augmentation is not a substitute: it could make TypeScript pass while a host that does not render the slot silently shows no navigator.

Add the slot in the owning @deepseek-ai/dsh-client-ui-conversation package at these points:

  1. In the slot contract, declare a session-scoped single slot whose owner supplies anchored older-history loading, and include it in the chat view's PropsRenderSlots union:
export interface TurnNavigatorOwnerProps {
  loadOlder: () => void
}

interface SlotMap {
  'conversation.chat.navigator': {
    kind: 'single'
    scope: 'session'
    owner: TurnNavigatorOwnerProps
  }
}
  1. In the chat view registration, claim the child slot with the same kind and scope:
children: {
  'conversation.chat.navigator': { kind: 'single', scope: 'session' },
}
  1. In the chat view component, render the slot beside the transcript scroll container and pass the callback that preserves the current reading row while older history is prepended:
{renderSlot('conversation.chat.navigator', { loadOlder: loadOlderAnchored })}
  1. Cover declaration and disposal, render dispatch, and anchored older-history loading in the host package tests, then publish a matching private SDK version for @deepseek-ai/dsh-client-ui-conversation and its aligned client peers. A source-only host change does not unblock an external plugin that develops only against official registry packages.

Development and verification

The project .npmrc selects the private @deepseek-ai/* scope; pnpm 11 reads its ${NPM_TOKEN} authentication mapping from the trusted user-level ~/.npmrc. The SDK packages are pinned to the reviewed 0.0.1-rc.2 set. Set NPM_TOKEN, install without lifecycle scripts, then run the checks:

pnpm install --ignore-scripts
pnpm run check

Do not link a DSH source checkout into this directory. Use pnpm run watch beside dsh web --dev for live browser changes. See compat/ for the isolated assembled Web fixture.

Model Experience

None. The plugin only renders existing conversation data in the browser.

KV Cache effect

None.

Known Limitations and Deferred Work

  • The private 0.0.1-rc.2 SDK does not yet declare the required conversation.chat.navigator slot, so the full development check remains blocked until a matching official SDK release. Do not add a local type shim; the installation target must provide the real slot.
  • Only loaded history receives markers; earlier turns appear after older history is loaded.
  • Previews show text only.

Install

🧩 Let your agent install it (recommended)

Install the catalog once, then DeepSeek Harness can find and install any plugin from this site automatically:

dsh plugin add dshbase-catalog

Then say "install dsh-turn-navigator for me" — your agent finds it in the directory and installs it. Docs: dshbase-catalog · verified packs.

This plugin is GitHub source (not published to npm) — install it straight from the repo:

Web profile:

dsh plugin --profile web add github:vibeinging/dsh-turn-navigator

Headless (CLI) profile:

dsh plugin --profile headless add github:vibeinging/dsh-turn-navigator
⚡ Prebuilt copy available — skip the build step, install the compiled version directly:
dsh plugin --profile web add https://dshbase.com/builds/deepseek-ai-dsh-turn-navigator-0.0.1.tgz

Test report

Verified: L1 install + L2 load + L3 runtime from GitHub source on dsh 0.1.0-rc.6.

When to use it

Change how dsh looks or how you interact with it — a theme, a skin, or a new panel that reshapes the workspace.

Who it's for

Users who spend hours in the web UI and want it to look and feel the way they work.

For developers — extending it

Skins, panels, and theme tokens are the extension points — author a new skin, add a panel, or sync tokens with an upstream palette.

Security: not yet scanned — our daily static scan will cover it shortly.

Share this badge

More in UI & Skins

Browse all 7797 plugins →