Foreword

The default session in DeepSeek Harness (DSH) is linear: new questions are appended to the end of the main conversation and sent along with subsequent requests. When an engineering task is halfway through, if you want to ask a follow-up about a term or detail from a historical response, the common practices are only two—inserting an unrelated question into the main conversation, polluting the task context; or opening a new session, losing the context needed for the follow-up.

Below, we introduce dsh-nested-followups, which offers a third way: initiating follow-ups for any historical response. Questions unfold in an independent branch, leaving the main conversation uninterrupted.

What It Is

dsh-nested-followups is a session tree plugin for DeepSeek Harness released by the maintainer sluminositys. The current version is 0.2.2, under the MIT license, with about 14 stars on GitHub and categorized as “Workflow” in the SkillHub community directory.

The plugin adds a tree view to the web interface: each user and assistant message is a card, the main conversation extends vertically, and branches expand to the right. Follow-ups inherit the session context up to the selected response, with the main conversation and branches mutually invisible.

Core Features

Session Tree and Arbitrary-Depth Branching

The Tree View renders the current session as a tree: the main conversation goes downward, and branches go right. On any completed response, you can click Ask follow-up to open a new branch; within a branch, the latest response can continue with Continue this branch or another Ask follow-up, with no limit on nesting depth.

True Context Isolation

Each branch is created as an independent session via DSH’s official fork mechanism, not merely by ignoring content via prompt instructions. Branches inherit the history from the parent node up to the selected response, do not receive subsequent messages from the main conversation, and the main conversation does not receive branch content; sibling branches under the same response are invisible to each other. Branches are recorded as subagent-origin sessions and do not appear in the sidebar session list.

Read-Only Execution

Branches run as read-only agents: they can view the workspace but not modify it. Tool whitelisting is validated at runtime, allowing read, read_image, glob, grep, lsp, session_* query types, job_list, job_output, terminal_list, terminal_read, list_agents, get_goal, etc.; all other tools (including unidentified new tools) are rejected. The run_code in Code Mode is still usable, but write operations invoked within the program are intercepted item by item, preventing follow-up branches from interfering with file changes in the main task.

Readability for Large Trees and Compatibility with Standard Interface

When the tree is first opened, it is collapsed by default: the main conversation and each response with a branch show a dot; clicking expands a capsule, and clicking the capsule again restores the card, expanding layer by layer. Collapsed branches can still generate content in a stream, with a blue dot indicating progress and a red dot indicating failure; searching automatically expands the ancestor chain of matching messages. The plugin does not alter the regular Chat view, sidebar, or message rendering; Chat and Tree View only switch display modes without copying or converting data.

Reusing Model-Side Caches

Branches inherit the preset of the parent session, not modifying tool definitions, prompt paragraphs, and presentation formats. The request prefix is consistent with the main conversation, facilitating reuse of contexts cached by the provider.

Installation and Enabling

Environment requirements:

Dependency Version
DeepSeek Harness 0.1.x (README notes verified on 0.1.0-rc.7, 0.1.0-rc.8, 0.1.1-rc.2)
Node.js 22.19 or higher
Package Manager pnpm

Official installation command:

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

If the Web profile is already running, DSH needs to be restarted after installation.

Uninstallation:

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

Uninstallation removes the plugin interface and service but does not modify the main conversation or delete branch history.

For installation from source, clone the repository, then run pnpm install, pnpm run check, and use dsh plugin --profile web add . to point to the local directory; see GitHub README for steps.

Typical Usage

  1. Open the session as usual, and select Tree View in the conversation title bar.
  2. Hover over a completed assistant message, click Ask follow-up, and enter a question; the reply appears in the card below that response’s right side.
  3. Continue the conversation within the same branch: on the latest completed response in the branch, select Continue this branch (only appends downward without creating a new branch). To further isolate context, select Ask follow-up (creates a new branch to the right without appending to the existing branch).
  4. Click any card to read the full content; large trees can be navigated using search, focus, collapse, overview map, and zoom controls. Switch back to Chat at any time to continue the main task.

Deleting a branch will delete it along with all its sub-branches; the confirmation dialog will explain the number of branches and messages to be removed, while the main conversation and sibling branches remain unaffected.

Applicable Scenarios and Notes

It is suitable for temporarily clarifying terms, reading file meanings, or asking exploratory questions in long engineering sessions without mixing follow-ups into the main task context. The DSH ecosystem is oriented towards “everything is a plugin”; SkillHub (https://www.skillhub.cn/plugins/sluminositys/dsh-nested-followups) is a community directory site, with no official affiliation with DeepSeek / High-Flyer.

Before installation, it is recommended to check the source code and LICENSE: the plugin runs with the current DSH process permissions, and although branches are read-only agents, they still have read access to the workspace.

Links

  • SkillHub Directory Page: https://www.skillhub.cn/plugins/sluminositys/dsh-nested-followups
  • GitHub Repository: https://github.com/sluminositys/dsh-nested-followups