
xingyingyuzhui/dsh-updater-ui
60最近提交 2026年8月14日
dsh-updater-ui DSH 插件
dsh-updater-ui 在设置中添加了「DSH 更新」页面,可以一键检查并拉取更新。它每 30 分钟自动后台检查,有更新时在导航栏显示红点。拉取操作使用 `git pull --ff-only` 安全快进,不会产生合并冲突。
如何安装 dsh-updater-ui DSH 插件
dsh plugin --profile web add dsh-updater-ui复制不会执行命令。安装 dsh-updater-ui DSH 插件前请核对仓库和版本。
dsh-updater-ui DSH 插件数据来源
dsh-updater-ui DSH 插件快照日期:2026年8月16日
discovered
dsh-updater-ui DSH 插件能做什么
- 一键检查:执行 `git fetch` 并对比本地 HEAD 与远端 master,显示落后/领先提交数。
- 版本对比:显示本地/远端 package.json 版本号,有更新时显示 `v旧 → v新`。
- 更新说明:可折叠列出新提交(短哈希 + 标题,前 15 条)。
- 一键拉取:使用 `git pull --ff-only origin master`,仅允许快进,本地有未推送提交或分叉时安全拒绝。
- 自动检查:Host 每 30 分钟后台检查(防重入),页面每 60 秒轮询缓存(零网络开销)。
- 红点提醒:有更新时设置页导航显示「DSH 更新 ●」。
- 重启提示:拉取成功后提示重启 DSH 使新代码生效。
dsh-updater-ui DSH 插件适合哪些场景
- 无需离开 Web 界面即可保持 DSH 安装最新。
- 在决定更新前快速查看是否有新提交或版本变化。
- 在生产环境中安全更新 DSH,避免合并冲突。
- 自动收到新版本通知,不错过任何更新。
- 拉取前查看最近提交的标题,评估更新是否值得。
dsh-updater-ui DSH 插件适合谁
- 希望以方便、安全的方式更新 DSH 的用户。
- 需要确保部署始终是最新版本、不想手动执行 git 命令的 DSH 管理员。
dsh-updater-ui DSH 插件的限制
- 仅当 DSH 部署是克隆自 GitHub(或拥有 `master` 分支的远端)的 git 仓库时才能工作。
- 拉取操作仅限于快进;如果本地有更改或分叉,拉取会被拒绝。
- 自动检查间隔固定为 30 分钟(Host)和 60 秒(缓存轮询),不可配置。
- 仅支持 `web` 配置文件,未在其他配置下测试。
- 需要 DSH 已安装并运行(`dsh web` 可用)。
dsh-updater-ui DSH 插件的仓库 README 摘录
以下文字摘自 dsh-updater-ui DSH 插件的上游仓库 xingyingyuzhui/dsh-updater-ui 的 README,版权归原作者,仅作引用。
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` 向上定位仓库根,随部署迁移自动跟随。 ## 安全设计 - 路
阅读完整 README仓库许可: MIT
dsh-updater-ui DSH 插件常见问题
如何安装 dsh-updater-ui?
确保 DSH 已安装且 `dsh web` 可运行。然后在终端中执行 `dsh plugin --profile web add dsh-updater-ui`。也可以从 GitHub 直接安装:`dsh plugin --profile web add github:xingyingyuzhui/dsh-updater-ui`。安装完成后重启 DSH(`dsh --profile web`),进入设置 → DSH 更新即可使用。
插件多久检查一次更新?
Host 端每 30 分钟自动检查一次。Web 页面每 60 秒轮询一次缓存结果,但不会触发新的网络请求。30 分钟间隔是固定的,无法更改。
如果我有本地更改,拉取会破坏我的工作吗?
不会。拉取命令使用 `--ff-only`,仅允许快进。如果存在未提交的本地更改、未推送的提交或分叉历史,拉取会被拒绝并给出明确错误信息。本地工作区不会被修改。
如何卸载插件?
在终端中执行 `dsh plugin --profile web remove dsh-updater-ui`,然后重启 DSH 即可完成卸载。
插件安全吗?会发送遥测数据吗?
插件没有第三方依赖,也没有遥测功能。所有 git 命令都带有超时和输出上限。HTTP 端点仅接受 POST 请求,防止跨站触发。设计上优先考虑安全性:绝不会以可能导致冲突的方式修改工作目录。