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
insertconfiguration must use the package namedsh-status-bar. This is because the client bundle scanning mechanism resolves the package root usingrequire.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.