Introduction¶
The philosophy of DSH is “Everything is a plugin”. When developing or debugging in the DeepSeek Harness (DSH) Web GUI, it is often necessary to see local CPU, memory, disk, network, load, uptime, and GPU status. dsh-sysmon is a plugin for DSH that provides a small floating window in the bottom-right corner of the Web GUI, centralizing the display of local system performance information.
What is it¶
dsh-sysmon is maintained by 21hbguo and provides a system performance dashboard for the DSH Web GUI. It consists of two parts: host-side collection and client-side display: the host side is responsible for collecting metrics, while the client side uses native DOM to render the floating window. This plugin must run within the DSH process and cannot be used independently.
Core Features¶
Below are the verified plugin capabilities.
Real-time Metrics¶
- Real-time display of CPU, memory, disk, network, load, uptime, and GPU.
- Network download/upload speeds are displayed per line, with progress bars automatically scaled based on recent peaks.
- Hovering over the network row displays the Top 10 processes for network traffic; if byte counts are unavailable, it falls back to displaying based on active connection count.
- Multiple disk mount points are listed, filtering out virtual file systems like
proc,sysfs, andtmpfs. - GPU support includes sampling via AMD
sysfsand NVIDIAnvidia-smi; it silently degrades in other environments.
Floating Window Behavior¶
- Supports dragging, collapsing, and hiding the floating window.
- Window position is persisted to
localStorage. - Polling automatically pauses when the page is not visible; the host side uses
cacheMsfor caching.
Settings¶
- Provides a settings card for the
sysmonnamespace. - Allows toggling
enabledand adjustingcacheMs.
Installation and Enablement¶
Prerequisites¶
First, confirm that there is an environment running DSH. If building from source, a DSH source checkout (including node_modules) is required; a Release tgz can also be used.
Assembly after Source Build¶
After building from source, assemble the plugin into the DSH web profile. The plugin directory must be an absolute path:
dsh plugin --profile web add link:/absolute/path/to/dsh-sysmon
Hot Injection during Development¶
During development, the plugin can also be hot-injected into a DSH session:
dev_inject_plugin /absolute/path/to/dsh-sysmon
Typical Usage¶
After assembly as described above, you can verify it as follows:
- After refreshing the Web GUI page, a “Performance” floating window appears in the bottom right corner.
- Hover over the ↓Download / ↑Upload rows to view the Top 10 Network Processes overlay.
- Click the title to collapse, drag the title bar to move the position, and after clicking × to hide, a “Performance” summon button appears.
- Go to Settings -> Plugins -> System Performance Dashboard to toggle
enabledand adjustcacheMs.
Applicable Scenarios and Notes¶
- Suitable for users who need to check local performance status in the DSH Web GUI.
- Network total speed, Top 10 network processes, and process count are only supported on Linux.
- GPU is only displayed when AMD
sysfsor NVIDIAnvidia-smiis available; it silently degrades in other environments. - The plugin runs with the current DSH process permissions; source code and license should be checked before installation.
- There is a conflict in license information: the README marks
BSD-3-Clause, whilepackage.jsonmarksMIT. - The snapshot endpoint has no authentication (same origin as DSH Web); do not expose DSH directly to the public internet.
- The plugin only collects system metrics, with no telemetry or external connections;
localStorageonly stores window position and visibility.
Links¶
GitHub:https://github.com/21hbguo/dsh-sysmon