dsh-client-ui-connection-status
v0.1.2
Published
DSH Web client plugin: a corner pill that shows live connection state (已连接 / 已断开 / 连接中…) by observing ctx.connection.hostDescription. Works on desktop and mobile.
Maintainers
Readme
dsh-client-ui-connection-status
A client plugin for the DeepSeek Harness Web UI that shows a small corner pill with the live connection state:
| State | Pill | Meaning | |---|---|---| | 🟢 已连接 | green | Event streams open, host reachable | | 🔴 已断开 | red | Connection lost (server restart, tailnet drop, offline) | | 🟡 连接中… | amber | Page just loaded, not yet connected |
It observes ctx.connection.hostDescription — the app's own readiness signal
(published on every successful readiness handshake, cleared the moment the
streams are lost) — so the pill reflects exactly what the app experiences.
Works on desktop and mobile. The pill is pointer-events: none and never
interferes with the UI.
Requires a dsh installation with the web profile (0.1.0-rc.6 or newer).
Install into a dsh web profile
# 1) install the package into the profile (forwards to pnpm; a local path or
# an npm package name both work)
dsh plugin --profile web add dsh-client-ui-connection-status
# 2) register the client plugin row in the profile patch layer. Append to
# $DSH_HOME/profiles/web/cordis.patch.yml — it MUST be an INSERT list;
# a plain {id, name} patch only overrides an existing row and is silently
# skipped for a new plugin:
- insert:
- id: ui-connection-status
name: dsh-client-ui-connection-status
# 3) restart the web process (stop and start `dsh web`; on Windows the logon
# task or your service manager will do this on reboot)After the restart, the node half scans the Loader entry, serves
/plugins/dsh-client-ui-connection-status/client.js, and the shell loads it
on the next page refresh — the pill appears in the bottom-right corner.
Verify it works
- Open the app and look for the corner pill: it should settle on 🟢 已连接 shortly after load (🟡 连接中… → 🟢 已连接).
- In Settings → Plugins, the row
ui-connection-statusshould be listed and enabled. curl http://<your-host>:3080/plugins/dsh-client-ui-connection-status/client.jsshould return200.
Uninstall
dsh plugin --profile web remove dsh-client-ui-connection-status
# and remove the insert block you added to cordis.patch.yml, then restart the webPublish a new version (maintainers)
npm version patch # or minor / major
npm publish # requires npm auth; 2FA token or --otp as configuredThe package is dependency-free and self-contained (lib/client.js is the
client bundle; no build step required). The published tarball contains exactly
package.json, lib/client.js, lib/index.js, README.md, LICENSE.
License
MIT
