DeepSeek Harness Plugin Hub

Publish and manage complete Harness Profiles. Discover Plugins for your next setup.

Explore

PluginsPresetsDocsNews

Community

Publish a pluginContactReport an issue

Resources

Plugin Hub on GitHubDeepSeek HarnessSystem statusPrivacy notice
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

Independent and unofficial. Not affiliated with, authorized by, or endorsed by DeepSeek.

Turnbar — DSH Plugin for DeepSeek Harness
DeepSeek Harness Plugin Hub
ProfilesPluginsCategoriesNewsDocsSign inManage Profiles
ProfilesPluginsCategoriesNewsDocsSign in
← Plugins

dsh-turnbar

Turnbar

A progress bar for your agent conversations — in-session turn navigation with hover previews, context fuel gauge, chapters, trajectory jump and ⌘K search for DeepSeek Harness

The plugin will be installed here. Keep web if you are unsure.

npx -y @deepseek-ai/dsh plugin --profile web add dsh-turnbar@0.3.3
READMECompatibilityVersions

Compatibility and provenance

Turnbar is published as dsh-turnbar and currently resolves to version 0.3.3. The Hub verifies its manifest and preserves the exact installation source for reproducible installs.

DSH compatibility
*
Runtime surfaces
web
Release source
npm
Registry updated
9/20/2026

Versions

0.3.3stable
9/16/2026
0.3.0stable
8/18/2026
0.2.3stable
8/17/2026
Show 3 more versionsCollapse versions
0.2.2stable
8/16/2026
0.2.1stable
8/16/2026
0.2.0stable
8/16/2026
Latest
0.3.3
DSH
*
HMR
Process restart
Tree shaking
Safe tree shaking not declared
Unpacked size
1.1 MB
Files
17
Surface
web
License
MIT
Source
npm
GitHub
★ 0
Weekly downloads
248
Security scan
✓ v0.3.3 scan passed
Last push
9/16/2026
View source ↗Project homepage ↗
README badge

Click the badge to copy Markdown for your README.

Do you maintain this Plugin?Claim benefit · Priority security scan

Verify the GitHub repository declared in package.json to manage this listing. After you claim it, Hub will prioritize a security scan of the current version and publish the result when it passes.

Claim this Plugin →
Report an issue

README

dsh-turnbar

English | 简体中文

A progress bar for your agent conversations.

Long agent sessions are productive — until you need to find that one requirement you mentioned 80 turns ago. Native scrollbars make you guess and re-scroll. dsh-turnbar gives your DeepSeek Harness chat a video-style progress bar: hover to preview any turn, drag to scrub, click to jump, Esc to come back.

hover preview

scrub, hover cards, and ⌘K search landing on the bar

Install

Three ways, pick one:

① Plugin market (easiest): open dshmarket inside dsh, search "turnbar", one click (listing pending; until it lands, use the options below).

② Command line: open your macOS Terminal app and paste:

dsh plugin --profile web add dsh-turnbar

This runs in the Terminal app, not in the dsh chat box. If your terminal doesn't know the dsh command (dsh --version says command not found — you never installed dsh globally, e.g. you use a desktop build or let your AI launch it), install it first:

npm install -g @deepseek-ai/dsh

③ Ask your AI: just tell your agent "install dsh-turnbar for me" — it runs the same command on your machine, exactly how you've been installing your other plugins.

Restart dsh afterwards. Zero config; historical sessions are backfilled automatically and the bar always shows the whole conversation.

jump to a turn

Features

  • 🎚 Full-map progress bar — every turn is a segment; the playhead highlights the segment you're reading. 150+ turns aggregate into ≤40 groups so the bar never becomes a mess.
  • 🖼 Hover preview cards — see who said what before you jump: the turn's first lines, tool-call count, file edits, token usage, and steering messages. Terminated empty turns are dimmed and labeled 「该轮已终止,无对话内容」instead of pretending to have content.
  • 🔎 In-conversation search — the magnifier button at the bar's right edge or ⌘K opens it. Search everything the agent said or you said, across the whole session (including history beyond what's loaded); results show a count, arrow keys scroll the highlight into view, Enter lands the pick on the bar. Results are also drawn on the bar itself — matching turns glow amber, so a query like "TypeScript" shows you at a glance where in the conversation it lives (v0.3).
  • ⛽ Context fuel gauge — hover any turn to see the context window occupancy at that moment ("上下文 62% · 余 38k"), with color escalation at 80%/95%. When the latest turn passes those thresholds, the bar's tail edge glows amber, then red — you notice the tank is nearly empty without even hovering (v0.3).
  • 📑 Chapter ticks — /goal rounds are marked as thin ticks on the bar, so a long session gets visible "milestones" without any manual bookkeeping (v0.3).
  • 🧭 Trajectory view jump — ⌘/Alt + click a segment opens the official Trajectory view and scrolls to that turn's row, centered and highlighted. Falls back to a normal in-chat jump when trajectory is unavailable (v0.3).
  • ⤴ Click / drag to jump — click a segment to land in ≤300 ms; press and drag to scrub through turns like a video timeline. Jumps across unloaded history page it in automatically.
  • ⌨️ ⌘↑ / ⌘↓ — hop one turn at a time from where you're reading; empty turns are skipped automatically.
  • ↩ Esc to return — after any jump, Esc (or the toast) takes you back to exactly where you were.
  • 🧩 Graceful degradation — if your dsh version changes APIs, dsh-turnbar hides itself instead of breaking your session.

Why yet another navigation plugin?

Nine navigation plugins appeared in dsh's first four days — all of them are rails, drawers, or dot chains: a list of user messages you click through. dsh-turnbar is the only one shaped like a video player:

dsh-turnbardsh-navbardsh-chat-timelinedsh-message-navigatordsh-conversation-outlinedsh-codex-timelinedsh-outlinedsh-chat-outlinedsh-message-previewdsh-turn-marks
Formfull-map bar, always visiblesliding dot windowofficial-rail clone (right rail)outline drawersidebar outline tableft rail (Codex-style)outline overlayleft sidebar outlineright-edge navigatorleft-turn strip
Whole-conversation map (beyond loaded window)✅ event log❌❌❌❌⚠️ auto-loads history❌⚠️ full mode on demand❌❌
Drag scrub✅❌❌❌❌❌❌❌❌❌
Rich hover meta (tools/files/tokens)✅❌❌❌❌⚠️ latency/tok-s only❌❌✅ preview✅ preview
Context fuel gauge (window occupancy)✅ from usage events❌❌❌❌❌❌❌❌❌
Search (whole conversation incl. assistant)✅ + results on the bar❌❌user msgs only❌⚠️ local browser-only⚠️ headings/keywords⚠️ keyword filter❌❌
Chapter ticks (/goal milestones)✅❌❌❌❌❌⚠️ markdown headings❌❌❌
Trajectory view jump✅ ⌘/Alt+click❌❌❌❌❌❌✅ Ctrl/Shift click❌❌
Esc return✅❌

All of them are MIT and genuinely useful — dsh-turnbar just goes further on the feel: it's a video player, not a list. See also Companions below.

Companions

  • dsh-rewind — roll the conversation back to an earlier turn (jump over, then rewind).
  • dsh-turn-fold — collapse tool-call storms; its per-turn stats pair well with our preview cards.

Acknowledgements

Built on paths others paved first — with gratitude:

  • @vlln's dsh-navbar — the hover-preview / click-to-jump DOM patterns and the wheel+scrollTop jump recipe;
  • @YesSanSan's dsh-conversation-outline — the host↔client same-origin JSON bridge pattern and its invaluable PLUGIN_DEV_NOTES.md;
  • the DeepSeek Harness team — official slots, session event streams, and persistence APIs that let this plugin take the paved road end to end, zero patches.

Compatibility

Tested against dsh 0.1.5-rc.1 (web profile, handle-based persistence open/read/close) and 0.1.0-rc.7 (one-step inspect/readRaw persistence). Both persistence generations are auto-detected at runtime, so history backfill works on either. Works with the official web UI's conversation.composer.dock slot; no patches, no UI hacks — which is the point: upgrading dsh does not require uninstalling dsh-turnbar first. The one plugin that does require that dance is dsh-codex-timeline: it pins an exact dsh commit by replacing the official conversation adapter, so the upgrade checklist says "uninstall before upgrading". Different trade-off, stated plainly.

Coexists with other plugins that share the same composer.dock slot — dsh-web-ui-all and its included dsh-live-stats / dsh-aionui-panel. A built-in co-existence CSS layer (v0.2.2+) forces the dock into a wrapping row so the TurnBar always owns its own full-width line while the official StatsLine sits beside any third-party entries, so the bar is never squeezed sideways. Single-turn sessions now show a one-segment progress bar too (only brand-new 0-turn sessions stay hidden).

dsh versionstatus
0.1.5+ (web, handle-based persistence)✅ full features
0.1.0-rc.5 – 0.1.1-rc.x (web, inspect/readRaw)✅ full features (legacy chain)
older / non-web profilesplugin stays inert; nothing breaks

Roadmap

  • Next: task-boundary chapters (beyond /goal), bookmarks, trajectory ↔ chat round-trip polish.

Development

pnpm install
pnpm test        # vitest (fold logic, card model, host-half degradation)
pnpm build       # tsdown: lib/index.mjs (node half) + lib/client.js (web half)

Architecture: a dual-half plugin — the node half folds the session/event firehose into per-turn records (persisted sidecar), serves them over /plugins/dsh-turnbar/state; the web half renders the bar into the official composer dock slot. All dsh API contact is confined to src/platform/dsh/.

License

MIT — same as dsh.

❌
❌
❌
❌
❌
❌
❌
❌
Survives dsh upgrades✅ official slot + graceful degradation✅✅✅⚠️ via better-sidebar❌ pins an exact dsh commit, uninstall before upgrading✅✅✅✅