DeepSeek Harness plugin

dsh-conversation-minimap

A Codex-style conversation minimap for DeepSeek Harness.

Jump to install

Source facts

Repository
bilbillm/dsh-conversation-minimap
Latest update
Aug 15, 2026
Category
Tools & Capabilities
GitHub stars
0
Format
plugin
Catalog evidence
Upstream dsh.bundle evidence
Evidence path
package.json#dsh.bundle
Checked against
0.1.0-rc.8
Upstream check date
2026-08-20

This evidence comes from the upstream catalog. This site has not installed, run, or security-reviewed the plugin.

Install

Start with a prompt that asks an agent to review the GitHub repository and source. Switch to the command if you want to install it yourself.

Copy this prompt into DSH, Codex, or another agent and ask it to review the GitHub repository and source first.

Do not install or run any commands yet. Read this plugin's GitHub repository, README, and relevant source code. Then answer the questions below clearly and directly so I can decide whether it fits my needs:

1. What is this plugin, and what problem does it solve?
2. Who is it for, and what are its typical use cases?
3. How is it used after installation? Include one minimal example.
4. What known limitations or privacy, security, compatibility, or maintenance risks does it have?
5. Give a clear recommendation: recommend, conditionally recommend, or do not recommend, with reasons.

Distinguish statements documented by the repository, inferences from source code, and unknowns. If evidence is insufficient, say so explicitly. Do not guess or simply repeat the README.

GitHub: https://github.com/bilbillm/dsh-conversation-minimap
Plugin: dsh-conversation-minimap
Author: bilbillm

Check the source files

Read the README and other files from this plugin directory before installing.

File explorer4 files
README.mdSource · read only
README language

中文说明

dsh-conversation-minimap

@dsh-external/dsh-conversation-minimap adds a Codex-style conversation minimap to DeepSeek Harness. One marker represents one engine-owned turn. The current reading turn is emphasized, hover or keyboard focus opens a compact preview, and activating a marker scrolls directly to that turn.

The preview is derived from Harness's public conversation snapshot and can show:

  • the user request summary;
  • the latest assistant result summary;
  • running, completed, failed, or stopped status;
  • files produced by the optional ui-deliverables feature.

The plugin is additive. It registers a layout-neutral entry in conversation.session.header.utilities, locates that session's semantic [data-conversation-scroll], and renders the rail through its own portal. It does not replace the conversation body, change the conversation width, scrape rendered prose, or depend on CSS-module hashes.

Install

Build the source checkout and add it to an isolated Harness Web profile:

pnpm install
pnpm run build

cd C:\Users\lumoren\Documents\GitHub\deepseek-harness
pnpm dsh plugin --profile web add C:\Users\lumoren\Documents\GitHub\dsh-conversation-minimap
pnpm dsh web

For source rebuilds without restarting the host, run pnpm run dev:web from the Harness checkout in a second terminal.

Behavior

  • Wide conversation columns receive a left-side rail with exactly one visual

mark and one accessible button per turn. Short histories stay in a compact, fixed-spacing cluster around the rail center; long histories progressively expand through the available height. Only the active reading turn receives the long, high-contrast mark.

  • Narrow columns receive a compact header utility that opens the same rail.
  • Hover and focus show a wide, theme-token glass preview with crisp request and

result text, status, and up to four produced paths. The preview keeps its pointer handoff when the cursor moves from a marker into the card.

  • Click, Enter, or Space scrolls to the first mounted row for the turn.
  • Earlier history is loaded only on request; the current reading anchor is

preserved while the older page is inserted.

  • Conversation opening, older-page loading, and a failed page request are

surfaced in the rail without replacing the host conversation status.

  • Every marker is a real button with an accessible label and aria-current on

the active reading turn.

  • prefers-reduced-motion is observed live. Smooth scrolling and transient

movement are removed when reduction is requested.

An application or theme can disable the minimap for a subtree:

<section data-dsh-conversation-minimap="off">...</section>

Compatibility

The package targets the semantic conversation contracts in Harness 0.1.0-rc.5 and the published 0.1.0-rc.6 client line. It is tested with the default light and dark themes plus angelina-light and angelina-dark. Theme colors come from --dsw-alias-* tokens with system-color fallbacks.

The plugin is independent of dsh-motion. Its own portal opts out with data-dsh-motion="off" to prevent duplicate motion; the surrounding Harness surface remains under normal host and theme ownership.

Development

pnpm run check
pnpm run pack:check

Optional Playwright acceptance tests use an already running isolated profile:

$env:DSH_MINIMAP_E2E_URL = 'http://127.0.0.1:3000/'
pnpm run test:e2e

The runtime has no polling loop, interval, or permanent animation frame. Its MutationObserver is scoped to the active conversation scrollport; all observers, listeners, portal nodes, styles, timers, and requested frames are released with the session entry.

Distribution faces

  • .: no-op Node half mounted by the Harness Loader.
  • ./client: browser Cordis plugin registered through __ModuleLoader__.
  • ./cordis.patch.yml: profile patch that adds the Loader row.

MIT licensed.