dshbase

Plugin directory / Developer / dsh-safe-updater

dsh-safe-updater

Verified · install-tested on dsh lucifer726

✓ Actively maintained Builds on 2 official DSH packages

View on GitHub ↗ ← Back to plugin directory

0Stars
0Forks
0Open issues
—Language
2026-08-21Last push
Cross-platformPlatform

What it does

Guarded automatic updates for DeepSeek Harness with isolated profile smoke tests and rollback.

✅
Our take
Works — verified, early-stage project

Guarded automatic updates for DeepSeek Harness with isolated profile smoke tests and rollback. It installs cleanly and boots without issues in our testing. It's early-stage but functional.

“Verified” means our automated CI actually ran dsh plugin add in a clean profile and it booted — nothing more. Feature descriptions and version compatibility are the author’s claims. This is not a security audit and not an endorsement of third-party code.

README

dsh-safe-updater

Guarded updates for DeepSeek Harness. It checks npm releases, clones the selected profile into an isolated DSH_HOME, installs its dependencies, validates the composed config, starts a temporary Web server, and only then allows a supervised switch. Failed candidate health checks roll back to the previous version.

The default mode is notify. Installing this package does not silently replace a running Harness.

Install

dsh plugin --profile web add dsh-safe-updater

The bundle inserts the plugin with this safe default:

- insert:
    - id: safe-updater
      name: dsh-safe-updater
      config:
        mode: notify
        channel: latest
        profile: web
        checkIntervalMs: 21600000
        checkOnStart: true

Available plugin tools:

  • dsh_update_status: read current, available, staged, and rollback state.
  • dsh_update_check: check now; behavior follows the configured mode.

Modes

Mode Behavior
notify Check and record a newer release. Never install or restart.
stage Clone the profile and run install, config, and HTTP smoke checks. Never restart.
apply Stage, then request a switch from the external supervisor. Refused outside supervisor mode.

Supervisor and rollback

Run the Web profile under the updater when you want automatic activation:

dsh-safe-updater supervise \
  --version 0.1.1-rc.1 \
  --profile web \
  --host 127.0.0.1 \
  --port 3080

Then change the plugin's mode override to apply. When a staged candidate is ready, the plugin writes a version request. The supervisor starts that exact version with argv-based process spawning, waits for HTTP health, commits it, or returns to previousVersion.

Manual commands:

dsh-safe-updater check --current-version 0.1.1-rc.1
dsh-safe-updater stage --version 0.1.1-rc.1 --profile web
dsh-safe-updater status
dsh-safe-updater rollback

Trust and security model

  • Registry version strings are parsed as semantic versions and never executed as shell text.
  • Candidate commands use argument arrays with shell: false.
  • .credentials.yaml, sessions, workspaces, and other runtime data are never copied into staging.
  • State and locks are stored under ~/.dsh/safe-updater with restricted permissions and atomic replacement.
  • Smoke mode disables the updater timer to prevent recursive staging.
  • Update errors are logged and recorded; they do not interrupt the agent loop.

The selected profile's npm dependencies are still executable supply-chain inputs. Review and pin third-party plugins. Staging deliberately runs normal install scripts so native plugins are tested faithfully.

Publishing

GitHub Releases are the source and audit trail. npm is the installation channel. After configuring npm trusted publishing for this repository, set the GitHub Actions variable NPM_PUBLISH_ENABLED=true; tagged releases then publish with provenance via .github/workflows/publish.yml. Or publish locally after npm adduser:

npm publish --access public --provenance

License

MIT

Install

🧩 Let your agent install it (recommended)

Install the catalog once, then DeepSeek Harness can find and install any plugin from this site automatically:

dsh plugin add dshbase-catalog

Then say "install dsh-safe-updater for me" — your agent finds it in the directory and installs it. Docs: dshbase-catalog · verified packs.

This plugin is GitHub source (not published to npm) — install it straight from the repo:

Web profile:

dsh plugin --profile web add github:lucifer726/dsh-safe-updater

Headless (CLI) profile:

dsh plugin --profile headless add github:lucifer726/dsh-safe-updater

Test report

Verified: L1 install + L2 load + L3 runtime from GitHub source on dsh 0.1.0-rc.6.

Security: not yet scanned — our daily static scan will cover it shortly.

Share this badge

More in Developer

Browse all 7819 plugins →