aaravarr/dsh-subagent-max
DeepSeek Harness (DSH) 插件——一个子代理带模型工具,外加一个实时多面板子代理查看器。
项目介绍Project Overview
dsh-subagent-max 是 DeepSeek Harness 的双面插件,同时承担宿主与客户端角色。宿主端注册 subagent_with_model 工具,在委派子代理时把 model 与 provider 透传至子级 agentOptions,未指定 provider 时优先复用父级。客户端在 Web UI 中以可拖拽悬浮面板实时流式渲染子代理的提示、推理、工具调用与文本,并提供按活动状态分组的 Subagents 卡片视图与拖出落点定位。适用于需要并行多子代理可视化与按调用切换模型的工作流。需注意模型显示源自会话请求头,部分子代理可能缺失;客户端仅支持 Web 平台。
dsh-subagent-max is a dual-face DeepSeek Harness plugin. The host side registers the subagent_with_model tool, forwarding model and provider into a child's agentOptions; when no provider is given, the parent's provider is reused. The client side adds a Web UI that streams each subagent's prompt, reasoning, tool calls, and text in draggable, resizable floating panels, plus a Subagents tab with active/inactive cards sorted by last activity. It is used for parallel multi-subagent workflows with per-call model override. Caveat: the model label is read from session request headers and may be missing for some children, and the client targets the web platform only.
请帮我了解并安装插件:【dsh-subagent-max】【https://github.com/aaravarr/dsh-subagent-max】
把上面这条消息直接发给当前会话里的 DSH,让它帮你了解并安装。安装命令不一定准确,发给 DSH 更稳。Send this message to DSH in your current session. CLI install commands may not be accurate across systems — DSH will figure it out for you.
或使用命令行安装(适合开发者)Or use CLI install (for developers)
命令行安装CLI Install
dsh plugin --profile web add @aaravarr/dsh-subagent-max
把 aaravarr/dsh-subagent-max 加入你的 DSH 配置(web profile)即可启用。
READMEREADME
dsh-subagent-max
English | 中文
Multi-panel live subagent viewer for DeepSeek Harness (DSH), plus a
subagent_with_modeltool for per-call model/provider override.
Screenshots
Subagents tab — a card grid grouped into active / inactive and sorted by last activity.

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

A two-face DSH plugin:
- Host face (
lib/index.js) — a Cordis plugin that registers thesubagent_with_modeltool, a thin wrapper overctx.subagentsthat forwardsmodel/providerinto the child'sagentOptions. - 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
- 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
| Field | Type | Default | Description |
|---|---|---|---|
subagentProvider |
string | spawn |
Subagent transport provider. |
toolName |
string | subagent_with_model |
Model-facing tool name; must be unique among loaded tools. |
backgroundMode |
string | one-shot |
continuable returns a durable subagent id; one-shot runs foreground. |
maxDepth |
number | 3 |
Absolute 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-flashto review this repo's test coverage.
Tool parameters:
| Arg | Type | Required | Notes |
|---|---|---|---|
model |
string | yes | Child model id (e.g. deepseek-v4-pro, deepseek-v4-flash, k3-256k). |
provider |
string | no | LLM 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). |
description |
string | yes | Short (3-5 word) task label. |
prompt |
string | yes | Complete, self-contained task. |
run_in_background |
bool | no | Background 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'supdatedAt. - Client UI targets the web platform only.
Development
pnpm install
node --check lib/index.js lib/client.js
ruvnet/ruflo
amruthpillai/reactive-resume
esengine/DeepSeek-Reasonix
volcengine/OpenViking
Molunerfinn/PicGo
titanwings/colleague-skill
nocobase/nocobase
Tencent/WeKnora