前言¶
在 DeepSeek Harness(DSH)的多智能体开发场景中,当主代理调用多个子代理并行工作时,它们的实时状态往往难以在主对话流中快速感知。查看聊天记录或日志是低效的。dsh-subagent-progress 旨在解决这个问题,它将子代理的会话事件折叠为进度状态,并在输入框上方渲染一个实时看板。
是什么¶
dsh-subagent-progress 是 edgeseeker7 维护的 DSH 客户端插件。它的核心作用是展示正在运行的子代理状态,包括进度、耗时、挂起或失败情况,无需进入子代理的会话即可获取概览。
核心功能¶
该插件提供以下能力:
- 每子代理一张卡片:卡片展示标签、当前轮次/步骤、待办完成度(如
1/3)、正在执行的具体动作(而非仅工具名)以及已用时间。 - 子代理自行汇报:子代理通过
notify_user工具以单句形式汇报进度、剩余时间或关键发现,状态颜色(蓝色/琥珀色/绿色)随 DS 主题变量自适应。 - 挂起与失败处理:
- 挂起警报:子代理静默 5 分钟以上,状态点变琥珀色。
- 失败操作:子代理崩溃时,卡片保留,显示红点及错误摘要(悬停查看全文)。提供操作按钮:重试(从卡片直接排队新轮次)、打开(跳转至会话)、暂停(中断当前轮次)。
- 布局与零打扰:卡片按等宽网格对齐,无论数量多少均保持结构。子代理完成后卡片保留 30 秒自动消失;重要发现保留 3 分钟;支持单独关闭或一键关闭。
- 交互查看:点击卡片可打开对应子代理的完整会话;悬停更新区域会显示毛玻璃弹出层,内容为 Markdown 渲染的完整更新。
安装与启用¶
安装该插件无需修改配置文件,直接在终端执行:
dsh plugin --profile web add dsh-subagent-progress
安装完成后,重启 dsh web 进程即可生效。该插件要求 DSH 版本不低于 0.1.2-rc.1。
典型用法¶
- 查看概览:在输入框上方查看所有正在运行的子代理卡片。
- 查看详情:将鼠标悬停在卡片上,查看 Markdown 渲染的详细汇报内容。
- 干预会话:若子代理卡在错误(如 429 超载),点击卡片上的 Retry 或 Pause 按钮进行干预。
适用场景与注意¶
- 适用场景:需要同时监控多个子代理运行状态的 DSH 开发者。
- 无配置:安装后无需额外配置,开箱即用。
- 版本兼容:官方插件通过
peerDependencies声明依赖。由于 npm semver 无法表达“从 X 版本开始的任何预发布版本”,该插件仅在说明文档中明确最低要求为dsh >= 0.1.2-rc.1。 - 运行环境:插件不修改 DSH 源码。其主机端逻辑可在任何部署中工作,但 UI 渲染仅在
dsh web下生效。
短结尾¶
dsh-subagent-progress 通过将子代理的实时状态集中展示,减少了开发者切换视图查看日志的成本。其“零打扰”的设计确保了面板在完成使命后自动清理,保持界面整洁。项目地址:GitHub。