🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

版本管家 mutoharohfiqhiabcd-source/dsh-updater

DeepSeek Harnessv1.0.22
mutoharohfiqhiabcd-source13 天前有提交已提供中文文档扫描:含敏感能力

DeepSeek Harness 自动检测与更新器:Windows 桌面小工具 + DSH 网页版插件会话标题栏「检测…

30.8/100
综合分
1
GitHub 星标
62
npm 周下载
—/5
用户评分

数据截至 2026/10/18 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add dsh-updater
npm 源 · dsh-updater 的发布者账号已校验与本仓库一致

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么
dsh 原生插件 · dev
装得上吗
本站已在 dsh 0.2.1-rc.2 下真实安装成功
非静态推断
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 13 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查✓ 自动检查通过
展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✓npm 包dsh-updater @ 1.0.22
✓Node 引擎要求 >=22 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/9 11:21:17

安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

可执行外部命令读写/删除本地文件写入剪贴板(不计风险)发起外部网络请求
查看扫描证据(共 25 处,展示前 13 条)
  • 读取本地文件
    lib/index.js:20
    if (existsSync(pkgPath)) return JSON.parse(readFileSync(pkgPath, "utf8"));
  • 读取本地文件
    lib/index.js:20
    if (existsSync(pkgPath)) return JSON.parse(readFileSync(pkgPath, "utf8"));
  • 读取本地文件
    lib/index.js:197
    if (argv0 !== undefined && argv0 !== "" && isAbsolute(argv0) && existsSync(argv0)) return argv0;
  • 执行外部命令来自配置/变量
    lib/index.js:247
    return spawn(file, [...args], { ...spawnOptions, shell: false });
  • 执行外部命令来自配置/变量
    lib/index.js:249
    return spawn(COMSPEC, ["/d", "/s", "/c", `"${cmdCommandLine([file, ...args])}"`], {
  • 读取本地文件
    lib/index.js:287
    for (const hash of readdirSync(npxRoot)) {
  • 读取本地文件
    lib/index.js:301
    if (existsSync(abs)) {
  • 执行外部命令固定命令
    lib/index.js:316
    spawn("taskkill", ["/pid", String(child.pid), "/t", "/f"], { stdio: "ignore" });
  • 读取本地文件
    lib/index.js:405
    if (existsSync(join(dir, name + suffix))) return true;
  • 执行外部命令固定命令
    lib/index.js:841
    const out = execFileSync("npm", ["prefix", "-g"], { encoding: "utf8", timeout: 15000, windowsHide: true, shell: process.platform === "win32" });
  • 发起网络请求
    lib/index.js:852
    const res = await fetch(url, { signal: AbortSignal.timeout(30000) });
  • 写入剪贴板
    lib/client.js:214
    window.navigator.clipboard.writeText(text).then(() => {
  • 写入剪贴板
    lib/client.js:227
    window.navigator.clipboard.writeText(dir).then(() => {
扫描于 2026/10/31(1 天前) · 范围 入口闭包 + 全包扫描 · 来源 npm 发布包

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

依赖的 DSH / Cordis 模块
@deepseek-ai/dsh-tools
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 自动检测更新
  • 一键回滚版本
  • 查看版本信息
v1.0.52026-10-27
v1.0.5 发布说明 —— 修复「等待关闭 DSH 超时 → 无法继续更新」 本文件是「最新一版」的更新说明,发布新版本前请改成当版内容。 GitHub Actions 在推送 v* tag 时会把这个文件的内容作为 Release 说明(body_path)。 · 🔗 相关链接 | 名称 | 链接 | | --- | --- | | 本仓库(桌面版 + DSH 插件本体) | < | | npm 包页 | < | | DSH 官方仓库(插件宿主) | < | | 最新 Release 下载 | < | | 功能介绍推文 | < | 安装(二选一,装完重启 DSH): :: 从 npm 安装 / 升级 dsh plugin --profile web add dsh-updater-plugin :: 或从 GitHub 安装(安装地址一直没变) dsh plugin --profile web add github:mutoharohfiqabcd-source/dsh-updater · 🐛 本版修复 · 1. 自动关闭 DSH 找不到进程(导致「等待关闭 DSH 超时」) 现象:点更新并勾了「自动关闭 DSH」,结果看护进程一直等不到 DSH 关闭, 30 分钟后报「等待关闭 DSH 超时,这次更新已放弃」。 根因:核心是以 python -X utf8 启动的,而 processes_on_port 用 subprocess.run(["netstat", "-ano"], text=True) 读进程列表;中文 Windows 的 netstat 输出是 GBK,UTF-8 解码在 Python 的 reader 线程里抛 UnicodeDecodeError,函数吞掉异常后返回空列表 → 看护进程以为「DSH 没在运行」, 于是不会执行自动关闭,只能干等到超时。 修复:控制台命令一律先收字节、再按控制台代码页解码(Windows 优先 mbcs,即 cp936),netstat / tasklist / taskkill 不再解码失败;pnpm 实时日志 也改成跟随系统代码页,避免中文输出乱码。 · 2. 超时后红条常驻、界面像「再也不能更新」 现象:超时后更新器里一直挂着「等待关闭 DSH 超时,这次更新已放弃」,而且所有 行都是「未检测」、没有「更新」按钮。 修复: · expired / canceled 的旧任务不再返回给界面(顺手清掉清单),红条消失; · 官方版本查询失败时,用缓存里的 tags / versions 兜底算出参照版本,行状态 不再全是「未检测」; · 客户端:unknown 状态(且上游查询已结束)也会显示「更新」按钮—— 网络再差也有更新入口,不会被锁死。 · 3. 顺带保留 v1.0.4 的改动 下载总时长上限仍是 10 小时(慢网络可以挂着慢慢下,随时可取消)。 · 🛠️ 技术细节 · updater_core.py:新增 _decode_console_output() / _run_console(); processes_on_port / close_dsh / running_node_count 全部改走字节+代码页解码; _run_pnpm_step 的编码跟随 locale.getpreferredencoding(); 新增 _best_known_ref(),detect_all 在官方版本抓取失败时用缓存清单兜底; pending_update_status 隐藏 expired/canceled 并清理清单 · lib/client.js:DetectRows 允许 unknown 状态(上游查询结束后)显示更新按钮 · 测试 188 → 195(GBK netstat/tasklist/taskkill 回归、自动关 DSH 找到进程、 缓存兜底参照、过期/取消状态隐藏) · 📦 本版资产 | 文件 | 说明 | |---|---| | DeepSeekHarnessUpdater.exe | Windows 独立版桌面工具(无需 Python)。版本号同步 1.0.5 | | dsh-updater-src-v1.0.5.zip | Python 源码版:解压后双击 启动更新器.bat,或运行 python updater_gui.pyw(需 Python 3.10+,含 tkinter);同时附带 DSH 插件文件 | | SHA2
v1.0.42026-10-24
v1.0.4 发布说明 —— 慢网络也能更完:下载上限放宽到 10 小时 本文件是「最新一版」的更新说明,发布新版本前请改成当版内容。 GitHub Actions 在推送 v* tag 时会把这个文件的内容作为 Release 说明(body_path)。 v1.0.3 把下载改成了后台任务并加了进度条;v1.0.4 根据实际网络情况, 把下载总时长上限从 15 分钟放宽到 10 小时,慢网也能挂着下完。 · 🔗 相关链接 | 名称 | 链接 | | --- | --- | | 本仓库(桌面版 + DSH 插件本体) | < | | npm 包页 | < | | DSH 官方仓库(插件宿主) | < | | 最新 Release 下载 | < | | 功能介绍推文 | < | 安装(二选一,装完重启 DSH): :: 从 npm 安装 / 升级 dsh plugin --profile web add dsh-updater-plugin :: 或从 GitHub 安装(安装地址一直没变) dsh plugin --profile web add github:mutoharohfiqabcd-source/dsh-updater · ⚡ 本版变化 · 1. 下载总时长上限:15 分钟 → 10 小时 实测在很差的网络下,GitHub 官方 zip(约 43 MB)只有 14 KB/s,15 分钟连 1/3 都下不完, 直接被判「下载超时」太不友好。现在允许下载慢慢磨 10 小时: · 后台 worker 不会因为时间被掐断; · 对话框里的进度条一直显示百分比 / 已下载 / 速度 / 剩余时间; · 不想等了随时点「取消更新」,立刻结束下载并清理暂存。 断网/连不上的情况仍会按正常网络错误快速失败(连接超时、TLS 错误等), 不会无意义地空等 10 小时。 · 2. 顺带修掉「DSH 重启后页面偶尔不自动刷新」 v1.0.3 的自动刷新逻辑要求先观察到「DSH 断开」再观察到「恢复」才刷新; 如果进度轮询晚到、页面晚打开,可能永远观察不到断开事件,页面就停在等待状态。 现在 12 秒内没观察到断开也会刷新一次(DSH 已重启完成时正好用上)。 · 🛠️ 技术细节 · updater_core.py:_UPDATE_STAGE_DOWNLOAD_TIMEOUT 900 → 36000 秒; download_file(max_total=...) 逻辑不变,只是上限放宽 · index.js:非运行中目标的同步更新路由超时同步放宽到 10 小时; 正在运行的目标仍走后台 worker(无请求超时) · lib/client.js:waiting-restart 轮询增加 12 秒兜底刷新 · 测试 187 → 188(断言下载上限 = 36000 秒) · 📦 本版资产 | 文件 | 说明 | |---|---| | DeepSeekHarnessUpdater.exe | Windows 独立版桌面工具(无需 Python)。功能与 v1.0.3 一致,版本号同步 1.0.4 | | dsh-updater-src-v1.0.4.zip | Python 源码版:解压后双击 启动更新器.bat,或运行 python updater_gui.pyw(需 Python 3.10+,含 tkinter);同时附带 DSH 插件文件 | | SHA256.txt | EXE 的 SHA256 校验值 | 网页版插件不在这些资产里:从 npm(dsh-updater-plugin)或本仓库直接安装即可。 · ⚠️ 注意 · 网页插件升级仍需「卸载 → 重新安装」并重启 DSH(Host 半边不会热替换) · 更新下载需要能访问 GitHub;网络差时现在可以挂着慢慢下,也可以取消 · 自动关闭模式会让当前 DSH 会话短暂断开(会话记录不受影响),重启后页面自动刷新 · 桌面更新器 / Python 源码版 / DSH 插件三条线版本号统一为 1.0.4
v1.0.32026-10-22
v1.0.3 发布说明 —— 更新进度条 + 后台下载(不再卡 20 分钟超时) 本文件是「最新一版」的更新说明,发布新版本前请改成当版内容。 GitHub Actions 在推送 v* tag 时会把这个文件的内容作为 Release 说明(body_path)。 v1.0.2 把桌面更新器的流程搬进了插件;v1.0.3 修掉它最难受的两个体验问题: 看不到进度、下载慢时会一直卡到超时。 · 🔗 相关链接 | 名称 | 链接 | | --- | --- | | 本仓库(桌面版 + DSH 插件本体) | < | | npm 包页 | < | | DSH 官方仓库(插件宿主) | < | | 最新 Release 下载 | < | | 功能介绍推文 | < | 安装(二选一,装完重启 DSH): :: 从 npm 安装 / 升级 dsh plugin --profile web add dsh-updater-plugin :: 或从 GitHub 安装(安装地址一直没变) dsh plugin --profile web add github:mutoharohfiqabcd-source/dsh-updater · ⚡ 本版变化 · 1. 下载/解压改成后台 worker —— 不再阻塞请求 之前:点「开始更新」后插件同步跑 Python 下载,网络慢就会一直卡在请求里, 最长 20 分钟超时(超时后下载进程还可能挂在后台)。 现在:POST /update-source 立刻返回,真正的下载/解压交给脱离 DSH 的后台 worker (python updater_core.py --json stage-source ...),界面轮询 /update-progress 拿进度。HTTP 请求不会再超时。 · 2. 对话框里有实时进度条 进度来自 updater_core.py 写出的 %APPDATA%\dsh-updater\update-progress.json: 正在下载官方源码… 37% · 12.3 MB / 33.1 MB · 1.2 MB/s · 18s [██████████░░░░░░░░░░░░░░░░] 下载期间可以取消;暂存完成后看护进程会自动关闭 DSH 并更新 覆盖:准备 → 下载 → 解压 → 暂存,每一步都有百分比、速度、剩余时间。 · 3. 下载期间可以「取消更新」 点对话框里的「取消更新」会结束后台 worker、清掉暂存目录、把进度标记为已取消。 · 4. 真的卡死会明确报错,而不是无限等 单次下载总时长上限 15 分钟:超过就报「下载超时(网络太慢)」,不会无声无息挂着。 · 5. 后续流程不变(仍是 v1.0.2 那套) 暂存完成后:按勾选自动关闭 DSH → 备份旧目录 → 换入新源码 → 按需 pnpm install / pnpm run build → 自动重启 DSH → 页面轮询到 DSH 恢复后自动刷新。 不勾自动关闭时仍是「提示你关 DSH → 关后自动应用 → 自动重启」。 · 🛠️ 技术细节 · updater_core.py:download_file / _extract_zip_with_progress 新增 detail_cb (结构化进度)与 max_total(总时长上限);新增 update-progress.json 读写、 --json update-progress 动作;cancel-staged 在还没有 manifest 时也能取消下载 · index.js:/update-source 对「正在运行的 DSH」改为 detached 后台 worker; 新增 GET /update-progress(直接读文件,不启动 Python);进度文件路径与 updater_core.py 的 _settings_dir() 保持一致(支持 DSH_UPDATER_SETTINGS_DIR) · lib/client.js:新增进度条组件与轮询;下载中可取消;「先断后连」逻辑确保 DSH 重启完成后才刷新页面(不会刚断开就误刷新) · 测试 183 → 187(staged/failed 进度落盘、下载中取消杀 worker、进度 CLI) · 📦 本版资产 | 文件 | 说明 | |---|---| | DeepSeekHarnessUpdater.exe | Windows 独立版桌面工具(无需
数据来自仓库的 GitHub Release,可能与插件实际版本不一致。

README

由 DeepSeek 最新模型翻译生成
DeepSeek Harness 自动检测与更新器 两种形态,同一套逻辑: | 形态 | 是什么 | 怎么装 | | 🖥️ 桌面版(Windows 小工具) | 独立程序,不装 DSH 也能用 | 下载 EXE ↗,或用源码版 | | 🧩 DSH 网页版插件 | 装进 DSH,会话标题栏多出「检测 / 回滚 / 版本」三个按钮 | 见下方方式五 | 两种形态不是两套实现:网页插件的按钮直接调用本仓库的 updater_core.py,与桌面版共用同一套检测 / 回滚逻辑。 一个带图形界面的桌面小工具,用于: 1. 自动检测电脑内的 DeepSeek Harness 安装并读取各自版本; 2. 对比官方开源最新版本(GitHub deepseek-ai/deepseek-harness master 源码 + npm 发布版); 3. 一键更新:本地版本与官方不同时,自动下载官方源码 zip → 备份原目录 → 整目录替换(自动保留 node_modules / .git); 4. 插件检测:扫描 DeepSeek Harness 运行时中已启用 / 内置的插件(显示 名称、大小、版本号); 5. 技能检测:扫描 .dsh\skills 下的技能(显示 名称、大小、版本号)。
展开完整文档(README 剩余 1 节)
DeepSeek Harness 自动检测与更新器

两种形态,同一套逻辑:

| 形态 | 是什么 | 怎么装 |
| 🖥️ 桌面版(Windows 小工具) | 独立程序,不装 DSH 也能用 | 下载 EXE ↗,或用源码版 |
| 🧩 DSH 网页版插件 | 装进 DSH,会话标题栏多出「检测 / 回滚 / 版本」三个按钮 | 见下方方式五 |

两种形态不是两套实现:网页插件的按钮直接调用本仓库的 updater_core.py,与桌面版共用同一套检测 / 回滚逻辑。

一个带图形界面的桌面小工具,用于:

1. 自动检测电脑内的 DeepSeek Harness 安装并读取各自版本;
2. 对比官方开源最新版本(GitHub deepseek-ai/deepseek-harness master 源码 + npm 发布版);
3. 一键更新:本地版本与官方不同时,自动下载官方源码 zip → 备份原目录 → 整目录替换(自动保留 node_modules / .git);
4. 插件检测:扫描 DeepSeek Harness 运行时中已启用 / 内置的插件(显示 名称、大小、版本号);
5. 技能检测:扫描 .dsh\skills 下的技能(显示 名称、大小、版本号)。

仓库:<https://github.com/mutoharohfiqhiabcd-source/dsh-updater> · DSH 上游:<https://github.com/deepseek-ai/deepseek-harness> ·社区讨论帖(DSH Discussions · Show Your Plugins!):<https://github.com/deepseek-ai/deepseek-harness/discussions/9221>

界面预览

🖥️ 桌面版

| 主界面(浅色) | 主界面(深色) |
| 桌面版主界面(浅色) | 桌面版主界面(深色) |

| 版本性质说明(点「版本性质」列头) | 回滚窗口(备份 / npm / profile 三类) |
| 版本性质说明 | 回滚窗口 |

再一张:界面语言切换(简体中文 / 繁體中文 / English / 日本語 / 한국어)

语言切换

🧩 DSH 网页版插件

装进 DSH 后,每个会话的标题栏(原本只有「后台任务」那一排)会多出三个按钮:

会话标题栏的三个按钮

| 回滚:列出所有源码备份,点一次变「确认回滚?」再点一次才执行 | 插件在 DSH 的「插件 → 已安装」里的样子 |
| 回滚面板 | 插件管理页 |

⚠️ 插件运行在 DSH 主进程内、不受工作区沙箱限制;检测 / 回滚 / 下载 / 启动都会真实读写磁盘、真实启动进程。

安装方式

环境要求

| 项目 | 要求 |
| 操作系统 | Windows 10 / 11(本工具为 Windows 桌面程序) |
| Python | 3.10 或更高(含 tkinter,Windows 官方安装包默认自带) |
| 其它依赖 | 无 —— 全部使用 Python 标准库,无需 pip 安装任何第三方库 |
| 网络 | 需要能访问 GitHub(对比官方版本 / 下载更新) |

方式一:下载exe版本

方式二:下载 ZIP(推荐,无需 git)

1. 打开本仓库页面:<https://github.com/mutoharohfiqhiabcd-source/dsh-updater>
2. 点击绿色按钮 Code → Download ZIP;
3. 解压到任意目录(例如 D:\dsh-updater);
4. 双击 启动更新器.bat 即可运行(无控制台窗口)。

方式三:git clone(适合关注后续更新)

git clone https://github.com/mutoharohfiqhiabcd-source/dsh-updater.git
cd dsh-updater
启动更新器.bat 后续更新:在目录内执行 git pull 即可获取最新版本。

方式四:已有旧版 / 从本仓库更新

如果您已经有一份本地拷贝(例如通过本工具或直接复制),只需用新文件覆盖即可:
copy /Y updater_gui.pyw updater_core.py dsh_updater.ico 目标目录\

方式五:作为 DSH 插件安装(在 DSH 里直接用)

本仓库同时是一个 DSH 插件包(package.json 里声明了 dsh.bundle)。
装进 DSH 后,侧边栏「插件 → 已安装」会出现一张卡片,并给模型一个 dsh_updater 工具(status / latest / notes / download / launch)。

包名说明:npm 上的 dsh-updater 已经被别人的同名插件占用,所以本插件的
npm 包名是 dsh-updater-plugin;仓库名与 GitHub 安装地址仍是 dsh-updater。

图形界面:DSH 侧边栏 → 插件 → 添加插件 → 填下面任一地址 → 安装。

命令行(两种方式任选):

:: 从 npm 安装(v0.9.0 起)
dsh plugin --profile web add dsh-updater-plugin

:: 或从 GitHub 安装(安装地址一直没变)
dsh plugin --profile web add github:mutoharohfiqhiabcd-source/dsh-updater

装好后重启一次 DSH 就能看到卡片与三个按钮。
(实测:插件行会热重载,但已加载过的旧版本升级后,Host 半边不会自己换掉——不重启的话按钮能显示、一按就报 404,所以升级后请重启。)

会话标题栏的三个按钮

装好后,每个会话的标题栏(「后台任务」那一排)右边会多出三个按钮:

| 按钮 | 作用 |
| ↻ 检测 | 先本地秒开列出本机所有 DSH 安装(源码检出 / npm 全局 / 运行时 profile)与各自版本,再异步补上官方最新版本与「可更新 / 已是最新」 |
| ↩ 回滚 | 列出源码备份、npm 回滚点、profile 回滚点;点一次变「确认回滚?」再点一次才真正执行(执行前会先把当前目录也存成一份新备份,回滚本身可逆) |
| ⓘ 版本 | 更新器自身版本、最新 Release、本机 Python、本地 EXE 与归档、各安装的版本 |

前两个按钮把请求交给本仓库的 updater_core.py(新增的 --json 模式),所以与桌面版用的是同一套逻辑;需要本机有 Python 3.10+,没装时界面会给出明确提示,版本信息不受影响。

说明:DSH 的「官方」分组只放随 DSH 发行版自带的插件;第三方插件一律出现在「已安装」分组,无需审核、无需上架。
⚠️ 插件运行在 DSH 主进程内、不受工作区沙箱限制,download / launch / 回滚 会真实写盘并启动进程。

首次运行(可选:创建桌面快捷方式)
1. 运行一次确认界面正常;
2. 如需桌面快捷方式:右键 启动更新器.bat → 发送到 → 桌面快捷方式,再把快捷方式属性 → 目标改为程序所在路径即可。

提示:程序所在目录会生成 dsh_plugins.csv / dsh_skills.csv(导出功能产物),属正常运行数据。

运行方式

- 双击 启动更新器.bat(推荐,无控制台窗口),或
- 双击 updater_gui.pyw(需已关联 pythonw),或
- 命令行 python updater_gui.pyw

首次启动会自动检测本机安装并联网获取官方版本,请稍候片刻。

界面说明

主窗口
| 区域 | 说明 |
| 顶部条 | 实时显示 官方 GitHub master 与 npm 发布版 版本号 |
| 安装列表 | 自动发现本机的 DSH:源码检出、npm 全局安装、.dsh 运行时 profile;显示 类型 / 位置 / 当前版本 / 官方参考版本 / 状态(按状态着色:橙=可更新、绿=最新、红=异常) |
| 类型浮窗 | 鼠标悬停某行的 类型列,弹出说明卡片:这是什么、在 DSH 中的作用、本地 vs 官方版本、是否需立即更新、更新方式、官方近期提交内容;悬停 状态列 有快捷建议 |
| 按钮 | 更新所选安装(主按钮)、插件检测、技能检测、重新检测、导出 CSV、数据目录 |
| 进度横幅 | 下载 / 解压 / 更新过程中的实时进度条(百分比) |
| 日志区 | 检测、下载、更新过程全量日志(下载与解压含「已下载 / 剩余 / 预计时间 / 百分比 / 速度」) |

双击列表行可在资源管理器中打开对应位置。

更新流程(源码检出)
1. 选中一行「源码检出」,点击 更新所选安装;
2. 弹出确认框(可勾选「替换后自动运行 pnpm install」);
3. 程序将:
- 下载 deepseek-harness/archive/refs/heads/master.zip(进度横幅与日志实时显示:已下载 X/Y MB、剩余、预计时间、百分比、速度)
- 逐文件解压(同样带百分比与预计时间进度)
- 将原目录整体改名备份(xxx.dsh-bak-时间戳,同盘瞬时完成)
- 把 node_modules / .git 移回新目录,再放入官方最新源码
- 可选运行 pnpm install 同步依赖
4. 更新前若检测到 DSH Web(127.0.0.1:3080)正在运行,会中止更新,请先关闭再重试。

📄 源码版更新的完整细节、备份/回滚机制、以及如何把本工具自身同步到 GitHub,见:源码版更新与GitHub同步说明.md

npm 全局安装
列表里若发现 npm 全局 @deepseek-ai/dsh,更新会直接执行 npm install -g @deepseek-ai/dsh@latest。

插件 / 技能窗口(带实时进度与效率)点击对应按钮会弹出独立表格窗口(名称 / 版本 / 大小),窗口顶部带 实时进度条 与效率标签:已检测 x/y 项(百分比)|当前:…|xx 项/秒|已用 x 秒|预计还需 …
扫描完成后底部显示汇总:共 N 项|合计大小|用时|平均 xx 项/秒,主窗口日志也会同步记录完成统计。支持双击打开所在路径、滚轮/滚动条浏览。

诊断与重扫:若某项解析失败或扫描为空,窗口顶部会出现红/橙横幅说明原因(如 DSH 数据目录不存在、包未找到),可点击 ↻ 重新扫描 重试。插件扫描会依次在 运行时 profile、npm 全局、源码检出 的 node_modules 中查找插件,扫描大小统计会跳过符号链接与 junction(防循环),pnpm 布局也能正确计大小。

导出 CSV 点击 导出 CSV 会重新扫描并写出:
- dsh_plugins.csv(含启用状态与来源)
- dsh_skills.csv

两份文件均保存在本程序所在目录(UTF-8 带 BOM,Excel 可直接打开)。

检测范围与配置

| 项 | 位置 |
| DSH 数据目录 | 环境变量 DSH_HOME(默认 %USERPROFILE%\.dsh) |
| 技能目录 | 环境变量 DSH_SKILLS(默认 %DSH_HOME%\skills) |
| 源码检出 | 自动扫描各固定盘根目录下名称含 harness/deepseek 的目录(两层内),也扫描 %USERPROFILE% 等常见位置 |
| 官方源码 | https://github.com/deepseek-ai/deepseek-harness master 分支 |
| 官方发布版 | npm registry @deepseek-ai/dsh latest |

如需指定其它技能目录,可设置 DSH_SKILLS 环境变量后再启动程序。

版本号对比规则

支持语义化版本(含预发布后缀),例如: 0.1.0-rc.5 < 0.1.2-rc.1 < 0.1.3-alpha.1(先比主版本数字)。

源码检出以 GitHub master 为官方参照;npm 全局 / profile 以 npm 发布版 为官方参照。

文件清单

| 文件 | 说明 |
| updater_gui.pyw | 图形界面主程序 |
| updater_core.py | 纯逻辑层:检测 / 网络 / 插件 / 技能 / 更新 |
| 启动更新器.bat | 一键启动器 |
| updater_core.py --selftest | 命令行自测:python updater_core.py --selftest |

安全提示

- 更新前会备份原目录;备份不删除(除非手动清理),随时可回退。
- 整目录替换只针对被识别为 @deepseek-ai/dsh-root 的源码检出,不会误伤其它目录。
- 请勿在 DeepSeek Harness 运行时执行源码更新。

附记
- 如果有相关的建议或者是意见或是BUG反馈总结一下发送到以下邮箱 3635135075@qq.com
- 或者是直接到我的B站账号里私信(有的时候可能会很长一段时间才会回复)
- 目前准备制作对应的“一键部署版本”

An English overview of this project is available in README.en.md (features, the two editions, where local data is stored, and known limitations).
预览分享卡片长什么样 ↓mutoharohfiqhiabcd-source/dsh-updater
分享 · DeepSeek Harness Hub
mutoharohfiqhiabcd-source/dsh-updater

DeepSeek Harness 自动检测与更新器:Windows 桌面小工具 + DSH 网页版插件会话标题栏「检测…

回到顶部