In the plugin-based architecture of DeepSeek Harness (DSH), Agent execution depends on the locally installed Harness toolchain. When a new version of Claude Code or Codex CLI is released, developers need to manually confirm the local installation channel and run the corresponding upgrade command. This process is prone to interruption due to incorrect channel identification. The dsh-harness-updater plugin aims to automate this workflow.

Plugin Overview

This is a client-side plugin maintained by leonardoxr. Its core function is to automatically detect the locally installed versions of Claude Code and Codex CLI and compare them with the latest released versions. The plugin displays update information in the DSH Web UI and, after user confirmation, executes the one-click upgrade command for the corresponding installation channel.

Core Features

  • Version Detection and Comparison: Scans tools in the PATH environment variable, probes their --version information, and compares it against the npm registry.
  • Multi-Channel Identification and Upgrade: Automatically identifies the local tool’s installation channel (native installation, npm/pnpm/bun global installation, Homebrew, etc.) and executes the corresponding upgrade command.
  • Interactive Updates: Displays an update card in the DSH settings plugin list, showing the difference between the current and latest versions, and provides an Update button.
  • Security Mechanisms:
    • Update operations are restricted to POST requests and are protected by the Same-Origin Policy and loopback checks.
    • Serial locks are applied per installation channel to prevent conflicts caused by concurrent updates.
    • A hard timeout mechanism is enforced, terminating the related process tree after the timeout expires.
    • User click-triggering is required; no background scheduled tasks run automatically.

Installation and Enablement

This plugin is introduced into the DSH profile using pnpm.

  1. Run the installation command in the DSH profile directory:
    pnpm install
  1. Go to Settings → Plugins → Harness updater in the DSH Web UI to configure it.

Typical Usage

After installation, the plugin generates an Updates card in the DSH settings interface. This card lists all detected Harness tools and displays a comparison of current version → latest version. After clicking the Update button, the plugin executes the upgrade command based on the identified installation channel (for example, claude update or brew upgrade ...). Once the upgrade process finishes, the plugin re-probes to verify the result and reports a success, no-change, or failure status.

Use Cases and Notes

  • Environment Requirements: Node.js version >= 20 is required, and the profile must satisfy specific peer dependencies (such as @deepseek-ai/cordis, @deepseek-ai/dsh-client-runtime, etc.).
  • Permissions and Security: The plugin runs with the permissions of the current DSH process. Update operations only support POST requests and must be explicitly triggered by a user click; they will not run silently in the background.
  • Installation Source: The plugin is open-sourced under the MIT license. It is recommended to review the source code and license before installation.

Conclusion

dsh-harness-updater solves the cumbersome maintenance of multi-channel CLI toolchains by automatically identifying installation channels and requiring user confirmation. For developers who need to frequently update Claude Code or Codex CLI, this plugin can significantly improve maintenance efficiency.