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.

DeepSeek Harness Plugin Hub
ProfilesPluginsCategoriesNewsDocsSign inManage Profiles
ProfilesPluginsCategoriesNewsDocsSign in
← Plugins
S

dsh-starred-turns

Starred Turns

Bookmark turns from the conversation's right-edge turn rail by right-clicking them; bookmarked dashes grow longer and take the accent colour so a specific turn stays easy to find and jump back to.

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

npx -y @deepseek-ai/dsh plugin --profile web add github:feiyaochang123-sys/dsh-starred-turns#ffa45de6b8a470dd675e8dca1783c59cd8aa3c23
READMECompatibilityVersions

Compatibility and provenance

Starred Turns is published as dsh-starred-turns and currently resolves to version 0.1.0. The Hub verifies its manifest and preserves the exact installation source for reproducible installs.

DSH compatibility
*
Runtime surfaces
web
Release source
github
Registry updated
10/20/2026

Versions

0.1.0stable
10/20/2026

Related plugins

Loading related plugins…

Latest
0.1.0
DSH
*
HMR
Process restart
Tree shaking
Safe tree shaking not declared
Unpacked size
Unavailable
Files
Unavailable
Surface
web
License
MIT
Source
github
GitHub
★ 0
Weekly downloads
0
Last push
10/20/2026
View source ↗
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

Related plugins

More verified plugins in ui-customization.

Whale Widgetdsh-whale-widgetDeepSeek balance whale widget in the bottom-right corner of the DSH Web interface: balance/today’s usage/peak-off-peak pricing, customizable bubble click sequence (text/balance/today/peak-off-peak/image/random phrases and parallel weighted selection), per-line styles and fonts, floating quick editinClient Ui Skill Explorer@linxin666/dsh-client-ui-skill-explorerDSH skill center: browse loaded skills by source (bundled / project / user / custom / runtime), enable or disable, create and delete, in a web GUI panel.Better Sidebardsh-better-sidebarBetter Sidebar for DSH — file tree, editor, changes, tasks and side chat in one column, separate for every conversation. Also exposes a service other plugins use to register sidebar tabs and file viewers.Client Ui Task Board@linxin666/dsh-client-ui-task-boardHost-authoritative task board for the DSH Web GUI with real session execution, Host cron scheduling, and optional cross-platform idle-sleep protection; mounted without DSH source changes.

README

dsh-starred-turns

Bookmark turns from the conversation's right-edge turn rail — the column of short dashes where each dash marks one turn and jumps back to it when clicked. A bookmarked dash grows to the rail's full length and takes the accent colour, so a specific turn stays easy to find in a long conversation.

Right-click a dash to bookmark it; right-click again to unbookmark.

中文说明

Why

A long conversation gives you a rail of identical dashes. The shipped rail already distinguishes the active turn, but nothing lets you mark the turns you care about — the decision, the diff, the answer you keep scrolling back to. This plugin adds exactly that one bit per turn, and makes it visible at a glance by reusing the rail's own "full length" geometry.

Features

  • Right-click to bookmark a turn. The dash grows from its resting length (scaleX 0.4 for turns not loaded into the transcript, 0.6 for loaded ones) to the rail's full width (scaleX 1), and switches from the neutral border colour to the accent colour.
  • Bookmarks are per conversation. Turn 5 in one conversation and turn 5 in another are different places; the conversation key is the selected Session id.
  • Bookmarks persist. They survive reloads and, on the Desktop build, app restarts.
  • No layout shifts. The rail keeps its fixed 10px pitch; only the dash's own scaleX changes.

Install

dsh plugin add dsh-starred-turns

Or add it to a profile's cordis.patch.yml by hand:

- insert:
    - id: starred-turns
      name: dsh-starred-turns

Restart the app (or let HMR rescan) after installing: the Host only scans plugin packages at startup.

How it fits in without touching the chat package

The rail is drawn by @deepseek-ai/dsh-client-ui-chat and is not slot-extended, so the plugin decorates it from the outside rather than forking the package. Each dash is:

<button data-index="18" class="…_mark …_markActive" aria-label="Jump to turn 19"></button>

with the visible dash supplied by a ::before pseudo-element:

.…_mark:before          { width: 20px; height: 2px; transform: translateY(-50%) scaleX(.6); }
.…_markActive:before    { transform: translateY(-50%) scaleX(1); }
.…_markUnloaded:before  { transform: translateY(-50%) scaleX(.4); }

So the plugin does three things, all from the outside:

  1. a capture-phase contextmenu listener on document toggles the bookmark for the dash under the pointer;
  2. a MutationObserver (watching data-index and child insertion) plus a store subscription keep a data-dsh-starred-turn attribute painted on the right dashes;
  3. its stylesheet turns that attribute into scaleX(1) in the accent colour.

Bookmarking deliberately reuses the dash's own scaleX geometry instead of changing width or height, which is what keeps the rail's pitch intact.

The observer never watches the plugin's own attribute — it writes that attribute, so an unguarded observer would retrigger itself forever. Paints are also guarded by a read of the current attribute for the same reason.

Storage

Bookmarks live in a client store named dsh.starred-turns.v1, keyed by conversation:

{ "byConversation": { "session-…": ["1", "7"] } }

The shell backs persist with localStorage. On the Desktop build the page origin is the stable dsh-app://app scheme, so bookmarks survive app restarts there. On a plain browser the Host picks a new loopback port per launch and browsers scope localStorage by origin including the port, so bookmarks do not carry across restarts in that mode.

Develop

npm install
npm run build   # src -> lib (client bundle in the shell's closure-factory format)
npm test        # bundle shape, exported surface, selector targets
  • src/client.js — store, rail painting, right-click gesture, stylesheet
  • src/index.js — node half (host-side no-op; exists so the Loader has an entry module)
  • scripts/build.mjs — copies the node half and bundles the browser half with esbuild

License

MIT