前言¶
DeepSeek Harness (DSH) 是一个支持插件扩展的智能体开发框架。在 Web GUI 中执行长任务时,开发者往往难以直观掌握 agent 的当前状态和阶段性成果。dsh-status-bar 插件在 Web 界面的输入框上方增加了一个状态栏,用于实时展示 agent 的执行活动,并通过 LLM 蒸馏生成成果总结,支持展开查看结构化的详细报告。
插件概览¶
- 名称:dsh-status-bar
- 维护者:OuYangxin12
- 分类:客户端
- 许可:MIT
- GitHub:https://github.com/OuYangxin12/dsh-status-bar
核心功能¶
该插件提供以下能力:
* 实时显示:显示 agent 的执行状态,包括工具调用、思考过程和耗时。
* 成果总结:利用 LLM 蒸馏技术生成一行“当前成果”摘要。
* 详细报告:支持展开查看结构化的详细进度报告。
* 数据源:直接读取 ConversationSnapshot,利用浏览器零 RPC 获取数据;Host 端聚合工具调用和事件日志。
* 双面插件:同时运行在 Host 端和 Browser 端。
* HTTP API:提供调试用的 HTTP 接口。
安装与启用¶
通过官方 CLI 安装该插件:
dsh plugin --profile web add github:OuYangxin12/dsh-status-bar
安装后重启 dsh web 进程即可生效。
配置¶
插件支持通过环境变量进行配置(均为可选):
| 变量名 | 默认值 | 说明 |
|---|---|---|
DSH_STATUS_BAR_PROVIDER / DSH_STATUS_BAR_MODEL |
优先使用便宜模型 | 总结功能所用的模型路由 |
DSH_STATUS_BAR_MIN_GAP_MS |
10000 | 两次自动总结的最小间隔(强制刷新不受限) |
DSH_STATUS_BAR_MAX_AGE_MS |
30000 | 连续思考流下的兜底刷新上限 |
DSH_STATUS_BAR_MAX_TOKENS |
160 | 单行总结的输出上限 |
DSH_STATUS_BAR_DETAIL_MAX_TOKENS |
700 | 详细报告的输出上限 |
使用说明¶
安装后,状态栏会显示在输入框上方,包含两个主要部分:
1. 一行速览:展示由 LLM 生成的当前成果摘要,可点击展开。
2. 过程行:显示执行时间、状态、当前工具和思考尾部。
刷新机制:
插件采用事件驱动而非固定轮询来更新状态。刷新触发条件包括:
* 工具调用/结果、step 边界触发短去抖(1~2.5s)后总结。
* 长时间思考流触发兜底刷新(默认上限 30s)。
* Turn 开始时快速首报(约 3s)。
* 用户新输入/steering 时立即强制刷新。
* Turn 结束时强制刷新单行及详细报告。
* 详情页展开时,新进展出现后自动跟随刷新(8s 去抖)。
HTTP 调试接口:
插件提供 HTTP 接口用于调试(仅在 Web Profile 下可用):
* GET /status-bar/stream:获取 SSE 流(NDJSON 格式),包含 summary/detail/活动状态。
* GET /status-bar/state:获取当前全部会话总结快照。
* GET /status-bar/detail?session=<id>[&force=1]:请求生成或刷新详细报告(通过 SSE 推送)。
注意事项¶
- 空闲状态:在空闲或无总结数据时,插件不会渲染任何内容,不占用布局。
- 包名要求:在手动挂载时,
insert配置必须使用包名dsh-status-bar。这是由于 client bundle 扫描机制通过require.resolve(<名字>/package.json)解析包根,绝对路径文件名只能挂载 host 半。 - 调试用途:HTTP 面板仅用于调试,生产环境依赖 UI 渲染。
总结¶
dsh-status-bar 通过事件驱动的机制和 LLM 蒸馏能力,为 DSH Web GUI 提供了可视化的进度反馈。它解决了长任务执行过程中缺乏状态透明度的问题,适合需要详细监控 agent 进度的开发者使用。