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).






还没有评论,来写第一条。