Introduction

The core philosophy of DeepSeek Harness (DSH) is “everything is a plugin”. During development or use, keeping the main DSH program version up to date can help avoid potential compatibility issues or missing features. Manually checking the version number or visiting npm to search for the latest release usually requires leaving the current interface. The dsh-update-checker plugin aims to solve this pain point by integrating version checking into the session top bar of the Web GUI, providing instant version-status feedback.

Core Features

The plugin provides the following core capabilities:

  • Top-bar version badge: The plugin is registered in the actions area of the session top bar (next to the title). It uses additive registration and does not replace DSH’s built-in UI components.
  • Automatic checking: A version check is automatically triggered once when the page loads, without manual operation.
  • Status feedback: The badge displays three states:
    1. Already up to date: Displays “Already the latest version”.
    2. New version available: Displays “Update to vX.Y.Z”, with a red dot appearing in the upper-right corner.
    3. Check failed: The badge turns red and displays “Check failed”.
  • Comparison panel: Clicking the badge triggers an immediate recheck and pops up a panel showing the current version, latest version, update status, and upgrade instructions.
  • Diagnostics: When a check fails, the panel displays a detailed diagnostics block (including specific records of current-version and latest-version detection) to make troubleshooting easier.

Installation and Activation

Install the plugin using the official command. After installation is complete, restart dsh to make it take effect.

dsh plugin --profile web add github:<your-username>/dsh-update-checker

How It Works

  • Current version detection: Attempts to read, in order, the installation path (process.cwd()/node_modules/@deepseek-ai/dsh/package.json), common global installation paths (such as /usr/local/lib and /opt/homebrew/lib), and the npm cache directory.
  • Latest version detection: Preferentially requests registry.npmmirror.com; if it fails, it retries registry.npmjs.org.
  • Result caching: Check results are cached for 60 seconds. Clicking the badge bypasses the cache and forces a refresh.

Notes

  • Privacy: Network requests are directed only to public npm registries (npmmirror.com / npmjs.org). No local data is collected, and there is no telemetry or file writing.
  • Limitations: Current-version detection depends on the installation location. If detection fails, the diagnostic panel provides the specific reason. The badge only appears in sessions that have a title bar; it does not appear in empty new sessions (without a title bar). This plugin checks the version of DeepSeek Harness (@deepseek-ai/dsh) itself, not the plugin version.

Advanced Usage (Dynamic Cordis Plugin)

In addition to the installable package form, the plugin also supports being dynamically defined and run within a session. In the session tools of the dsh Web GUI, call cordis_define and cordis_run:

  1. Call cordis_define, using the contents of host.js as code.host and the contents of client.js as code.client (set plugin.kind: 'new' and idPrefix to 3-6 lowercase letters).
  2. Call cordis_run to activate the plugin.
  3. Refresh the page to see the badge in the session top bar.

Note: The lifecycle of a dynamic plugin is bound to the current dsh process. It must be redefined after a restart.

The plugin provides DSH users with an intuitive version-management entry point, helping developers quickly keep track of tool updates. Project address: https://github.com/YZz-S/dsh-update-checker