
Mombrane/dsh-subagent-monitor
dsh-ui-subagent-monitor
dsh-ui-subagent-monitor is a community DeepSeek Harness plugin. Read the repository README before installing.
Install
npx @deepseek-ai/dsh plugin --profile <your-profile> add @leetoners/dsh-ui-subagent-monitorRestart `dsh web` after install. Bundle APIs can change during the developer preview.
README badge
[](https://dshhub.dev/plugins/dsh-subagent-monitor)Paste this into your README. The star count updates with every catalog sync.
From the README
Excerpt from Mombrane/dsh-subagent-monitor, cleaned of badges and images.
DeepSeek Harness (DSH) Web 扩展插件 · 子代理实时运行监视面板 <br/>
中文 | English
✨ 是什么
在 DSH Web 界面侧栏底部加一个「子代理」入口,并在屏幕右上角常驻一块卡片式面板,实时展示当前会话直接派生的子代理的运行状态。进入某个子代理会话后,面板随之显示该会话直接派生的下一层子代理。
面板顶部是一块总体监控看板:左侧三枚环形图展示主会话的上下文窗口当前占用、主会话与子代理聚合的缓存命中率;右侧一根状态柱状图展示当前层子代理的运行 / 完成 / 异常计数(按最大值等比缩放)。每张卡片下方另附一行用量明细(该 run 的输入 / 输出、缓存命中、上下文大小)。
面板支持两个方向的收起,互不干扰:
- 纵向(两段式):标题栏「收起」第一次只收下方子代理卡片(顶部总览看板保留,按钮变「全部收起」);再点一次才收到只剩标题栏;「展开」一步恢复。
- 横向(向左折叠为窄栏):标题栏
◂把面板折成 120px 窄栏 —— 右边缘钉住不动,所以是朝左折;保留上下文与主会话两枚环(原大小 48px),由左右一排改为从上到下一列,去掉子代理环,下部继续保留子代理运行框(紧凑卡片)。▸向右展开回 340px。
┌─ ⤢ 子代理看板 ──────────── [◂] [收起 ▴] [✕] ┐
│ ◔ 上下文 ◔ 主会话 ◔ 子代理 █ 运行 1 · █ 完成 1 · █ 异常 0 │
│ ┌─────────────────────────────────────┐ │
│ │ 🔵 统计 ui 目录 TS 文件数 [打开对话] │ │
│ │ one-shot · 1a2b3c4d 运行中 · 00:42 │ │
│ │ ↑12.3k ↓4.5k · 缓存 78% · 上下文 45.6k │ │
│ └─────────────────────────────────────┘ │
│ ┌─────────────────────────────────────┐ │
│ │ 🟢 演示子代理:统计文件类型 [打开对话] │ │
│ │ spawn · 2b3c4d5e 完成 · 03:12 │ │
│ └─────────────────────────────────────┘ │
│ 运行 1 · 完成 1 · 异常 0 [清空已完成] │
│ ════════════════════════════════════════ │ ← 拖动调整高度
└─────────────────────────────────────────┘
横向收起后的窄栏(120px,两枚环原大小竖排):
┌ ⤢ 1 [▸][▴][✕] ┐
│ ◔ │ ← 上下文
│ 上下文 │
│ ◔ │ ← 主会话
│ 主会话 │
│ ┌───────────┐ │
│ │ 🔵 统计 ui… │ │ ← 整张卡片可点,即「打开对话」
│ │ 00:42 │ │
│ └───────────┘ │
│ ┌───────────┐ │
│ │ 🟢 演示子… │ │
│ │ 03:12 │ │
│ └───────────┘ │
│ 1/1/0 [⤢][⌫] │
│ ══════════════ │
└───────────────┘
标题左侧
⤢四角箭头拖动柄移动面板位置,底部═拖动柄调整面板高度;两者均记忆,双击复位。「收起」两段式(纵向):第一次只收起下方子代理卡片(顶部总览看板保留),按钮变「全部收起」;再点一次收起到只剩标题栏;「展开」一步恢复完整面板。
◂ / ▸(横向):向左折成 120px 窄栏 / 向右展开回 340px。窄栏保留**上下文与主会话两枚环(原大小)**竖排 + 子代理卡片;窄 / 宽选择跨会话记忆,刷新后保持。两个方向可叠加 —— 窄栏里照样能两级纵向收起。
🎯 特性
| 特性 | 说明 |
|---|---|
| 🟢 实时状态 | 运行中(🔵 蓝色像素追逐动画,与 DSH 侧栏状态点同款 + 秒表)、完成(绿点 + 光晕)、失败、已打断、令牌上限、已拒绝 |
| 🃏 卡片化列表 | 每个子代理一张圆角卡片;「打开对话」在右侧,状态与耗时在第二行 |
| 🔽 逐层查看 | 只显示当前会话直接派生的子代理;打开其中一项后可继续查看下一层 |
| 🔙 一键返回 | 进入子代理会话后,面板出现「← 上一层」按钮,跳回直接父会话 |
| 🖐 自由摆放 | 标题左侧四角箭头拖动柄移动面板,位置自动记忆(跨会话保留);双击复位 |
| 📏 高度可调 | 底部拖动柄调整面板高度,高度按会话记忆;双击复位 |
| 🪗 两段式收起(纵向) | 标题栏「收起」第一段只隐藏子代理卡片、顶部总览看板保留;再点「全部收起」才收起到只剩标题栏;「展开」一步恢复 |
| ↔️ 横向收起(向左) | ◂ 把面板折成 120px 窄栏,右边缘钉住不动所以朝左折;保留上下文与主会话两枚环(原大小)竖排,去掉子代理环,下部保留子代理运行框(紧凑卡片,整张可点即打开对话);窄 / 宽跨会话记忆。与纵向两段式收起正交,可叠加 |
| 🔄 刷新自恢复 | 常驻组合,页面刷新 / 服务重启后自动恢复 |
| 💤 空闲不轮询 | 快照轮询只在面板打开且标签页可见时运行;关闭面板或切到后台即停表,重新打开 / 切回时先补一次请求再恢复 1 秒节奏 |
| 📊 总体看板 | 面板顶部汇总条:三枚环形图(主会话上下文窗口当前占用、主会话 / 子代理缓存命中率)+ 状态柱状图(运行 / 完成 / 异常计数,按最大值等比缩放) |
| ⚡ 用量明细 | 每张卡片显示该 run 的输入 / 输出 token、缓存命中率、累计上下文与上下文窗口利用率(provider 上报时) |
| 🎯 当前占用 | 主会话「上下文」环显示当前窗口占用(projectedTokens:最新 prompt 样本 + 表层启发式增减),随内容新增而上升、压缩后立即回落——而非随会话只增不减的累计量 |
| 🌐 中英文案 | 面板文案跟随宿主 UI 语言(设置 → 通用 → 语言);宿主未给出语言、或该语言无对应文案时回退中文 |
| 📱 移动端友好 | ≤768px 视口默认不弹出,侧栏按钮仍可手动打开 |
📦 安装
方式 A · npm 安装(推荐,一行命令)
dsh plugin --profile <your-profile> add @leetoners/dsh-ui-subagent-monitor
✅ 已发布
v0.5.0(GitHub Actions 构建并签名,SLSA provenance 可验)。
方式 B · GitHub 直装
dsh plugin --profile <your-profile> add github:Mombrane/dsh-subagent-monitor
# 首次安装若提示允许构建脚本,按提示在 profile 的 pnpm-workspace.yaml 中确认即可
重启 dsh web 即生效。本仓库同时是 DSH 客户端插件(dsh.client)与 组合 bundle(dsh.bundle + cordis.patch.yml),并随附预构建 lib/。
方式 C · DSH 源码仓库内联(适合二次开发)
…
