跳到主要内容

dsh-runtime-updater

已验证

@megen-lebar/dsh-runtime-updater · v0.1.3 · Apache-2.0 · Web 界面

仅适用于 megen-lebar Electron 封装的 DeepSeek Harness 的 Windows runtime 管理器:查看安装和备份,并安全删除旧版本。

安装

dsh plugin add @megen-lebar/dsh-runtime-updater

dsh --profile default --dump-config 确认 layer 已生效 —— 参见安装指南

源码

标签

作者

说明文档

@megen-lebar/dsh-runtime-updater

当前版本:0.1.3 · Windows · Apache-2.0

npm 状态:已发布到 npm@megen-lebar/[email protected]

这是一个非官方的社区插件,不代表 DeepSeek 官方立场。它为 DeepSeek Harness 提供 runtime 查看、旧版本备份管理和安全删除功能。

独立仓库:https://github.com/Jamsharden/dsh-runtime-updater

重要兼容性限制

本插件只适用于使用 megen-lebar Electron 封装的 DeepSeek Harness。

插件依赖该封装提供的以下结构和能力:

  • DeepSeek.exe
  • resources\runtime\package.json
  • DSH Web Settings Slot;
  • 本地 Web Server;
  • dsh plugin 插件装配命令。

官方原版 DeepSeek Harness 或其他 Electron 封装版本不保证兼容。插件会拒绝不符合受信安装目录结构的路径,也不会自动修改其他封装的安装目录。

功能

  • 在 Web GUI 的「设置」中与其他设置页并列显示 runtime 管理页面;
  • 显示当前 runtime 版本、安装目录和 runtime 目录;
  • 列出 runtime.backup-* 旧版本备份、版本、修改时间和占用空间;
  • 删除前要求二次确认,并在 Host 端重新校验目录、指纹和内容;
  • 当前版本备份、未知版本、链接目录和无法完整读取的备份自动保护;
  • 更新与删除共用 resources/.dsh-runtime-updater.lock 互斥;
  • 更新过程使用 resources/.dsh-runtime-updater.transaction.json 记录事务;
  • 更新异常退出后,下一次 worker 启动时尝试恢复旧 runtime;
  • 更新 worker 和独立进度面板通过 WMI 脱离 Harness 的 Windows Job Object,Harness 退出后不会连带终止更新;
  • 依赖安装阶段使用独立的 npm CLI 环境,并在 Web GUI/独立面板显示“安装中”的动态进度;
  • 独立进度面板显示检查、退出 Harness、下载、解压、npm 依赖、验证、替换和完成/失败状态;
  • loopback 和同源请求保护,不开放远程删除接口;
  • 删除旧备份不会删除当前 runtime、Electron 壳或 .dsh 用户数据。

前置条件

  • Windows 10 或 Windows 11;
  • 已安装并能正常运行 megen-lebar Electron 封装的 DeepSeek Harness Web;
  • 安装目录包含真实的 DeepSeek.exe
  • 安装目录包含真实的 resources\runtime\package.json
  • 当前用户对 Harness 安装目录具有读取、移动和删除所需权限;
  • 使用独立 PowerShell 更新器时,还需要 resources\node-runtime\node.exenpm.cmd 和系统 tar.exe

开始 Web GUI 更新后,会同时打开“DeepSeek Harness 更新进度”窗口。该窗口由独立 PowerShell 进程托管,即使 Harness 已经退出,也会继续显示实时日志;npm 依赖安装没有可靠的百分比来源,因此该阶段显示动态滚动进度,而不是停在一个虚假的固定百分比。

从 GitHub 安装

方法一:下载 ZIP

  1. 打开 https://github.com/Jamsharden/dsh-runtime-updater
  2. 点击 Code → Download ZIP
  3. 解压到一个不会被自动删除或移动的位置;
  4. 使用 PowerShell 进入解压后的仓库根目录;
  5. 执行安装脚本:
Set-ExecutionPolicy -Scope Process Bypass
.\scripts\install.ps1

安装脚本只安装本仓库的:

@megen-lebar/dsh-runtime-updater

它不会安装或修改其他插件。

方法二:Git clone

git clone https://github.com/Jamsharden/dsh-runtime-updater.git
cd dsh-runtime-updater
Set-ExecutionPolicy -Scope Process Bypass
.\scripts\install.ps1

方法三:直接使用 DSH CLI

在仓库根目录执行:

dsh plugin --profile web add "link:$((Get-Location).Path -replace '\\', '/')"

安装完成后:

  1. 完全退出 DSH Web Host;
  2. 重新启动 DSH Web Host;
  3. 刷新 Web GUI;
  4. 打开设置,检查 runtime 管理页面。

源码目录需要保留,因为 profile 使用本地 link: 依赖。

npm 安装状态

当前版本 0.1.3 已发布到 npm,可以使用以下命令安装:

npm install @megen-lebar/dsh-runtime-updater

npm 发布后,安装命令为:

dsh plugin --profile web add @megen-lebar/dsh-runtime-updater

发布后可以使用以下命令检查版本:

npm view @megen-lebar/dsh-runtime-updater version

如果 npm 镜像尚未同步,请稍等后再执行 npm view @megen-lebar/dsh-runtime-updater version;也可以直接使用本节的 GitHub 安装方式。

独立 PowerShell 更新器

仓库中的 DSH-Runtime-Updater.ps1 是 Windows PowerShell 5.1 更新器,提供:

  • 检查当前和最新 runtime 版本;
  • 下载并验证目标 runtime;
  • 验证 runtime 版本和默认配置;
  • 备份并替换 resources\runtime
  • 管理旧版本备份;
  • 更新失败后隔离不完整的新 runtime,并尝试恢复旧版本。

更新器与 Web 插件使用相同的锁文件和事务标记,避免更新和删除并发执行。

更新前建议备份重要数据。删除旧 runtime 备份不可逆。

安全行为

插件和更新器会拒绝以下情况:

  • 安装根目录不是受信的 Harness 目录;
  • DeepSeek.exe 或 runtime 是符号链接、junction 或其他重解析点;
  • 备份名称不符合 runtime.backup-YYYYMMDD-HHmmss 格式;
  • 备份版本无法解析;
  • 备份目录与当前版本相同;
  • 目录树无法完整读取;
  • fingerprint 在确认后发生变化;
  • 无法可靠确认 DeepSeek 进程归属;
  • 更新或删除操作与另一个变更操作冲突。

删除操作不会自动回收 .dsh 数据、会话、凭据或 Electron 壳文件。

开发和构建

构建需要:

  • Windows 10/11;
  • Git Bash;
  • 已安装的 megen-lebar DeepSeek Harness runtime;
  • runtime 内置的 esbuild。

PowerShell:

$env:DSH_RUNTIME = Join-Path $env:LOCALAPPDATA 'Programs\DeepSeek\resources\runtime'
& 'C:\Program Files\Git\bin\bash.exe' -lc 'bash scripts/build.sh'

构建产物:

lib/index.js   Host bundle
lib/client.js  Browser client bundle

开发注入方式:

dev_install_package({ dir: '<repo>' })

开发注入依赖 dsh-super-injector;正式安装请使用 scripts/install.ps1

卸载

在同一个 profile 中执行:

dsh plugin --profile web remove @megen-lebar/dsh-runtime-updater

然后完全退出并重新启动 DSH Web Host。确认 profile 不再引用本仓库后,再删除本地仓库目录。

发布信息

项目 内容
包名 @megen-lebar/dsh-runtime-updater
当前版本 0.1.3
GitHub https://github.com/Jamsharden/dsh-runtime-updater
npm @megen-lebar/[email protected]
许可证 Apache-2.0
平台 Windows 10/11
维护者 scope @megen-lebar

免责声明

这是社区维护插件,不是 DeepSeek 官方插件。使用前请确认目标安装目录和版本信息。任何 runtime 替换或旧备份删除操作都可能影响本地 Harness,使用者应自行做好备份并承担使用风险。