Introduction

DeepSeek Harness (DSH) can involve complex tasks where developers often need to monitor the model generation rate and Time To First Token (TTFT). Checking these values directly in the terminal or logs is not intuitive. The dsh-tps-meter plugin provides a draggable floating window on the DSH Web interface to display session output throughput in real time.

Core Features

The plugin provides the following features:
* Dual metric mode: Supports switching between real-time and average-speed display modes.
* Session management: Provides a session list, supporting dragging its position, collapsing, closing, and restoring closed sessions.
* Key metrics: Displays current-step tokens, cumulative tokens, and Time To First Token (TTFT).
* Waveform visualization: Shows the generation-rate waveform in real-time mode.
* Lightweight implementation: Zero third-party dependencies; uses only Node built-in modules.
* Self-update notification: When a new version is detected, displays an update icon ⟳ in the header.

Installation and Activation

Install the plugin using the DSH CLI:

dsh plugin --profile web add dsh-tps-meter

After installation, refresh the Web interface page and the floating window will appear.

Usage

  1. Switch speed metric: Click the button in the upper-right corner of the floating window to switch between “Real-Time” and “Average Speed”.
  2. Manage sessions:
    • Close a session: Double-click the name of a finished session to remove it from the floating window.
    • Restore sessions: Double-click “…N closed (click to restore)” at the bottom of the list to restore all closed sessions.
  3. View details: Double-click a session name to select it as the current session; the selected session name is highlighted in green.

Technical Notes

  • Permissions and network: At runtime, the plugin only reads session events; it does not write logs or initiate model requests. It does not connect to an external network; the floating window only polls the DSH service on local host 127.0.0.1.
  • Calculation logic:
    • Real-time metric: Estimated tokens within the window ÷ actual window span. Displays 0.0 when idle.
    • Average-speed metric: Current-step tokens ÷ (current time - first token time). Displays the previous step’s average when idle.
  • Limitations: The estimates are not billing metrics. Multiple tabs poll independently. Session identification relies on “most active” ordering.

Maintainer

This plugin is maintained by looking321-rt and is licensed under the MIT License.