DeepSeek Harness Plugin Hub

Publish and manage complete Harness Profiles. Discover Plugins for your next setup.

Explore

PluginsPresetsDocsNews

Community

Publish a pluginContactReport an issue

Resources

Plugin Hub on GitHubDeepSeek HarnessSystem statusPrivacy notice
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

Independent and unofficial. Not affiliated with, authorized by, or endorsed by DeepSeek.

DeepSeek Harness Plugin Hub
ProfilesPluginsCategoriesNewsDocsSign inManage Profiles
ProfilesPluginsCategoriesNewsDocsSign in
← Plugins

@tom2012/dsh-monitor

Monitor

DeepSeek Harness plugin: local and remote server CPU/memory/disk readout under the composer, with a Monitor tab in Settings

The plugin will be installed here. Keep web if you are unsure.

npx -y @deepseek-ai/dsh plugin --profile web add @tom2012/dsh-monitor@1.0.1
READMECompatibilityVersions

Compatibility and provenance

Monitor is published as @tom2012/dsh-monitor and currently resolves to version 1.0.1. The Hub verifies its manifest and preserves the exact installation source for reproducible installs.

DSH compatibility
*
Runtime surfaces
web
Release source
npm
Registry updated
11/5/2026

Versions

1.0.1stable
10/25/2026
1.0.0stable
10/25/2026

Related plugins

Loading related plugins…

Latest
1.0.1
DSH
*
HMR
Process restart
Tree shaking
Safe tree shaking not declared
Unpacked size
32.6 kB
Files
9
Surface
web
License
MIT
Source
npm
Weekly downloads
73
View source ↗Project homepage ↗
README badge

Click the badge to copy Markdown for your README.

Do you maintain this Plugin?Claim benefit · Priority security scan

Verify the GitHub repository declared in package.json to manage this listing. After you claim it, Hub will prioritize a security scan of the current version and publish the result when it passes.

Claim this Plugin →
Report an issue

Related plugins

More verified plugins in ui-customization.

Web App@deepseek-ai/dsh-web-appThe dsh browser-surface bundle: the web patch layer over dsh-base plus the runtime glue plugin (frontend dist serving, web-surface prompt, bash runtime variables, URL line)Experimental Session Titles Bundle@deepseek-ai/dsh-experimental-session-titles-bundleRefresh session titles as new human prompts arrive.Personalized Recommendations@deepseek-ai/dsh-personalized-recommendationsPersonalized pages and built-in plugin recommendations offered as cards below answersWhale Widgetdsh-whale-widgetDeepSeek balance whale widget in the bottom-right corner of the DSH Web interface: balance/today’s usage/peak-off-peak pricing, customizable bubble click sequence (text/balance/today/peak-off-peak/image/random phrases and parallel weighted selection), per-line styles and fonts, floating quick editin

README

dsh-monitor

A DeepSeek Harness (DSH) plugin that shows CPU / memory / disk usage of this machine and any number of remote Linux servers, live, right below the chat composer.

What it does

Renders a single compact entry under the composer (input box) showing the currently selected host:

Local ▾   CPU 12.3%  Mem 45.6%  Disk 70.5%

Clicking the entry opens a popover that lists every host — the machine running DSH ("local") plus all configured servers — with their live readings. Pick one to make it the displayed host; the choice is remembered across reloads.

  • The local host is the machine running DSH.
  • Values refresh every 2 seconds; remote readings are cached for 5 seconds.
  • Follows the built-in composer statistics styling (same color as the token / cache-hit pills).
  • Bilingual labels (Local / 本机, Mem / 内存, Disk / 磁盘), localized through the DSH locale service.

Install

Install the bundle into a profile:

dsh plugin --profile <profile-name> add @tom2012/dsh-monitor

Or, during local development, link the source directory directly:

dsh plugin --profile <profile-name> add /path/to/dsh-monitor

The plugin registers a conversation.composer.dock entry (order: 2, after the built-in activity and usage pills), so the local host appears with no further configuration.

Configure remote servers

Remote servers are managed from the settings window — no file editing needed:

  1. Open Settings (⚙️).
  2. Pick the Monitor tab in the left-hand nav.
  3. Add, edit, or remove servers, then Save.

Each server has these fields:

FieldRequiredDefaultNotes
id✅—Short unique name, e.g. node01
label—falls back to idDisplay name
host✅—IP or hostname, e.g. 192.168.1.10
port—22SSH port
user—rootSSH login user
keyPath—""Explicit private key path; empty uses the default ssh key

Changes take effect immediately (no restart). The same servers array can also be set declaratively in the profile's cordis.patch.yml (that patch layer survives bundle upgrades):

- id: dsh-monitor
  name: "@tom2012/dsh-monitor"
  config:
    servers:
      - id: node01
        label: node01        # optional; falls back to id
        host: 192.168.51.110
        port: 22             # optional; default 22
        user: root           # optional; default root
        keyPath: ""          # optional; use an explicit private key, else the default ssh key
  • Remote collection uses SSH with key authentication (BatchMode=yes); password prompts are intentionally unsupported.
  • The remote host must be Linux (reads /proc/stat, /proc/meminfo, and df).
  • A server that fails to connect shows a dash for its row without affecting the others.

How it works

@tom2012/dsh-monitor is a dual-face bundle plugin:

  • Host half (index.js, Node.js) — samples local os.cpus(), os.totalmem()/freemem(), and statfs('/'), and, for each configured server, runs a short SSH command that reports CPU / memory / disk. It serves everything as JSON through the Harness connection layer:

    ctx.connection.fetch.register({
      path: '/api/dsh-monitor/metrics',
      methods: ['GET'],
      requestBody: 'buffered',
      fetch: async () => Response.json({ local, servers }),
    });
    
  • Client half (client.js, browser) — polls /api/dsh-monitor/metrics with a same-origin fetch every 2 seconds and renders the selected host's reading into conversation.composer.dock, with a popover to switch hosts. It also registers a settings.section entry (id dsh-monitor, order 16) that renders the server editor as its own tab in the Settings window, reading and writing the dsh-monitor namespace through the configForms service (form.getSnapshot / form.subscribe / form.mutate).

No persistent data is collected; all metrics are read on demand.

Project layout

.
├── index.js            # Host half: local + SSH sampling, /api fetch route
├── client.js           # Client half: composer.dock UI + server settings page
├── cordis.patch.yml    # Loader insert for the bundle
├── package.json        # Bundle manifest (dsh.bundle.patch + dsh.client)
├── locale/
│   ├── en.json         # English meta
│   └── zh.json         # Chinese meta
└── icon.svg            # Plugin icon

Requirements

  • DeepSeek Harness (DSH) with the @deepseek-ai/dsh-client-connection bundle (ships with the standard Desktop / Web profile).
  • An ssh client on PATH for remote-server monitoring.

License

MIT