Introduction

A Profile Bundle plugin for the DeepSeek Harness (DSH) Web GUI. It provides one-click updates for a local DSH repository via a sidebar button. For developers who frequently iterate on local code, the plugin removes the need to manually run git and pnpm commands in the terminal, encapsulating the complete update workflow in the web interface.

Installation and Enablement

The plugin is distributed as a Profile Bundle and can be installed and automatically enabled with a single command.

dsh plugin --profile web add @zhucy123/dsh-update

After installation, restart the DSH Web process. A circular “⭯ Update DSH” button will appear at the bottom of the sidebar, above the Settings button.

Core Features

  1. Version comparison: Reads the local checkout and compares it with remote dsh-v* tags.
  2. Pre-update confirmation: When a new version is detected, it does not execute automatically. Instead, it first displays the local/remote versions and update contents; after confirming, click start.
  3. End-to-end update: Automatically runs git fetch --tags, git stash (stashes local changes), git checkout, pnpm install, pnpm run clean, and pnpm run build.
  4. Automatic pre-build clean: After switching versions, automatically cleans old build artifacts to prevent MISSING_EXPORT errors.
  5. Post-build verification: Completion requires both install and build to succeed.
  6. Update contents display: Displays the GitHub Releases notes for that version in the panel.
  7. Automatic restart: About 2 seconds after a successful update, dsh restarts automatically; or manually click “Restart DSH”.
  8. Version rollback: Select a previous dsh-v* tag from the panel dropdown to roll back.
  9. Local changes safety: Automatically runs git stash push -u before updating to protect local modifications.
  10. Automatic rollback on failure: After switching to the new version, if install/build fails, automatically rolls back to the original version.
  11. Concurrency protection: Only one update task is allowed at a time.
  12. Cross-platform: Supports Windows / Linux / macOS.

Usage

  1. Start dsh web and click the circular “⭯ Update DSH” button at the bottom of the sidebar.
  2. The panel automatically checks versions and displays local and remote version information.
  3. If a new version is available, preview the update contents and then click “Start Update”.
  4. Wait for the progress bar. During the build phase, the page may suddenly become blank. This is normal (the build phase replaces web resource files).
  5. After the update completes, it restarts automatically in about 2 seconds, or manually click “Restart DSH”.

Requirements

  1. A local git checkout of deepseek-harness is required, and its origin must contain dsh-v* tags.
  2. GitHub must be reachable from the local machine (if unreachable, the plugin will try using the gh-proxy.com mirror).
  3. Node.js ≥ 18 is required, and git and pnpm must be installed on the system (on POSIX systems, if pnpm is absent, it automatically falls back to corepack pnpm).

Notes

  1. During updates, the entire page may suddenly become blank (the build phase replaces web resource files). This is normal.
  2. By default, it automatically locates the update directory (searching upward for .git from the process cwd). This can be overridden by an environment variable or plugin config.
  3. The plugin is distributed as a Profile Bundle and is automatically enabled after installation, with no manual config editing required.