Skip to content

xingyingyuzhui/dsh-updater-ui

60Last commit Aug 14, 2026

dsh-updater-ui DSH plugin

dsh-updater-ui adds a 'DSH Updates' page under Settings, allowing you to check for updates and pull them with a single click. It runs automatic background checks every 30 minutes and shows a red dot on the navigation when an update is available. The pull operation uses `git pull --ff-only` to safely fast-forward without merge conflicts.

How to install the dsh-updater-ui DSH plugin

dsh plugin --profile web add dsh-updater-ui

Copying does not run this command. Review the repository and version before installing the dsh-updater-ui DSH plugin.

dsh-updater-ui DSH plugin data source

dsh-updater-ui DSH plugin snapshot date: Aug 16, 2026

discovered

What the dsh-updater-ui DSH plugin can do

  • One-click check: runs `git fetch` and compares local HEAD to remote master, showing ahead/behind commit counts.
  • Version comparison: displays local vs. remote package.json versions, showing `v旧 → v新` when an update exists.
  • Update notes: collapsible list of new commits (short hash + title, up to 15).
  • One-click pull: uses `git pull --ff-only origin master` – only fast-forward, safely rejects if local has unpushed commits or divergence.
  • Automatic check: host checks every 30 minutes (anti-reentry), page polls cache every 60 seconds (no network overhead).
  • Red dot reminder: shows 'DSH 更新 ●' on the settings navigation when an update is available.
  • Restart prompt: after a successful pull, prompts user to restart DSH to apply new code.

Where the dsh-updater-ui DSH plugin fits

  • Keep your DSH installation up-to-date without leaving the web interface.
  • Quickly see if there are new commits or version bumps before deciding to update.
  • Safely update DSH in a production environment where merge conflicts must be avoided.
  • Get notified automatically when a new version is available, so you never miss an update.
  • Review recent changes (commit titles) before pulling to decide if the update is worth taking.

Who the dsh-updater-ui DSH plugin is for

  • DSH users who want a convenient, safe update mechanism.
  • DSH administrators who need to ensure their deployment is always on the latest version without manual git commands.

dsh-updater-ui DSH plugin limitations

  • Only works if the DSH deployment is a git repository cloned from GitHub (or a remote with a `master` branch).
  • The pull operation is limited to fast-forward only; if local changes or divergences exist, the pull is rejected.
  • Automatic check interval is fixed at 30 minutes (host) and 60 seconds (cache poll); not configurable.
  • Only supports the `web` profile; not tested with other profiles.
  • Requires DSH to be already installed and running (`dsh web` must work).

dsh-updater-ui DSH plugin: from the repository README

Quoted from the xingyingyuzhui/dsh-updater-ui README, the upstream source of the dsh-updater-ui DSH plugin. Copyright remains with the original authors.

DeepSeek Harness(DSH)更新检查插件:在**设置 → DSH 更新**页一键检查并拉取更新,自动后台检查 + 导航红点提醒。 ## 功能 - **一键检查**:`git fetch` 后对比本地 HEAD 与远端 `master` 的落后/领先提交数 - **版本对比**:本地/远端 `package.json` 版本号,有更新时显示 `v旧 → v新` - **更新说明**:可折叠列出新提交(短哈希 + 标题,前 15 条) - **一键拉取**:`git pull --ff-only origin master`——仅快进,本地有未推送提交或分叉时**安全拒绝**,绝不产生合并冲突 - **自动检查**:Host 每 30 分钟后台检查(防重入),页面每 60 秒轮询缓存(零网络开销) - **红点提醒**:有更新时设置页导航显示「DSH 更新 ●」 - **重启提示**:拉取成功后提示重启 DSH 使新代码生效 ## 安装 前置:已安装 DSH(`dsh web` 可运行)。 ```sh # npm 源 dsh plugin --profile web add dsh-updater-ui # 或直接从 GitHub 安装 dsh plugin --profile web add github:xingyingyuzhui/dsh-updater-ui ``` 装完**重启 DSH**(`dsh --profile web`),然后打开 **设置 → DSH 更新**。 ## 使用 打开 **设置 → DSH 更新**: - 页面自动显示当前状态(✅ 已是最新 / ⚠️ 落后 N 个提交) - 点击 **一键拉取更新**:有更新则快进到最新并提示重启;已最新则提示无需更新;本地有分叉则安全拒绝并给出原因 - **重新检查** 随时强制刷新 ## 工作原理 | 面 | 文件 | 说明 | | --- | --- | --- | | Host | `host.js` | 注册两条 HTTP 路由(`POST /dsh-updater/check`、`POST /dsh-updater/pull`,仅 POST 防跨站触发)+ 30 分钟自动检查 timer。零 import,不依赖部署的 node_modules | | Client | `client.js` | `__ModuleLoader__` bundle:注册设置页「DSH 更新」+ 导航红点,通过同源 `fetch` 调用 Host 路由 | 仓库定位不硬编码:通过 `agentPresets` 服务找到部署配置目录,再 `git rev-parse --show-toplevel` 向上定位仓库根,随部署迁移自动跟随。 ## 安全设计 - 路

Read the full READMERepository license: MIT

dsh-updater-ui DSH plugin questions

How do I install dsh-updater-ui?

Ensure DSH is installed and `dsh web` works. Then run `dsh plugin --profile web add dsh-updater-ui` from your terminal. Alternatively, you can install directly from GitHub: `dsh plugin --profile web add github:xingyingyuzhui/dsh-updater-ui`. After installation, restart DSH (`dsh --profile web`) and open Settings → DSH Updates.

How often does the plugin check for updates?

The host-side check runs every 30 minutes automatically. The web page also polls a cached result every 60 seconds, but this does not trigger a new network request. The 30-minute interval is fixed and cannot be changed.

What happens if I have local changes? Will the pull break my work?

No, the pull command uses `--ff-only` which only allows fast-forward merges. If you have uncommitted local changes, unpushed commits, or a divergent history, the pull will be rejected with a clear error message. Your local workspace will not be modified.

How do I uninstall the plugin?

Run `dsh plugin --profile web remove dsh-updater-ui` from your terminal. Then restart DSH to complete the removal.

Is the plugin safe? Does it send any telemetry?

The plugin has no third-party dependencies and no telemetry. All git commands are executed with timeouts and output limits. The HTTP endpoints only accept POST requests to prevent cross-site triggering. The design prioritizes safety: it never modifies your working directory in a way that could cause conflicts.