DeepSeek Harness 插件

dsh-subagent-max

Subagent delegation with per-call model override and a live multi-panel streaming subagent viewer.(英文原文)

跳到安装方式

来源信息

GitHub 仓库
aaravarr/dsh-subagent-max
最近更新
2026年8月20日
分类
自动化与任务
GitHub stars
4
载体类型
plugin
目录证据
上游声明已找到 dsh.bundle
证据路径
package.json#dsh.bundle
核对版本
0.1.0-rc.8
上游核对日期
2026-08-20

该证据由上游目录提供。本站没有安装、运行或安全审核这个插件。

安装

默认先复制一段 Prompt,让 Agent 读 GitHub 仓库和源码;需要自己装时再切到命令。

复制这段 Prompt,发给 DSH、Codex 或其他 Agent,让它先读 GitHub 仓库和源码。

请先不要安装或执行任何命令。阅读这个插件的 GitHub 仓库、README 和关键源码,然后用清楚、直接的方式回答以下问题,帮助我判断它是否适合我的需求:

1. 这个插件是什么,解决什么问题;
2. 适合哪些用户和典型使用场景;
3. 安装后如何使用,并给出一个最小使用示例;
4. 有哪些已知限制,以及隐私、安全、兼容性或维护风险;
5. 给出“推荐 / 有条件推荐 / 不推荐”的明确建议和理由。

请区分仓库明确说明、根据源码推断和未知信息。证据不足时请明确说明,不要猜测或照抄 README。

GitHub:https://github.com/aaravarr/dsh-subagent-max
插件名:dsh-subagent-max
作者:aaravarr

检查来源文件

安装前先看这个插件目录里的 README 和其他文件。

文件资源管理器4 个文件
README.zh.md来源说明 · 只读预览
README 语言

dsh-subagent-max

English | 中文

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

> DeepSeek Harness (DSH) 的多面板实时子代理查看器,附带一个支持按调用指定模型/供应商的 subagent_with_model 工具。

截图

子代理 Tab —— 按「活跃中 / 不活跃」分组、按最后活动时间排序的卡片网格。

<img src="docs/subagents-tab.png" alt="子代理 Tab" width="720">

浮动查看器弹窗 —— 可拖拽的实时面板,展示子代理的任务、推理(Think)、工具调用与文本输出。

<img src="docs/viewer-panel.png" alt="浮动查看器" width="720">

双面插件:

  • 宿主侧lib/index.js)——Cordis 插件,注册 subagent_with_model 工具;它是 ctx.subagents 之上的薄壳,把 model / provider 转发进子代理的 agentOptions
  • 客户端侧lib/client.js)——Web UI,把每个子代理渲染成可拖拽、可缩放的浮动弹窗,实时(逐 token)展示输出,并提供一个带卡片网格的 子代理 标签页。

特性

  • 按调用覆盖模型/供应商 —— 委派子代理时显式指定其模型。
  • 自动选择供应商 —— 不传 provider 时,优先用父级 provider(若能服务目标模型),否则自动找携带该模型的 provider。
  • 多面板实时查看器 —— 同时打开多个子代理弹窗,每个都实时流式输出。
  • 丰富的块渲染 —— 任务块、推理(Think)块、带输入/输出的工具卡、流式流光、Markdown。
  • 子代理标签页 —— 卡片网格按「活跃中 / 不活跃」分组、按最后活动时间排序;展示模型、token、steps、上下文占比和相对更新时间。
  • 拖拽弹出 —— 把卡片拖到画布上,弹窗正好落在松手处(带幽灵框预览)。
  • 通知 —— 子代理开始或收到消息时,右上角弹出提示条。
  • 多语言 —— 中 / 英,可在 DSH 设置中切换。

安装

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

或手动:把包放到 <profile>/node_modules/@aaravarr/dsh-subagent-max/,并在 cordis.patch.yml 里加上对应 entry(见 [配置](#配置))。

配置

- 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
字段类型默认值说明
subagentProviderstringspawn子代理传输 provider。
toolNamestringsubagent_with_model面向模型的工具名;必须在已加载工具中唯一。
backgroundModestringone-shotcontinuable 返回持久化子代理 id;one-shot 前台运行。
maxDepthnumber3子代理的绝对委派深度上限(0 禁止继续委派)。

使用

让模型带显式模型去委派:

> 用 deepseek-v4-flash 起一个子代理,帮我看看这个仓库的测试覆盖情况。

工具参数:

参数类型必填说明
modelstring子代理模型 id(如 deepseek-v4-prodeepseek-v4-flashk3-256k)。
providerstringLLM provider 路由。省略则自动选择:优先使用父级自身的 provider(若能服务目标模型);否则自动找一个携带该模型的 provider;若所有 provider 都不含该模型,则按原样继承父级 provider(子代理可能报 UNKNOWN_MODEL)。
descriptionstring简短(3-5 词)任务标签。
promptstring完整、自包含的任务。
run_in_backgroundbool后台路由;默认跟随 backgroundMode

已知限制

  • 模型展示取自会话的 request/header;部分子代理可能拿不到模型。
  • 最后活动时间是客户端跟踪并缓存在 localStorage 里的;全新加载后首次打开可能回退到会话的 updatedAt
  • 客户端 UI 仅面向 Web 平台。

开发

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

许可证

[MIT](LICENSE)