← 返回列表
未验证
右上角一键检查新版本,退出时自动完成升级
尚未跑自动兼容性验证,可查看页面内的依赖与入口分析。 · 最近上游提交 2026/9/13 · 已提供中文文档
DeepSeek Harness (dsh) check-for-updates plugin — 右上角检查更新 UI + 关闭后自动升级 (npm / update-dsh.ps1)
综合分
29.6
GitHub 分
29.6
用户评分
—
★ Stars
0
周下载量
—
兼容 / 相关生态插件(非 dsh 原生,请按其对应运行时安装)
git clone https://github.com/ADDD1118/dsh-update.git数据截至 2026/9/16(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动
README
dsh-update 一个面向 DeepSeek Harness (dsh) 的用户级插件,在 Web UI 右上角添加一个 “检查更新” 按钮,并支持带进度条的实时更新。 - 会话标题栏中的灰色“检查更新”按钮 → “检查中” - 检查时显示蓝色旋转指示器 - 液态玻璃提示:当已是最新版本时显示 “You are already on the latest version, X” - 当存在更新版本时,显示蓝色“新版本”按钮 + 居中的更新对话框(发布说明 + “更新”) - 点击“更新” → 5 秒倒计时,然后 dsh 自行关闭,更新在退出过程中执行(可随时取消,或立即关闭) - 更新运行时,右下角会出现一个 桌面进度卡片,显示真实阶段([5/6] 安装依赖)。它可以拖动,点击其 ✕ 会将其折叠为托盘图标(白色圆角方块,带蓝色 DeepSeek 鲸鱼),点击该图标会让卡片回到你离开时的确切位置 - 永远不会显示控制台窗口——卡片通过 launch-hidden.vbs 启动(见开发说明) - 完成时,右下角会弹出 Windows 通知 宣布结果 - 检查 GitHub releases feed,并驱动你自己的 launcher/update-dsh.ps1,因此它会更新启动器所运行的那个确切安装;绝不触碰启动器 exe 或 ~/.dsh 用户数据 English Requirements - DeepSeek Harness (dsh) Web surface (dsh web), v0.1.0+ - Node 22+ (uses the built-in fetch) - The workspace layout the launcher expects: a deepseek-harness source checkout with a sibling launcher/update-dsh.ps1, plus git, pnpm, curl.exe and PowerShell on PATH (the update drives that script) Installation Add the plugin to your web profile, then register the row. dsh plugin --profile web add ADDD1118/dsh-update Append this to ~/.dsh/profiles/web/cordis.patch.yml: - insert: - id: dsh-update name: dsh-update Restart dsh web and hard-refresh the browser (Ctrl+F5). The button appears in the top-right of the session header (beside "Session log"). The plugin ships prebuilt (lib/index.js + lib/client.js), so no build step is required. How the update works - The check reads the GitHub releases feed for the newest tag; if it is newer than the running version, the "New version" flow lets you update. - Clicking "Update" schedules the update rather than applying it live: the source checkout is the working directory of the running server, and Windows will not let that directory be replaced while the server is alive. The schedule is recorded in ~/.dsh/.dsh-pending-update.json. - A 5-second countdown then asks dsh to close itself via the launcher's appExit — the same path as a normal shutdown, just without you clicking the X. Cancel at any point to unschedule. - 当 dsh 在已排期更新时关闭,一个分离的更新进程会等待该进程完全退出,然后运行 launcher/update-dsh.ps1 -Tag (下载 → pnpm install → 构建),并将结果写入 ~/.dsh/.dsh-update-state.json。 - 在此期间,update-progress.ps1 会轮询该状态文件并绘制右下角卡片;它和完成提示都作为独立进程运行,因此即使更新进程终止也能继续存在。 - 重新打开 dsh,结果只会显示一次。如果更新已完成,标记会自动清除——不会反复提醒。 - 后台更新的完整输出会写入 ~/.dsh/.dsh-update.log。 关闭 dsh 本身绝不会触发任何更新。 唯一会执行更新的情况是你点击了“更新”且排期仍然待执行;不存在后台自动升级。如果你是强制结束 dsh 而不是正常关闭,排期的更新不会运行——这种情况请使用 更新DeepSeekHarness.cmd。 简体中文 功能 为 DeepSeek Harness (dsh) 的 Web 界面右上角新增 “检查更新” 按钮,并支持在关闭 dsh 后自动完成的后台更新。 - 会话头右上角灰色“检查更新”按钮 → 点击后变“检查中” - 检查时显示蓝色转圈 - 已是最新时弹出液态玻璃提示:“当前已是最新版本,版本号为 X” - 有新版时按钮变蓝色“新版本”,点击弹出居中更新对话框(含更新说明 + “更新”按钮) - 点“更新” → 5 秒倒计时后 dsh 自动关闭,更新在退出过程中执行(随时可「取消排期」,或直接「立即关闭」) - 更新期间桌面右下角悬浮进度小条,显示真实阶段([5/6] 安装依赖)。可拖动位置;点 ✕ 收起为托盘图标(白底圆角蓝色鲸鱼),点该图标会在你关闭时的位置把浮窗还原 - 全程不出现任何控制台窗口 —— 通过 launch-hidden.vbs 隐藏启动(见 Development notes) - 完成后右下角弹出 Windows 通知告知结果 - 通过 GitHub releases 检测最新 tag,并驱动你自己的 launcher/update-dsh.ps1,因此更新的正是启动器实际运行的那份代码;不触碰启动器 exe 和 ~/.dsh 用户数据 环境要求 - DeepSeek Harness (dsh) Web 界面(dsh web),v0.1.0+ - Node 22+(用到内置 fetch) - 启动器期望的目录结构:deepseek-harness 源码检出 + 同级 launcher/update-dsh.ps1;且 PATH 中有 git、pnpm、curl.exe 和 PowerShell(更新由该脚本执行) 安装 将插件加入 web profile,并注册插件行。 dsh plugin --profile web add ADDD1118/dsh-update 在 ~/.dsh/profiles/web/cordis.patch.yml 追加: - insert: - id: dsh-update name: dsh-update 重启 dsh web 并强刷浏览器(Ctrl+F5)。按钮出现在会话头右上角(“Session log”旁)。 插件已预构建(lib/index.js + lib/client.js),无需再执行构建。 更新原理 - 检查时会读取 GitHub releases 的最新 tag;若比当前运行版本新,则通过“新版本”流程更新。 - 点“更新”只是排期,不会立即执行:源码检出目录正是运行中服务的工作目录,而 Windows 不允许在进程存活时替换该目录。排期记录写入 ~/.dsh/.dsh-pending-update.json。 - 随后 5 秒倒计时,通过启动器提供的 appExit 让 dsh 自行退出 —— 与正常关闭走同一条路径,只是不需要你手动点关闭。倒计时期间可随时取消排期。 - 关闭 dsh 时若存在排期,一个分离的后台进程会等主进程完全退出后执行 launcher/update-dsh.ps1 -Tag (下载 → pnpm install → 构建),并把结果写入 ~/.dsh/.dsh-update-state.json。 - 更新期间由 update-progress.ps1 轮询该状态文件绘制右下角进度卡;进度卡与完成通知都是独立进程,即使 updater 意外退出也能给出结果。 - 重新打开 dsh 后结果只提示一次。若更新确实已完成,标记会自动清除,不会反复弹窗。 - 后台更新的完整输出见 ~/.dsh/.dsh-update.log。 「关闭 dsh」本身不会触发任何更新。 唯一会执行更新的是你点了「更新」且排期仍然存在 —— 没有后台自动升级。若是强制结束进程(而非正常关闭),排期的更新不会执行,这种情况下请用 更新DeepSeekHarness.cmd。 Development notes - src/** 由 tsdown 打包进 lib/index.js(宿主,ESM)和 lib/client.js(浏览器,CJS,通过 window.__ModuleLoader__.load 交给 shell)。updater.mjs 和 update-progress.ps1 不打包发布,在运行时从磁盘加载。 - update-progress.ps1 必须保存为带 BOM 的 UTF-8。 当没有 BOM 时,Windows PowerShell 5.1 会以 ANSI(中文系统上为 GBK)读取 .ps1 文件,这会严重破坏其中的中文字符串,足以导致解析失败。 - 更新程序只从 update-dsh.ps1 的输出中解析 [N/M] 数字,并提供自己的阶段标签:该脚本的 Write-Host 输出以控制台的 OEM 代码页到达,因此按 UTF-8 解码会产生乱码。 - 对于进度卡片,PowerShell 子进程通过 launch-hidden.vbs(wscript,窗口样式 0)启动。有两个不同的原因:仅靠 detached + unref 并不能让 PowerShell 子进程在其父进程退出后继续存活;而且在 Windows 11 上,控制台应用会被交给 Windows Terminal——因此 powershell -WindowStyle Hidden 仍会在桌面上留下一个终端窗口,因为该窗口属于终端宿主,而不是 PowerShell。wscript 是一个 GUI 子系统宿主,自身没有控制台。 - dsh-update-icon.ico 是一个多尺寸 ICO(16/24/32/48/64/128/256),由仓库自有的 apps/web/public/favicon.svg 鲸鱼图标合成:该 SVG 被重新着色为品牌蓝 #4d6bfe(从 packages/skill/skill-badge/assets/dsh-badge.png 采样),用无头 Edge 栅格化,然后绘制到白色圆角图块上。注意该 favicon 带有一条 prefers-color-scheme: dark 规则,会将路径重绘为白色——必须在栅格化之前将其剥离,否则鲸鱼会变成透明背景上的白色而不可见。 许可证 MIT
同作者(ADDD1118)的其他插件
扫码进群