Introduction

DeepSeek Harness (DSH) follows the “everything is a plugin” design philosophy. In Web GUI scenarios, developers often need to quickly obtain external environment information. The dsh-client-ui-weather plugin addresses this by providing a non-intrusive dashboard interface that displays weather data directly in the browser, without requiring backend service setup or API keys.

Core Features

Running as a client component for the DeepSeek Harness Web GUI, the plugin provides the following capabilities:

  1. Multi-city support and data display: Supports switching between cities such as Shanghai, Beijing, Shenzhen, Tokyo, London, and New York. The interface displays current temperature, feels-like temperature, humidity, wind speed, visibility, pressure, and wind direction.
  2. Trends and forecasts: Renders an accessible 8-hour temperature trend chart and provides a 5-day weather forecast (including high/low temperatures and precipitation probability).
  3. Interaction and performance optimization: Displays the full dashboard by default and can be collapsed into a compact weather pill. The overlay is designed to be click-through, not blocking operations on the underlying Shell except for the control area.
  4. Data reliability: Uses the Open-Meteo service (no API Key required). If the provider fails, times out, or returns invalid data, it falls back to deterministic sample data. It includes request cancellation and a 10-second timeout limit. Supports DST (Daylight Saving Time)-safe, timezone-aware calendar dates.

Install and Enable

Install it using DSH’s plugin management tool:

dsh plugin --profile web add github:mercy719/dsh-client-ui-weather

Typical Usage

After installation, the plugin loads as an overlay in the Web GUI. Users can switch cities in the interface to view current weather metrics and trend charts. Because the plugin does not support automatic polling, users must manually refresh the page or click the relevant control to fetch the latest data.

Applicable Scenarios and Caveats

  • Data source limitations: Currently, only the public Open-Meteo service is used. If the deployment environment requires private credentials, server-side caching, or strict rate-limiting policies, you need to replace the injected request capability yourself.
  • State management: There is no persistent storage. City selection and expanded/collapsed state reset after the page is refreshed.
  • Model interaction: This plugin only serves as a projection of the human-computer interface. It does not modify prompts, message content, model requests, or session logs, and it does not produce token consumption or KV cache impact.

Conclusion

This plugin provides a lightweight, backend-independent weather data solution for the DSH Web GUI. To view the source code or submit an Issue, please visit its GitHub repository.