dshbase

插件目录 / Developer / dsh-safe-updater

dsh-safe-updater

已验证 · 实测可装 lucifer726

✓ 持续维护 基于 2 个官方 DSH 包

查看 GitHub ↗ ← 返回插件目录

0Stars
0Forks
0未关闭 issue
—语言
2026-08-21最近推送
跨平台平台

功能简介

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

✅
我们的评价
可用 — 实测通过,早期项目

Guarded automatic updates for DeepSeek Harness with isolated profile smoke tests and rollback. 实测能干净安装、正常启动。早期项目,但功能可用。

「已验证」表示我们的自动化 CI 在干净 profile 里实际执行了 dsh plugin add 并启动成功——仅此而已。功能描述与版本兼容性均为作者声明。这不是安全审计,也不代表对第三方代码的背书。

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

安装

🧩 让 Agent 自动装(推荐)

装一次目录插件,之后本站所有插件都能让 DeepSeek Harness 自动找、自动装:

dsh plugin add dshbase-catalog

然后对 agent 说「帮我装 dsh-safe-updater」,它会在目录里找到并自动安装。文档:dshbase-catalog · 已验证场景包。

该插件是 GitHub 源码(未发 npm)——直接从仓库装:

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

实测报告

验证通过:从 GitHub 源码完成 L1 安装 + L2 加载 + L3 运行(dsh 0.1.0-rc.6)。

安全:尚未扫描——我们的每日静态扫描将很快覆盖它。

分享徽章

Developer 里更多

浏览全部 7819 个插件 →