dsh-status-bar:DeepSeek Harness 实时执行状态栏

前言

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 进度的开发者使用。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜