Preface¶
DeepSeek Harness (DSH) is an agent development workflow tool. The traditional update method typically involves a full npm install, which rebuilds the entire package tree and can easily trigger OOM in memory-constrained environments (such as Docker). dsh-updater aims to solve these update efficiency and stability issues.
What Is dsh-updater?¶
dsh-updater is a community plugin maintained by Takinggg and licensed under the MIT License. It does not fork DSH or run git pull; instead, it updates by incrementally downloading npm tarballs.
Core Features¶
The plugin provides the following capabilities:
1. One-click update: Trigger an update directly from the DSH interface.
2. Incremental update: Reuse the existing engine (node_modules) and download only the changed @deepseek-ai/* packages.
3. Preserve third-party dependencies: When versions match, retain third-party dependencies (such as commander and koffi).
4. Backup and rollback: Automatically back up the engine before updating and automatically roll back if the update fails.
Installation and Enabling¶
To install the plugin, you first need to clone the repository, then add it using an absolute path. Do not use non-pinned reference formats such as github:owner/repo.
- Clone the plugin repository:
git clone https://github.com/Takinggg/dsh-updater.git
- Add the plugin to DSH (using an absolute path):
dsh plugin --profile web add /absolute/path/to/dsh-updater
- After enabling it, open the Settings → Updates panel in the DSH interface to perform operations.
Typical Usage¶
In the DSH settings panel, you can check update progress and results. The plugin supports controlling some behaviors through environment variables:
* DSH_UPDATE_MODE: Overrides display settings.
* DSH_UPDATE_RESTART: Controls process exit behavior (forced restart or keep running).
* DSH_HOME: Sets the base path for the backup, cache, and staging directories (defaults to ~/.dsh).
Applicable Scenarios and Notes¶
- Applicable scenarios: Environments where DSH needs to run in Docker containers, nvm global installs, Windows
%APPDATA%\npm, or other writable locations. - Security and limitations:
- This is a community plugin, not official DeepSeek software.
- The plugin does not run
sudoorcurl | bash. - The target version must be a
nextorlatestdist-tag published in the npm registry. - The plugin validates tarball paths to prevent directory traversal attacks.
- If validation fails, it automatically restores from
engine-bak.
Summary¶
By using incremental updates and automatic rollback, dsh-updater solves the OOM problem caused by full installations of DSH in certain environments. For users who need frequent updates or who deploy in resource-constrained environments, the plugin provides a practical maintenance solution.