DeepSeek Harness (DSH) is a framework for agent development. During development, restarting services or checking for version updates are common needs. The following introduces dsh-admin, a Web GUI plugin that provides these features.

What This Is

dsh-admin is a DeepSeek Harness Web GUI management plugin. It is maintained by xiaokang6. It is designed to address manual restarts and automatic version checking by integrating an embedded UI into the web interface.

Core Features

Manual Restart

Provides a button in the session header next to the session log. After clicking it, the plugin executes systemd-run + dsh-plugin-op restart, using local convention scripts to stop systemd, clean up orphaned instances on :3080, start the service, and run a health check.

Automatic Version Check

The plugin automatically compares the installed @deepseek-ai/dsh with the npm latest tag. Checks are performed on load and then every 6 hours. The panel displays the current/latest/last checked version, along with a status dot (green = up to date, yellow = update available, red = check failed).

One-Click Update

When a new version is available, a blue “Update to Latest” button appears. It runs npm install -g @deepseek-ai/dsh@latest (using --allow-scripts to handle native dependencies) and then automatically restarts the service.

Embedded UI

The plugin does not have a standalone page:
- A header button in the top-right area, 🟢 0.1.1 (in the session header toolbar) -> clicking it opens a floating panel (z-index 9999) with version status, a check button, an update button (if available), service information, and a restart button.
- Settings -> DSH Admin full-page view.

Installation and Enablement

Install using the plugin manager:

dsh plugin --profile web add xiaokang6/dsh-admin

After installation, ensure that ~/.dsh/profiles/web/cordis.patch.yml includes the dsh-admin entry so that the plugin loads.

Typical Usage

  1. Check via UI: Click the header button 🟢 0.1.1 to open the floating panel and check the status.
  2. Check via Settings: Navigate to Settings -> DSH Admin to view the complete page view.
  3. Update via API: Use POST /plugin/dshadmin/update with body {"confirm":true} to update.

Use Cases and Notes

  • Dependencies: Requires DeepSeek Harness (@deepseek-ai/dsh) installed via npm, and Linux + systemd.
  • Restart Priority:
    1. systemd-run + dsh-plugin-op restart (isolated cgroup)
    2. Plain dsh-plugin-op restart
    3. systemctl --no-block restart dsh
    4. socket-pid kill + restart
  • Hot Reload: Client-side changes are automatically picked up via HMR; host-side changes require a service restart.
  • Permissions: The plugin runs with the permissions of the current dsh process. Please check the source code and license before installing.

Summary

dsh-admin simplifies DSH maintenance through manual restarts, automatic version checks, and one-click updates. The related directory and source code can be found on GitHub.