DeepSHPlugins
dsh-updater-ui 專案預覽
GITHUB / COMMUNITY PROJECT

dsh-updater-ui

生態與開發JavaScriptMIT

設定頁中的 DSH 自助更新器:一鍵檢查/拉取(git pull --ff-only)、自動後臺檢查、版本對比與更新說明預覽,帶紅點提醒。

6 Starsxingyingyuzhui 更新時間 2026-08-21
訪問 GitHub 倉庫
dsh-updater-ui 專案預覽

專案介紹

中文

設定頁中的 DSH 自助更新器:一鍵檢查/拉取(git pull --ff-only)、自動後臺檢查、版本對比與更新說明預覽,帶紅點提醒。

English

DSH self-updater in the settings page: one-click check/pull (`git pull --ff-only`), auto background checks, version diff and changelog preview with a red-dot reminder.

專案資訊與收錄訊號

快照 2026-09-11
作者 / 組織
xingyingyuzhui
倉庫
xingyingyuzhui/dsh-updater-ui
GitHub Stars
6
Forks
0
開發語言
JavaScript
許可證
MIT
最近推送
2026-08-21
Manifest
資料中檢測到宣告

公開倉庫不自動等於可商用;許可證與當前相容性以原專案文件為準。Manifest 和資料評分不構成安裝安全認證。

資料評分

72/ 100
維護活躍
86
文件與實用資訊
100
生態關注度
24
安裝便捷訊號
100
專案宣告訊號
100

近 21 天仍在更新;README 含完整安裝與使用說明;關注度尚低(6)。

評分來自已有資料快照的五維模型,僅作瀏覽參考,不是實際使用評測或安全檢測結論。

安裝與使用

所有專案資料與許可均以對應 GitHub 倉庫為準。

dsh plugin --profile web add github:xingyingyuzhui/dsh-updater-ui

複製命令不會自動執行。請先閱讀倉庫文件,確認環境要求與許可證。

專案截圖

倉庫 README

GitHub 原文

已儲存的倉庫文件快照;文件抓取時間未記錄,可能與上方目錄介紹處於不同版本。安裝前請核對當前倉庫說明。

儲存庫檔案保留原文,指令與授權文字不作自動改寫。

dsh-updater-ui · DSH 官方更新检查器

DeepSeek Harness(DSH)官方更新插件:在设置 → DSH 更新页一键检查并更新官方 DSH。自动后台检查 + 导航红点提醒。

它看的是当前正在跑的那个 DSH 进程怎么安装的,而不是磁盘上碰巧有没有一份源码:

当前进程检查一键更新
npx @deepseek-ai/dsh webnpm registry 上的 @deepseek-ai/dsh更新 npx 缓存里的官方包,然后重启
npm i -g @deepseek-ai/dsh / 全局 dsh web同上npm install -g @deepseek-ai/dsh@<官方版本>,然后重启
git clone 后 pnpm dsh webgit fetch 对比官方远端git pull --ff-only

Mac / Windows 同一套逻辑。本机另有一份 ~/deepseek-harness 但进程其实是 npx/全局 npm 时,不会去 git pull 那份源码。

功能

  • 识别安装方式:源码仓库 / npm 全局 / npx
  • 一键检查:源码 git fetch;npm 查询官方 registry(失败则试 npmmirror)
  • 版本对比:本地 vs 官方 package.json 版本号
  • 更新说明:源码可折叠列出官方新提交(短哈希 + 标题,前 15 条)
  • 一键更新:源码只允许快进;npm 只安装官方包名 @deepseek-ai/dsh 和已校验的版本号
  • 自动检查:Host 每 30 分钟后台检查(防重入),页面每 60 秒轮询缓存
  • 红点提醒:有官方更新时设置页导航显示「DSH 更新 ●」
  • 安全拒绝:源码本地存在未推送提交、分叉或冲突改动时拒绝覆盖;npm 安装失败时给出可复制命令

安装

前置:已安装 DSH(dsh web 或 npx @deepseek-ai/dsh web 可运行)。npm 通道需要能访问 npm registry;源码通道需要本机 git 和官方 clone。

# 从 GitHub 安装
dsh plugin --profile web add github:xingyingyuzhui/dsh-updater-ui

装完重启 DSH,然后打开 设置 → DSH 更新。

使用

打开 设置 → DSH 更新:

  • 页面显示当前安装方式和官方更新状态(✅ 已是最新 / ⚠️ 有官方更新)
  • 点击 一键更新官方 npm 包 或 一键拉取官方更新
  • 更新成功后重启 DSH 才会加载新代码
  • 若 npm 安装被运行中的进程锁住(常见于 Windows),页面会给出对应命令,停掉 DSH 后再跑

npx 用户也可直接:

npx --yes @deepseek-ai/dsh@latest web

源码仓库定位

仅当当前进程来自官方源码 clone时才会用 git。查找顺序:

  1. 正在运行的 @deepseek-ai/dsh-root 目录
  2. 配置 repo / 环境变量 DSH_REPO
  3. ~/deepseek-harness
  4. ~/.dsh/deepseek-harness

~/.dsh 是设置、插件和会话数据,不能 git pull 当官方源码。

插件会校验该目录:

  1. 必须是 git 仓库
  2. origin 必须是 deepseek-ai/deepseek-harness
  3. 必须能读取当前分支和上游分支

校验不通过会拒绝操作,避免误 pull 到 /opt/homebrew 等无关仓库。

npm 通道

  • 查询 https://registry.npmjs.org/@deepseek-ai/dsh/latest,失败则试 https://registry.npmmirror.com
  • 可用 DSH_NPM_REGISTRY 或 npm_config_registry 指定 registry
  • 全局安装按正在运行的包路径推导 --prefix(Homebrew node@24 的 Cellar 和 npm prefix -g 不是同一处)。装完会回读该路径的 package.json,版本没变则报失败,不假装成功
  • Windows 下用当前 node.exe 直接跑同目录的 node_modules/npm/bin/npm-cli.js,不 spawn npm.cmd。找不到 JS 入口时才退回 cmd.exe:整条命令外层再包一层引号,并用 windowsVerbatimArguments,避免 Node 把引号转成 \"
  • 不会对 ~/.dsh 做 npm install,也不会安装官方包以外的任何名字

安全设计

  • 路由仅接受 POST
  • 必须带自定义请求头 X-DSH-Updater: 1(跨站表单/图片无法触发)
  • 如果带 Origin,只允许 http://127.0.0.1 / http://localhost
  • 源码拉取使用 --ff-only
  • npm 安装包名写死为 @deepseek-ai/dsh,版本号须匹配安全字符集
  • 所有外部命令带超时与输出上限;错误一律返回结构化 JSON
  • 无第三方依赖、无遥测

卸载

dsh plugin --profile web remove dsh-updater-ui

开发

pnpm install   # 无依赖,仅占位
pnpm test      # 基础契约测试
# 本地验证:dsh plugin --profile web add link:/path/to/dsh-updater-ui

License

MIT

使用前核對

安裝步驟、相容版本與授權範圍以原專案當前文件為準。Stars 和評分是快照中的導航訊號。

安裝與排錯 · 專案問題反饋

同類專案