前言¶
DeepSeek Harness(dsh)迭代节奏快,Release 里往往同时有功能说明和「包名不再兼容、插件需改」这类信息。日常开发里,你通常只需要两件事:当前有没有比本机更新的官方版本,以及这次升级会不会动到你正在依赖的行为或接口。社区里也有带自动升级、回滚能力的更新类插件;若你希望检查与升级完全分离——界面只展示事实和可复制命令,由你在终端自行执行——下面介绍维护者 1207627875 发布的联网工具插件 dsh-update-lens(GitHub:1207627875/dsh-update-lens,社区目录:skillhub 插件页)。
这是什么¶
dsh-update-lens 是 dsh 的只读更新检查插件:对比 npm 与 GitHub 上的版本信息,在应用内提示有新版本,并对发布说明做破坏性变更标注。它不会替你执行 npm 升级、下载或替换全局包;升级命令仅提供复制,是否执行由你决定。
插件以 MIT 许可发布,package.json 当前版本为 1.0.3。运行要求:Node >= 20,dsh >= 0.1.6-alpha.2(README 写明已在 0.1.6-alpha.2 与 0.1.7-rc.2 上实测)。
核心功能¶
更新中心与提醒¶
启用后,主要入口在 设置 → 更新中心(导航位 160)。页面展示当前版本、最新版本、通道、npm dist-tags、更新内容(中英对照)、风险标注、网络来源、相关设置项,以及手动更新命令。
发现新版本时:
- 右下角出现浮层通知,支持「复制命令 / 暂不显示 / 忽略此版本」;
- 设置导航项在有更新时会显示为「更新中心 ●」。
破坏性变更标注¶
与「只列 changelog」的同类能力相比,本插件对发布说明逐条打标,左侧色条 + 徽章,鼠标悬停可见命中的关键词(规则透明,非黑箱):
| 档位 | 含义 | 典型命中词(节选) |
|---|---|---|
| ▲ 破坏性(红) | 移除、不兼容、必须动手适配 | 不兼容、移除、弃用、deprecated、must、developers should 等 |
| ! 注意(黄) | 行为、默认值、接口变动 | 调整、改为、default、changed、adjust 等 |
额外规则包括:接口相关变动与「API / slot 变化」类表述会按破坏性处理;在「问题修复 / Bug Fixes」「新增功能 / New Features」等小节内,按顶格词降噪,减少把普通修复误标为破坏性。每张版本卡汇总「N 条破坏性 / M 条需留意」,并提供只看风险项过滤。若待升级版本含破坏性变更,会在「手动更新命令」上方显示红条提醒。
发布说明格式随 dsh 版本变化(Markdown 标题、emoji 标题 + 裸标签行、HTML 跨行标题等),解析器在 README 中说明已覆盖多种格式;规则由 tests/notes-rules.mjs 对真实 Release 正文 fixture 做断言维护。
版本比较与数据来源¶
版本判定使用 semver 比较(含预发布规则)。默认跟随当前通道(例如安装的是 alpha 则只盯 alpha);也可切换为「任意通道最新版」。若 dist-tag 出现「latest 指向低于已安装版本」等情况,会单独告警。
网络读取均为公开 GET:
| 来源 | 用途 |
|---|---|
registry.npmjs.org |
版本号、dist-tags、发布时间(主源) |
registry.npmmirror.com |
主源失败时的备用 |
api.github.com/.../releases |
更新正文 |
ungh.cc |
仅当 GitHub 取不到正文时的兜底镜像 |
GitHub 正常时不会请求 ungh.cc;可在设置中自定义 GitHub API 地址(镜像)。插件默认直连,不读取系统 WinINET 代理;仅认设置页中的代理或环境变量 HTTPS_PROXY / HTTP_PROXY。
它 deliberately 不做的事¶
README 明确区分:
- 不自动更新;需要一键更新与备份回滚可参考 Airmetro/dsh-update-checker。
- 只检查 dsh 本体,不扫描第三方插件是否有新版;插件生态更新可用 stuarthu/dsh-update-notifier 等,与本插件不冲突。
- 破坏性标注基于关键词规则,可能漏标或误标;中英不对称时按更严重一侧计数。
安装与启用¶
先做安装,再在设置里启用,最后重启 profile 使 Host 侧代码加载(客户端改动刷新页面即可)。
# 1) 装进 profile(把 web 换成你的 profile 名)
dsh plugin --profile web add github:1207627875/dsh-update-lens
# 2) 在「设置 → 插件」里启用;或手动把 dsh-update-lens 加进该 profile package.json 的 dsh.profile.bundles 数组
# 3) 重启 profile
安装后可用 HTTP 自检(README 示例):
GET http://127.0.0.1:3080/dsh-update-lens/status
确认返回 JSON,且 current.version 与当前 dsh 版本一致。
设置与典型用法¶
设置与缓存路径:$DSH_HOME/dsh-update-lens/{config,state}.json($DSH_HOME 默认为 ~/.dsh)。
常用设置项包括:
- 启用后台自动检查(默认开,启动约 8 秒后首检,不阻塞启动)
- 检查间隔(15–10080 分钟,默认 360)
- 检查范围:跟随当前通道 / 任意通道最新版
- 发现新版本时弹出提醒
- HTTP(S) 代理(留空为直连;可写
127.0.0.1:7890这类省略协议的地址) - GitHub API 地址(可填镜像)
典型工作流:
- 保持默认自动检查,或按网络环境配置代理 / GitHub 镜像;
- 有更新时在「更新中心」阅读带风险标注的 Release,必要时用「只看风险项」;
- 复制页面上的手动更新命令,在终端自行升级 dsh;
- 单张版本卡可「忽略」以收起卡片(可恢复);通知里的「不再提醒」仅静音该条通知,与卡片忽略含义不同(README 有说明)。
写接口(如 /check、/config、/dismiss)仅写入插件自身配置,且要求同源。
适用场景与注意¶
适合:经常跟进 dsh 新版本、希望在 UI 内一眼看到版本差与 Release 风险、且坚持手动控制升级时机的开发者。
注意:
- 插件在当前 dsh 进程权限下运行,会发起对外网络请求;安装前应阅读源码与 MIT 许可证,确认符合你的安全策略。
- 本插件不需要密钥即可工作,只读公开 registry 与 GitHub Releases。
- DeepSeek Harness 社区插件目录(如 skillhub.cn)为独立生态站点,与 DeepSeek / 幻方无官方从属关系;本文事实以仓库 README 与
package.json为准。
结尾¶
dsh-update-lens 把「有没有新版」和「Release 里哪些条目可能破坏兼容」收进设置里的更新中心,升级动作始终留在你的终端。进一步了解可访问 社区目录页 与 GitHub 仓库。