前言¶
DeepSeek Harness(dsh)通过 npm 全局安装后,版本会随 @deepseek-ai/dsh 的 Release 迭代。平时要确认自己是否落后,往往得另开浏览器查 GitHub Releases,再对照终端里 dsh --version 的输出,升级时还要自己拼 npm install -g --prefix … 和 registry 参数。若你主要用 dsh web 做日常配置,希望「看版本、看 changelog、拿升级命令」都在设置页完成,且不希望插件在 web 进程里强行重装(Windows 上正在运行的 bin 会被占用),可以装 dsh-updater 这类只检查、只给命令的联网插件。
这是什么¶
dsh-updater(npm 包名 @deepseek-ai/dsh-updater)是社区维护的 DSH 插件,维护者为 pomelotea-yuzu,在插件目录中归类为 联网工具。它在 web 设置面板左侧导航末尾新增「更新」分区,展示当前安装版本与 GitHub Releases 上的最新版本、检查时间与状态、最近版本的更新说明摘要,并提供 Release 页面跳转与一键复制升级命令。只检查、不自动安装——复制命令后需在已退出的 dsh web 之外,于终端手动执行 npm 重装。
核心功能¶
下面介绍插件在资料中明确列出的能力。
设置面板「更新」分区¶
- 左侧导航最后一项(order 20,↑ 箭头图标)。
- 展示:当前版本 / 最新版本 / 检查时间 / 状态(已最新、可更新、检查失败)/ 最近版本更新说明 / 「打开 Release 页面」按钮。
- 检测到新版本时显示升级命令卡片与「复制更新命令」;命令按实际安装目录生成,形如:
npm install -g --prefix <安装目录> @deepseek-ai/dsh@latest --registry …
- rc 预发布版本在比较时也算「可更新」(资料说明 DSH 目前 Release 多为 rc)。
检查时机与缓存¶
- 应用启动时在 host 端后台静默检查一次;host 内存缓存作兜底,避免重复请求 GitHub。
- 面板内「检查更新」可强制刷新(对应带
force的检查接口)。
Host 端数据流(便于理解行为)¶
设置页「更新」分区通过 GET /dsh-updater/status(或 /check?force=1)与 host 交互。host 侧大致步骤为:
- 当前版本:从 dsh CLI 的
bin.js上一级package.json读取(与dsh --version同源;失败时回退import.meta.resolve或子进程dsh --version)。 - 安装目录:由
bin.js路径向上推导,用于生成npm --prefix升级命令。 - 最新版本:请求 GitHub Releases API(
https://api.github.com,仅此官方源);失败时依次回退node --use-system-ca子进程、Windows 上的curl.exe(schannel)。 - 剥掉
dsh-v前缀,用 npm semver 规则比较(rc 计入可更新)。 - 结果在内存中缓存 10 分钟(未认证 GitHub API 约 60 次/小时/IP 限流)。
安装与启用¶
安装命令以仓库 README 原文为准(示例使用本地 link 路径,请换成你本机插件目录):
dsh plugin --profile web add "link:D:\dsh_plugin\dsh-updater"
安装后重启 dsh web 生效。若只改了插件的 client 端,浏览器强刷(Ctrl+Shift+R)即可。
典型用法¶
日常看版本¶
- 启动
dsh web,打开设置页,进入「更新」分区。 - 查看当前版本、最新版本与状态;需要时可点「检查更新」强制刷新。
- 若有新版本,阅读更新说明摘要,需要详情时点「打开 Release 页面」。
升级 DSH(复制命令后手动执行)¶
- 关闭正在运行的 dsh web。
- 在新终端执行「更新」分区里复制的 npm 命令(重装到原
--prefix目录)。 - 执行
dsh --version确认新版本,再启动dsh web。
资料说明不做「一键安装」的原因:在 Windows 上 npm 全局重装需替换正在使用的 dsh 文件,而 web 进程本身占用这些文件,必须先退出 web 再升级,属于平台限制而非插件偷懒。
配置¶
在 profile 的 cordis.patch.yml 中可覆盖插件配置(默认值一般够用):
- id: dsh-updater
config:
timeoutMs: 10000 # GitHub 请求超时(毫秒)
cacheMs: 600000 # 检查结果缓存时长(毫秒)
适用场景与注意¶
适合谁:长期用 dsh web 配置 Harness、希望少切窗口查 GitHub、又愿意自己掌控升级节奏(先停 web、再跑 npm)的开发者。
使用前请知悉:
- 插件以当前 dsh 进程权限运行,会向 GitHub 拉取 Release 信息;安装前建议阅读源码与 MIT 许可证(见仓库)。
- 社区插件目录(SkillHub 等)与 DeepSeek / 幻方无官方从属关系,并非官方应用商店。
- 仓库 README 中的安装示例为
link:本地路径;从目录页或 GitHub 获取与你环境一致的安装方式时,以该页/该 README 当前说明为准。
结尾¶
dsh-updater 把「当前版 vs 最新版、changelog 摘要、Release 链接、按安装目录生成的升级命令」收进 web 设置里的「更新」分区,启动时静默检查、手动可强制刷新,并明确不自动安装。若你认同「检查在面板、安装在终端」的分工,可按 README 安装并在升级流程里配合复制命令使用。
- 插件目录页:https://www.skillhub.cn/plugins/pomelotea-yuzu/dsh-updater
- GitHub:https://github.com/pomelotea-yuzu/dsh-updater