DSH Plugins Marketplace

DSH Plugins

Plugins

/

dsh-status-telemetry

a

dsh-status-telemetry

Manifest valid

A DSH client plugin: a session telemetry pill in the composer dock that expands into a token, performance and context panel.

UI (client)hasBundlePatch

status-telemetry — rich session status for the DSH composer dock

A DSH client plugin bundle that contributes a session status pill to the conversation.composer.dock slot. It sits beside the built-in chat stats entry and expands in place into a full telemetry panel.

This replaces nothing: the shipped stats entry keeps its id and continues to render. Disabling this bundle restores the previous UI exactly.

What it shows

Collapsed — one line, in the host's own type and colour language:

◔ ● 12 turns · 41 steps · 634k tok · 84% cached · 150 tok/s

The glyph dot is a live health reading derived from decode speed (ok / warn / bad).

Expanded — four sections:

SectionReadings
ConversationTurns, steps, throughput, output tokens
Token usageTotal, billed input, uncached input, cached input, cache write, cache-hit share
PerformanceLLM time, tool time, average first token, decode speed, tool share of work
ContextOccupancy (share of the advertised window), window size, projected prompt, reported prompt, plus a composition bar for system / tools / messages

Every reading is derived from host-computed projections — no client-side log folding, no polling, no model calls. When a capability is absent in the current profile, the panel says so instead of rendering a misleading zero.

Data sources

ProjectionOwner packageUsed for
sessionStats@deepseek-ai/dsh-session-statsturns, steps, LLM/tool/TTFT/decode wall time
tokenUsage@deepseek-ai/dsh-token-meteruncached/cached/cache-write input, output
contextPressure@deepseek-ai/dsh-token-meteroccupancy, window, projected and reported prompt
contextBreakdown@deepseek-ai/dsh-token-metersystem / tools / messages composition

Everything reaches the component through the slot framework's standard session kit (useProjection) and locale service. The bundle imports exactly one module, react, from the browser module table.

Layout

FilePurpose
package.jsonBundle manifest: dsh.bundle.patch plus dsh.client (platform: web)
cordis.patch.ymlInserts the status-telemetry Loader row
index.jsHost half; mountable, contributes no host behaviour
client.jsBrowser half: the ModuleLoader factory, component, styles, locale
test/client.test.mjsOffline suite: formatters, rendered output, registration contract
install.shRoot install / uninstall for the profile

Install

The plugin is installed into the DSH profile, not into /opt/dsh. On this host / is mounted read-only, so installing needs root once:

sudo /srv/workspaces/infra/status-telemetry/install.sh

The script remounts / read-write, copies the package to $DSH_PROFILE_DIR/node_modules/@local/dsh-status-telemetry, appends the bundle to dsh.profile.bundles, restores ownership, and remounts read-only. It is idempotent, and --uninstall removes everything it added, byte-for-byte restoring the profile package.json.

Only the bundle list is edited. A profile composes its bundles plus its own cordis.patch.yml, and listing a bundle applies that bundle's dsh.bundle.patch — so this package's cordis.patch.yml supplies the status-telemetry Loader row. Adding that row to the profile patch as well would load the plugin twice, and the second slot registration at the same id and priority would throw.

Then hard-refresh the page. The profile watcher recomposes the composition live; dsh-client-hmr re-serves an edited client.js within ~500 ms. A restart is only needed if the row does not appear:

sudo systemctl restart dsh.service   # rotates the web token; re-fetch on 401

Test

cd /srv/workspaces/infra/status-telemetry
node --test test/client.test.mjs

React is not present on the Node side of this host (the browser resolves it from the boot module table), so the suite exercises the component through a small React double that mimics hook dispatch and element creation; the one cross-check against real React skips itself when React is unavailable. The suite cannot verify visual appearance in the live GUI.

Design notes

  • A distinct entry, not a shadow. conversation.composer.dock is a list slot with unique ids: a second registration at the same priority throws, and reusing id: "stats" would require priority: -1 shadowing. Adding a new id keeps the built-in entry intact and makes the change reversible by disabling one row.
  • Styles ride the component. The stylesheet is rendered as a <style> element inside the entry, so unmounting removes it and the module factory stays side-effect free.
  • Theme tokens only. Every colour, radius, and elevation comes from --dsw-* tokens, so the panel follows light/dark switching and future theme changes.
  • No Harness package imports. Only react is required; the entry reads data through props and renders its own controls.

Comments

Loading…

Similar plugins

dsh-easy-balance

by LiuCrane

DSH Web UI plugin: model provider chip beside the composer plus DeepSeek and OpenCode Go balances below it, only for providers the profile configures.

Manifest valid

★ 0

JavaScript

Oct 3, 2026

dsh plugin --profile web add dsh-easy-balance

by XiaHouSheng

A DeepSeek-Harness web plugin that tracks provider token usage, prices it with a peak/off-peak table, and shows the totals in the dsh GUI — plus a standalone overview page and JSON API.

Manifest valid

★ 0

MIT

TypeScript

Aug 17, 2026

dsh plugin --profile web add dsh-token-tracker

by DIV7NE

DSH web plugin: a Run button on every chat code block that pastes into an integrated terminal, plus "Attach selection as context" from terminal output.

Terminal & ClientsManifest valid

★ 0

MIT

JavaScript

Sep 13, 2026

dsh plugin --profile web add dsh-run-in-terminal

by GooDAnDReaDY

DSH plugin: audio chimes, cross-session toasts, desktop push, and IM webhooks for turn completion, errors, and approvals.

Terminal & ClientsDevelopment & InfrastructureManifest valid

★ 0

MIT

JavaScript

Sep 25, 2026

dsh plugin --profile web add @goodandready/dsh-plugin-notify

by fufu1437

DeepSeek Harness (DSH) plugin: declare shell commands in Settings, and every one becomes a tool the model can call directly.

Development & InfrastructureManifest valid

★ 0

MIT

JavaScript

Oct 5, 2026

dsh plugin --profile web add @fufu1437/dsh-model-commands

by TwotwoPiggy

dsh余额插件. A DeepSeek Harness plugin for real-time token tracking and highly accurate session cost estimation, featuring dynamic peak/off-peak pricing support.

Tools & CapabilitiesManifest valid

★ 10

↓ 326/wk

JavaScript

Aug 17, 2026

dsh plugin --profile web add dsh-balance