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

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

| 回滚:列出所有源码备份,点一次变「确认回滚?」再点一次才执行 | 插件在 DSH 的「插件 → 已安装」里的样子 |
|---|---|
![]() |
![]() |
⚠️ 插件运行在 DSH 主进程内、不受工作区沙箱限制;检测 / 回滚 / 下载 / 启动 都会真实读写磁盘、真实启动进程。
安装方式
环境要求
| 项目 | 要求 |
|---|---|
| 操作系统 | Windows 10 / 11(本工具为 Windows 桌面程序) |
| Python | 3.10 或更高(含 tkinter,Windows 官方安装包默认自带) |
| 其它依赖 | 无 —— 全部使用 Python 标准库,无需 pip 安装任何第三方库 |
| 网络 | 需要能访问 GitHub(对比官方版本 / 下载更新) |
方式一:下载exe版本
方式二:下载 ZIP(推荐,无需 git)
- 打开本仓库页面:https://github.com/mutoharohfiqhiabcd-source/dsh-updater
- 点击绿色按钮 Code → Download ZIP;
- 解压到任意目录(例如
D:\dsh-updater); - 双击
启动更新器.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)。
图形界面:DSH 侧边栏 → 插件 → 添加插件 → 填
github:mutoharohfiqhiabcd-source/dsh-updater → 安装。
命令行:
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/回滚会真实写盘并启动进程。
首次运行(可选:创建桌面快捷方式)
- 运行一次确认界面正常;
- 如需桌面快捷方式:右键
启动更新器.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、数据目录 |
| 进度横幅 | 下载 / 解压 / 更新过程中的实时进度条(百分比) |
| 日志区 | 检测、下载、更新过程全量日志(下载与解压含「已下载 / 剩余 / 预计时间 / 百分比 / 速度」) |
双击列表行可在资源管理器中打开对应位置。
更新流程(源码检出)
- 选中一行「源码检出」,点击 更新所选安装;
- 弹出确认框(可勾选「替换后自动运行 pnpm install」);
- 程序将:
- 下载
deepseek-harness/archive/refs/heads/master.zip(进度横幅与日志实时显示:已下载 X/Y MB、剩余、预计时间、百分比、速度) - 逐文件解压(同样带百分比与预计时间进度)
- 将原目录整体改名备份(
xxx.dsh-bak-时间戳,同盘瞬时完成) - 把
node_modules/.git移回新目录,再放入官方最新源码 - 可选运行
pnpm install同步依赖
- 下载
- 更新前若检测到 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站账号里私信(有的时候可能会很长一段时间才会回复)
- 目前准备制作对应的“一键部署版本”
English
An English overview of this project is available in README.en.md (features, the two editions, where local data is stored, and known limitations).






No comments yet. Be the first to write one.