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

dsh-nested-followups

Nested Followups

Message-level nested follow-up branches for DeepSeek Harness conversations.

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

npx -y @deepseek-ai/dsh plugin --profile web add github:sluminositys/dsh-nested-followups#4be376d7e9d7be3584a8abaeeef90e6850548bb8
READMECompatibilityVersions
A real DeepSeek Harness session branching repeatedly from answers at multiple depths

Compatibility and provenance

Nested Followups is published as dsh-nested-followups and currently resolves to version 0.2.3. The Hub verifies its manifest and preserves the exact installation source for reproducible installs.

DSH compatibility
*
Runtime surfaces
web
Release source
github
Registry updated
11/4/2026

Versions

0.2.3stable
11/3/2026
0.2.2stable
8/24/2026
0.2.1stable
8/19/2026
Show 2 more versionsCollapse versions
0.2.0stable
8/19/2026
0.1.0stable
8/19/2026

Related plugins

Loading related plugins…

Latest
0.2.3
DSH
*
HMR
Process restart
Tree shaking
Safe tree shaking not declared
Unpacked size
Unavailable
Files
Unavailable
Surface
web
License
MIT
Source
github
GitHub
★ 51
Weekly downloads
414
Last push
11/4/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

Related plugins

More verified plugins in memory-context.

Hindsight Coding Agents@vectorize-io/hindsight-coding-agentsReflect-only Hindsight long-term memory for coding agents (harness-pluggable: opencode, …), with automatic background ingestion (no setup CLI).Memory Plugin@openviking/dsh-memory-pluginOpenViking memory and context bundle for DeepSeek HarnessArchive Manager@michengai/dsh-archive-manager归档、恢复、收藏和永久删除会话,并诊断损坏的会话日志。 · Archive, restore, favorite, and permanently delete sessions, and diagnose damaged session logs.Memory@furongjun1999/dsh-memoryLingshu (Lingshu·líng shū) DeepSeek Harness plugin: a complete brain—long-term memory/knowledge flywheel/self-awareness/recursive reflection integrated with DSH, with conversations automatically distilled into the md_cg cognitive graph (md documents)

README

dsh-nested-followups

English | 中文

Branch from any answer. Keep branching at any depth.

A DeepSeek Harness plugin for isolated follow-ups that can keep branching recursively, with no plugin-defined depth limit. Start a side trail from any answer, then turn any answer anywhere in that trail into the next isolated fork point. Repeat for as many levels as the question needs. Every level inherits only its ancestor path, while the main task stays linear and untouched.

A real DeepSeek Harness session branching repeatedly from answers at multiple depths

Recorded in an unmodified DeepSeek Harness 0.1.1-rc.2 web profile. The UI and sessions are real; the captions and cursor are added in post.

MAIN TASK → SIDE QUESTION → NESTED SIDE QUESTION → NEST AGAIN → …

  • Start a side trail anywhere. The first branch receives exactly the history that existed at the selected answer.
  • Keep branching at any depth. Every answer in every side trail can become another isolated fork point. Apply the same action again at every new level.
  • Keep the main task clean. Nothing asked or answered in a branch flows back into the main conversation.

Install

Choose the install path that matches your DeepSeek Harness line:

DeepSeek HarnessPlugin sourceStatus
0.1.0-rc.7 through 0.1.1-rc.2npm dsh-nested-followups@0.2.3Legacy host support retained
0.2.1-rc.5 Web / official Desktopnpm dsh-nested-followups@0.2.3Current development target
0.2.1-alpha.1, 0.2.2-alpha.2Same packageAdditional verified preview targets

Web

dsh plugin --profile web add dsh-nested-followups@0.2.3

Restart the DeepSeek Harness web profile if it is already running, open a conversation, and select Tree View.

Build from source (optional, DSH 0.2 Web)

Use npm for a normal installation. To develop the plugin, clone the repository, build it locally, and invoke the matching CLI so an older global dsh binary cannot install it into the wrong profile contract:

git clone --branch main --single-branch https://github.com/sluminositys/dsh-nested-followups.git
cd dsh-nested-followups
corepack pnpm install --frozen-lockfile
corepack pnpm run check
corepack pnpm dlx @deepseek-ai/dsh@0.2.1-rc.5 plugin --profile web add .
corepack pnpm dlx @deepseek-ai/dsh@0.2.1-rc.5 web

This creates a link: installation to the checkout. After pulling an update, run corepack pnpm run check again and restart the web profile.

If installation fails: a direct git+https://... install runs this package's prepare script, which pnpm requires you to approve. Install npm 0.2.3, or clone/build/link using the commands above instead; the plugin never changes your script allowlist. An error saying npm 0.2.2 is incompatible with DSH 0.2.x refers to the old npm artifact: install 0.2.3 explicitly instead.

Official Desktop

Desktop uses the same Web UI, so the plugin does not need a separate canvas or an Electron extension. Its plugins belong to the desktop profile, not web; installing into one does not enable it in the other.

  1. Launch a supported DSH Desktop version once. Use Manage dsh Command… → Install in its application menu to install the bundled CLI.

  2. Fully quit Desktop (closing its window may only hide it).

  3. Run the following command using Desktop's bundled dsh:

    dsh plugin --profile desktop add dsh-nested-followups@0.2.3
    
  4. Reopen Desktop and select Tree View in a conversation. For a built local checkout, substitute . for the package name and run from that checkout.

Do not use npm's dsh or pnpm dlx for the desktop profile: only the bundled command can manage it. Existing global installations can shadow that command; check dsh --version and your shell's command path first. npm installation in Desktop uses its bundled runtime; only source builds need separate Node and pnpm. See the official Desktop instructions.

Why not a new chat or a sidebar thread?

ApproachRelevant earlier contextMain stays cleanCan keep branching at later depthsTrail stays attached
Ask in the main chatYesNoNoNot applicable
Open a new conversationLost or copied manuallyYesNoNo
Typical temporary sidebar Q&AVariesUsuallyUsually a linear side threadUsually not
dsh-nested-followupsExact ancestor pathYesYes—recursively, with no fixed depthYes

The distinguishing feature is not the canvas. It is that any answer at any depth can become another isolated fork point, and the same rule keeps applying to every descendant. The tree is only the map that keeps those recursive detours visible and attached to the root session.

A main task with isolated side trails that can keep branching at any depth

The diagram draws two nested levels and then an ellipsis: the same fork action remains available on every answer at every later depth.

Use it

  1. Chat normally. The standard DSH chat, sidebar, composer, and message rendering remain unchanged.
  2. Select Tree View, choose an earlier completed assistant answer, and select Ask follow-up. The question grows to the right in a new branch.
  3. On the latest answer in a branch, use Continue this branch to add the next turn downward. Use Ask follow-up to create another isolated branch to the right. Repeat Ask follow-up on any descendant answer to keep nesting as deeply as needed.
  4. Return to Chat whenever you want to continue the main task. Its history contains no branch messages.
ActionDirectionSession effect
Ask follow-upRightCreates a new isolated child session at the selected answer
Continue this branchDownAdds the next exchange to the current branch session

Continue this branch appears only on the latest completed answer in a branch. Main-line nodes never offer it, so the two operations cannot be confused.

Why every level is a real branch

This is not a prompt that asks the model to pretend later messages do not exist, and it is not a line drawn between unrelated chats.

  • Every branch, including a branch created inside another branch, is a real DeepSeek Harness session with durable history.
  • The same fork rule applies recursively at every level; the plugin does not impose a nesting-depth limit.
  • Its seed is the exact ancestor path through the selected completed answer, using the same event-boundary semantics as DSH's session fork path.
  • Later messages from the main task, parent side trail, and sibling branches are absent unless they are ancestors of the new branch point.
  • Messages never flow upward to a parent session or sideways to a sibling.
  • Branch tools are enforced read-only when they execute, protecting the shared workspace from side-question activity.
  • The request prefix remains byte-for-byte compatible with the parent at the fork point, so the model provider can reuse its prefix cache.

What Tree View includes

  • One card per user message and assistant answer, with the main conversation running downward and isolated branches growing to the right.
  • Unlimited nested follow-ups and linear continuation within each branch.
  • Search that reveals collapsed ancestors before centering a match.
  • Focus mode, pan, zoom, fit-to-view, and a minimap for large trees.
  • Progressive dot → capsule → card expansion, plus one-action collapse.
  • Cascading branch deletion with an exact branch and message count.
  • Durable branch metadata and per-conversation view state across restarts.
  • No branch entries in the normal sidebar session list.

Progressive collapse

A tree opens fully folded on first visit: the main conversation plus one dot per answer that has branches. Select ⊕ to reveal one capsule per branch, then select a capsule to restore that branch's cards. Child anchors stay folded until you open them, so one expansion never floods the canvas with every descendant.

Alt-select ⊕ or a capsule to expand all descendants. Collapse all returns top-level groups to dots. A pulsing blue marker means a folded descendant is generating; red means one failed. The layout is restored per conversation after a restart.

Read-only branch execution

Branches share the main conversation's working directory, so allowing a side question to write would be unsafe. The plugin therefore checks tools when they actually run. Read operations are permitted; writes and unknown tools are refused by default.

Allowed tools are read, read_image, glob, grep, lsp, the session_* query tools, job_list, job_output, terminal_list, terminal_read, list_agents, and get_goal. Code Mode's run_code remains available because every tool it invokes is checked individually.

Provider prefix-cache reuse

A branch joins the same preset as its parent and does not rewrite tool definitions, prompt sections, or presentation format. Its request therefore starts with the same bytes as the parent request at the branch point. Providers that cache request prefixes can reuse that context instead of reading the inherited conversation again.

Requirements

RequirementVersion
DeepSeek Harness0.2.1-rc.5, plus the verified alpha and legacy host versions above
Node.js (source build / Web)^22.19.0 or >=24.0.0
Package manager (source build)pnpm

Compatibility notes

The source branch bridges both legacy rc and current 0.2 contracts: Session snapshots, inherited history, read-only persistence handles, process-local assistant streaming, tool results, native icons, and message rendering. It does not patch DSH or rewrite its logs. Forks still stop at completed turns; the newer host's ability to fork an open turn is deliberately not used.

Automated validation and the exact runtime checks are recorded separately. Desktop shares the Web plugin mechanism; a Web boot is not a packaged Desktop end-to-end test. See DSH version compatibility for the contract mapping and maintainer verification procedure.

The current development target is DSH 0.2.1-rc.5; the same source is also checked against 0.2.1-alpha.1, 0.2.2-alpha.2, and legacy 0.1.1-rc.2. These adapters are included in npm 0.2.3. DSH 0.2.2-alpha.2 requires Node.js 24.9 or later; packaged Desktop supplies its own runtime.

Branches cannot be continued from the standard chat view. DSH currently rejects user messages sent from the normal chat UI to a subagent-origin session. Reading and continuing a branch therefore happen in Tree View. The plugin probes for a future host capability that could safely restore native continuation, but enables it only when DSH explicitly guarantees message delivery.

Branches may appear in the built-in Subagent menu as disabled diagnostic rows. They cannot be selected, are skipped by keyboard navigation, and do not count as active child agents. This does not affect the root conversation or the sidebar, where branch sessions remain hidden.

Uninstall

dsh plugin --profile web remove dsh-nested-followups

Uninstalling removes the plugin UI and services. It does not modify the main conversation or delete persisted branch history.

Development

pnpm install
pnpm run check

pnpm run check runs linting, host and browser type checking, unit and integration tests, a production build, a smoke test, and package validation.

CommandPurpose
pnpm run lintStatic analysis
pnpm run typecheckHost, browser, and test type checking
pnpm testUnit and integration tests
pnpm run buildProduction build
pnpm run checkComplete release gate

Contributing

Issues and pull requests are welcome. See CONTRIBUTING.md and run pnpm run check before submitting a pull request.

License

MIT