DeepSeek Harness Plugin

hmr-BH/dsh-round-rightclick

Stars ★ 0 Downloads (30d) 1,364 Category UI Enhancements Added 2026-09-15 npm dsh-round-rightclick

Radial right-click menu on conversation turns in the DSH web GUI for forking a session from a chosen turn, interrupting generation, copying the working directory path or session ID, opening the working directory, and exporting session logs.

Install

# from npm (prebuilt)

dsh plugin --profile web add dsh-round-rightclick

# from a prebuilt release tarball

dsh plugin --profile web add "https://github.com/hmr-BH/dsh-round-rightclick/releases/download/v0.1.0/dsh-round-rightclick-0.1.0.tgz"

# from GitHub (first run asks for allowBuilds approval — follow the hint, retry)

dsh plugin --profile web add github:hmr-BH/dsh-round-rightclick

Any plugin you install runs third-party code with your own permissions — it can read your files, use your credentials, and reach the network, and tool approvals don’t sandbox it. GitHub-sourced plugins also run build scripts at install time — pnpm blocks those until you allow them, so an install can stop with ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED or ERR_PNPM_IGNORED_BUILDS; dsh prints the exact key to add under allowBuilds in your profile’s pnpm-workspace.yaml, and the install works on the next run. Allowing a build is a trust decision: only install sources you trust, and pin a commit (github:owner/repo#sha).

README

A radial right-click menu for DeepSeek Harness. Right-click a specific turn in the conversation to run common session actions at the cursor.

简体中文 · Changelog

Why this plugin exists

Session actions in DSH are spread across the interface. The workspace folder has to be found in a sidebar, interrupting generation requires catching the right moment, and branching from an earlier turn is not available at all — the only option is copying the preceding conversation into a new session by hand and verifying nothing was missed.

The radial menu collects these actions in one place. Right-click a specific question or answer and six actions are arranged around the cursor, selectable by mouse or keyboard.

The central action is Fork this turn. Take a session with three completed turns:

Turn 1: pin down the request
Turn 2: compare approaches
Turn 3: polish the copy

Forking turn 1 produces a session containing only turn 1; forking turn 2 produces one containing turns 1–2. The source session is left unchanged, so both can stay open for comparison. When a conversation drifts, work resumes from the turn before the drift instead of re-supplying context to a blank session.

Screenshot

Radial menu

The six actions

Action Purpose Available when
Open folder Opens the session's workspace in the OS file manager The session has a directory and DSH runs locally
Copy path Writes the full workspace path to the clipboard The browser permits clipboard writes
Copy session ID Copies the current session's ID A session is open
Interrupt Stops the running generation or tool call, keeping the conversation The session is running
Fork this turn Creates a branch session carrying the conversation through that turn The turn is complete and loaded
Export log Downloads this session and its children as a log ZIP The host exposes the export service

Install

From npm (recommended)

dsh plugin --profile web add dsh-round-rightclick

Restart dsh web and refresh the page. The npm package ships built output, so neither pnpm nor a local build is required; a prebuilt publish does not trigger a build approval either.

From GitHub

dsh plugin --profile web add github:hmr-BH/dsh-round-rightclick

Restart dsh web and refresh the page. The repo commits its built lib/ bundles, so installing runs no build script and needs no pnpm build approval.

From a release tarball

Download the .tgz attached to the relevant Release, then run:

dsh plugin --profile web add ./dsh-round-rightclick-<version>.tgz

Restart dsh web and refresh the page. The tarball contains built output as well.

From source

git clone https://github.com/hmr-BH/dsh-round-rightclick.git
cd dsh-round-rightclick
pnpm install --frozen-lockfile
pnpm run build
dsh plugin --profile web add .

Restart dsh web after a source install as well. To remove the plugin:

dsh plugin --profile web remove dsh-round-rightclick

Interaction

  • Right-click a completed question or answer to open the wheel.
  • Left-click a sector to run it, or navigate with the arrow keys and press Enter.
  • Releasing the right button never fires an action, so holding it while moving across sectors is safe.
  • Escape, Tab, page scrolling, window blur, window resizing, and clicking outside the wheel all close the menu.
  • The menu is locked while an action runs; repeated clicks do not issue a second request.
  • Inputs, contenteditable regions, and other editable controls keep the browser's native context menu. The plugin does not take over these areas.

Troubleshooting

Right-click does nothing. Confirm the plugin is installed under the web profile, restart dsh web, and refresh the page. The click must land on conversation content; the composer is deliberately excluded.

"Fork this turn" is disabled. Check that the right-click landed on a specific turn's question or answer, and that the turn has finished. If it is still generating, run Interrupt first and reopen the menu once the end event has loaded.

Copy fails. There are two common causes: the browser has not granted clipboard permission to the page, or the page is not served over localhost or HTTPS. The Clipboard API refuses writes in both cases.

Open folder is unavailable in an SSH session. This is intentional. The file manager can only launch on the machine running DSH; mapping it regardless would open a window on a server with no attached display, so the plugin refuses and reports the reason.

Development

pnpm install --frozen-lockfile
pnpm typecheck
pnpm test
node scripts/package-release.mjs

The built lib/ bundles are committed for GitHub-source installs: run pnpm run build after touching src/ and commit before pushing, so the repo never ships stale output.

Code layout:

src/client/RadialMenu.tsx  rendering, keyboard navigation, action feedback
src/client/menu-layout.ts  wheel geometry, sector hit areas, viewport avoidance
src/client/fork-target.ts  fork turn resolution
src/client/index.ts        wiring to the host session service
src/client/styles.ts       wheel, icon, and notification styles
src/opener.ts              directory validation and file-manager launch
tests/                     unit and component tests

License

MIT. A community plugin maintained by an individual, with no affiliation to DeepSeek.

Content from the project README on GitHub ↗

Links

More in this category

View the whole category →

Community comments

Comments are public GitHub Discussions. Loading them connects to GitHub and Giscus; a GitHub account is required to post.