DeepSeek Harness plugin

dsh-subagent-max

Subagent delegation with per-call model override and a live multi-panel streaming subagent viewer.

Jump to install

Source facts

Repository
aaravarr/dsh-subagent-max
Latest update
Aug 20, 2026
Category
Workflow & Automation
GitHub stars
4
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/aaravarr/dsh-subagent-max
Plugin: dsh-subagent-max
Author: aaravarr

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-subagent-max

English | 中文

![npm](https://www.npmjs.com/package/@aaravarr/dsh-subagent-max) ![license](LICENSE)

> Multi-panel live subagent viewer for DeepSeek Harness (DSH), plus a subagent_with_model tool for per-call model/provider override.

Screenshots

Subagents tab — a card grid grouped into active / inactive and sorted by last activity.

<img src="docs/subagents-tab.png" alt="Subagents tab" width="720">

Floating viewer panel — a draggable panel streaming a subagent's live output: task, reasoning, tool calls, and text.

<img src="docs/viewer-panel.png" alt="Floating viewer" width="720">

A two-face DSH plugin:

  • Host face (lib/index.js) — a Cordis plugin that registers the subagent_with_model tool, a thin wrapper over ctx.subagents that forwards model / provider into the child's agentOptions.
  • Client face (lib/client.js) — a Web UI that renders every subagent as a draggable, resizable floating panel with live token-by-token output, plus a Subagents tab with a card grid.

Features

  • Per-call model / provider override — delegate to a subagent and pick its model explicitly.
  • Smart provider selection — when no provider is given, prefer the parent's provider if it serves the requested model, otherwise auto-find a provider that carries it.
  • Multi-panel live viewer — open several subagent panels at once; each streams output in real time.
  • Rich block rendering — prompt block, reasoning (think) blocks, tool-call cards with input/output, streaming shimmer, markdown.
  • Subagents tab — card grid grouped into active / inactive and sorted by last activity; shows model, tokens, steps, context % and relative update time.
  • Drag to pop out — drag a card onto the canvas to open its panel exactly where you drop it (with a ghost preview).
  • Notifications — side-top toasts when a subagent starts or receives a message.
  • i18n — zh / en, switchable from DSH settings.

Install

dsh plugin --profile web add @aaravarr/dsh-subagent-max

or, manually, place the package under <profile>/node_modules/@aaravarr/dsh-subagent-max/ and add the entry to cordis.patch.yml (see [Config](#config)).

Config

- insert:
    - id: dsh-subagent-max
      name: '@aaravarr/dsh-subagent-max'
      config:
        subagentProvider: spawn        # spawn | fork | acp
        toolName: subagent_with_model
        backgroundMode: continuable    # one-shot | continuable
        maxDepth: 3
FieldTypeDefaultDescription
subagentProviderstringspawnSubagent transport provider.
toolNamestringsubagent_with_modelModel-facing tool name; must be unique among loaded tools.
backgroundModestringone-shotcontinuable returns a durable subagent id; one-shot runs foreground.
maxDepthnumber3Absolute delegation-depth cap for children (0 forbids further delegation).

Usage

Ask the model to delegate with an explicit model:

> Start a subagent with deepseek-v4-flash to review this repo's test coverage.

Tool parameters:

ArgTypeRequiredNotes
modelstringyesChild model id (e.g. deepseek-v4-pro, deepseek-v4-flash, k3-256k).
providerstringnoLLM provider route. Omitted -> auto-selected: the parent's own provider is preferred when it can serve the requested model; otherwise the first provider carrying that model is used; if none does, the parent's provider is inherited (the child may then fail with UNKNOWN_MODEL).
descriptionstringyesShort (3-5 word) task label.
promptstringyesComplete, self-contained task.
run_in_backgroundboolnoBackground routing; default follows backgroundMode.

Known Limitations

  • Model display is derived from the session's request/header; it can be absent for some children.
  • Last-activity time is tracked client-side and cached in localStorage; the first open after a fresh load may fall back to the session's updatedAt.
  • Client UI targets the web platform only.

Development

pnpm install
node --check lib/index.js lib/client.js

License

[MIT](LICENSE)