Introduction

DeepSeek Harness (DSH) is an agent development framework that supports plugin extensions. When running long-running tasks in the Web GUI, developers often find it difficult to intuitively understand the agent’s current state and stage-by-stage outcomes. The dsh-status-bar plugin adds a status bar above the input box in the Web interface, used to display agent execution activities in real time, generate outcome summaries through LLM distillation, and support expanding a structured detailed report.

Plugin Overview

  • Name: dsh-status-bar
  • Maintainer: OuYangxin12
  • Category: Client
  • License: MIT
  • GitHub: https://github.com/OuYangxin12/dsh-status-bar

Core Features

The plugin provides the following capabilities:
* Real-time display: Displays the agent’s execution status, including tool calls, thinking processes, and elapsed time.
* Outcome summary: Uses LLM distillation to generate a one-line “current outcome” summary.
* Detailed report: Supports expanding to view a structured detailed progress report.
* Data source: Reads ConversationSnapshot directly and uses the browser to fetch data with zero RPC; the Host side aggregates tool calls and event logs.
* Dual-side plugin: Runs on both the Host side and the Browser side.
* HTTP API: Provides HTTP endpoints for debugging.

Installation and Activation

Install the plugin using the official CLI:

dsh plugin --profile web add github:OuYangxin12/dsh-status-bar

After installation, restart the dsh web process for the changes to take effect.

Configuration

The plugin can be configured using environment variables (all optional):

Variable Name Default Description
DSH_STATUS_BAR_PROVIDER / DSH_STATUS_BAR_MODEL Prefer cheaper models Model routing used for the summary feature
DSH_STATUS_BAR_MIN_GAP_MS 10000 Minimum interval between two automatic summaries (forced refreshes are not limited)
DSH_STATUS_BAR_MAX_AGE_MS 30000 Fallback refresh upper limit under a continuous thinking stream
DSH_STATUS_BAR_MAX_TOKENS 160 Output upper limit for the one-line summary
DSH_STATUS_BAR_DETAIL_MAX_TOKENS 700 Output upper limit for the detailed report

Usage

After installation, the status bar is displayed above the input box and includes two main parts:
1. One-line overview: Displays the current outcome summary generated by the LLM and can be clicked to expand.
2. Process line: Displays execution time, status, the current tool, and the tail of the thinking process.

Refresh Mechanism
The plugin uses an event-driven approach rather than fixed polling to update its status. Refresh trigger conditions include:
* Tool calls/results and step boundaries trigger a short debounce (1–2.5s) before summarization.
* Long-running thinking streams trigger a fallback refresh (default upper limit: 30s).
* A quick initial report is generated at the start of a turn (about 3s).
* A new user input/steering action triggers an immediate forced refresh.
* At the end of a turn, the one-line summary and detailed report are forced to refresh.
* When the detail page is expanded, new progress automatically triggers a follow-up refresh (8s debounce).

HTTP Debugging Endpoints
The plugin provides HTTP endpoints for debugging (available only under the Web Profile):
* GET /status-bar/stream: Retrieves an SSE stream (NDJSON format), including summary/detail/activity status.
* GET /status-bar/state: Retrieves the current full conversation summary snapshot.
* GET /status-bar/detail?session=<id>[&force=1]: Requests generation or refresh of the detailed report (pushed via SSE).

Notes

  • Idle state: When idle or when there is no summary data, the plugin renders nothing and does not occupy layout space.
  • Package name requirement: When manually mounting the plugin, the insert configuration must use the package name dsh-status-bar. This is because the client bundle scanning mechanism resolves the package root using require.resolve(<name>/package.json), and an absolute file path can only mount the host-side half.
  • Debugging purpose: The HTTP panel is intended for debugging only; production environments rely on the UI rendering.

Summary

dsh-status-bar provides visual progress feedback for the DSH Web GUI through an event-driven mechanism and LLM distillation capabilities. It addresses the lack of status transparency during long-running task execution, making it suitable for developers who need detailed monitoring of agent progress.