DeepSeek Harness plugin

dsh-admin

DeepSeek Harness Web GUI admin plugin: manual restart + auto version check (header button + settings page)

Jump to install

Source facts

Repository
xiaokang6/dsh-admin
Latest update
Aug 18, 2026
Category
UI Enhancements
GitHub stars
0
Format
plugin
Catalog evidence
Upstream dsh.bundle evidence
Evidence path
package.json#dsh.bundle
Checked against
0.1.0-rc.8
Upstream check date
2026-08-20

This evidence comes from the upstream catalog. This site has not installed, run, or security-reviewed the plugin.

Install

Start with a prompt that asks an agent to review the GitHub repository and source. Switch to the command if you want to install it yourself.

Copy this prompt into DSH, Codex, or another agent and ask it to review the GitHub repository and source first.

Do not install or run any commands yet. Read this plugin's GitHub repository, README, and relevant source code. Then answer the questions below clearly and directly so I can decide whether it fits my needs:

1. What is this plugin, and what problem does it solve?
2. Who is it for, and what are its typical use cases?
3. How is it used after installation? Include one minimal example.
4. What known limitations or privacy, security, compatibility, or maintenance risks does it have?
5. Give a clear recommendation: recommend, conditionally recommend, or do not recommend, with reasons.

Distinguish statements documented by the repository, inferences from source code, and unknowns. If evidence is insufficient, say so explicitly. Do not guess or simply repeat the README.

GitHub: https://github.com/xiaokang6/dsh-admin
Plugin: dsh-admin
Author: xiaokang6

Check the source files

Read the README and other files from this plugin directory before installing.

File explorer3 files
README.mdSource · read only

dsh-admin

A DeepSeek Harness Web GUI admin plugin: manual restart + automatic version check for the Harness itself. The UI is embedded directly into the Web GUI (header button + settings page), following the same pattern as dsh-usage-stats.

Features

  • Manual restart — a button in the session header (top-right, beside session log): one click schedules a clean restart of the dsh web service (double-confirm, then systemd-run + dsh-plugin-op restart — the local convention script that stops systemd, clears orphan instances on :3080, starts clean, and health-verifies).
  • Auto version check — compares the installed @deepseek-ai/dsh against the npm latest tag (semver-aware: stable > rc). Checked on load, then every 6 hours on the host; the panel shows current/latest/last-checked and a status dot (green = up to date, yellow = update available, red = check failed).
  • One-click update — when a newer version is available, a blue "Update to latest" button appears: it runs npm install -g @deepseek-ai/dsh@latest (with --allow-scripts for native deps) and then auto-restarts the service so the new version takes effect.
  • Embedded UI — no standalone page:

- Top-right header button 🟢 0.1.1 (session header utilities slot, beside session log — never overlaps anything) → click to open a floating panel (top layer, z-index 9999): version status, check-now button, update button (when newer available), service info, restart button. - Settings → DSH Admin full page (same content, larger layout).

Routes (host half)

RouteDescription
GET /plugin/dshadmin/statusJSON: current/latest version, isNewer, service info (pid, systemd, restart command)
GET /plugin/dshadmin/health{ok:true}
POST /plugin/dshadmin/checkForce re-check npm latest
POST /plugin/dshadmin/updateUpdate @deepseek-ai/dsh to npm latest then auto-restart (body must be {"confirm":true})
POST /plugin/dshadmin/restartSchedule restart (body must be {"confirm":true})

Restart priority: ① systemd-run + dsh-plugin-op restart (isolated cgroup — dsh.service is KillMode=control-group, a direct spawn would be killed by its own systemctl stop dsh; the transient unit runs the whole script: stop → clear :3080 orphans → clean start → health check) → ② plain dsh-plugin-op restart → ③ systemctl --no-block restart dsh → ④ socket-pid kill + relaunch.

Install

The package is a profile bundle (its manifest declares dsh.bundle.patch).

# Option A — install via the plugin manager
dsh plugin --profile web add xiaokang6/dsh-admin

# Option B — manual copy (never run npm install in the profile dir)
git clone https://github.com/xiaokang6/dsh-admin /tmp/dsh-admin
cp -r /tmp/dsh-admin ~/.dsh/profiles/web/node_modules/dsh-admin

Then make sure ~/.dsh/profiles/web/cordis.patch.yml contains:

- insert:
    - id: dsh-admin
      name: 'dsh-admin'

Restart dsh web (or use your local restart command) and hard-refresh the browser. Host changes require a service restart; client changes are picked up by client-modules HMR on page refresh.

Requirements

  • DeepSeek Harness (@deepseek-ai/dsh) installed via npm (global install; the restart chain uses dsh-plugin-op when present)
  • Linux + systemd (restart path; the check/UI parts work anywhere)

License

MIT