每小时检查已装插件更新,弹窗勾选即可升级
28.1/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/9/17 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add stuarthu/dsh-update-notifier该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
是什么
dsh 原生插件 · market
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 73 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
读写/删除本地文件发起外部网络请求
查看扫描证据(共 5 处,展示前 5 条)
- 读取本地文件lib/index.js:95
return JSON.parse(readFileSync(join(nodeModules, pkg, "package.json"), "utf8")); - 发起网络请求lib/index.js:134
const res = await fetch(url, { signal: ac.signal, headers: { accept: "application/json" } }); - 读取本地文件lib/index.js:163
const parsed = JSON.parse(readFileSync(stateFile, "utf8"))?.declines; - 写入本地文件lib/index.js:182
writeFileSync(tmp, JSON.stringify({ declines }, null, 2)); - 写入本地文件lib/index.js:183
renameSync(tmp, stateFile);
扫描于 2026/11/3(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
依赖的 DSH / Cordis 模块
@deepseek-ai/dsh-llm给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 每小时检查插件新版本
- 弹窗勾选升级
每小时检查 npm 上已安装 dsh 插件有没有新版本,弹出确认气泡问你要升级哪些
README
由 DeepSeek 最新模型翻译生成dsh-update-notifier
每小时——或按需,通过 /check-updates——检查你已安装的 DeepSeek Harness(dsh)插件是否有更新版本,并通过一个一键批准气泡来升级它们。
dsh 中没有任何东西会告诉你已安装的插件有了新版本;你只能靠自己记得运行 npm view 才能发现。这个插件填补了这一空白:它每小时将每个已安装的插件与注册表进行一次比对,当有更新的版本时,它会以会话中真实问题气泡的形式询问你——要升级哪些插件。勾选你想要的,智能体就会在你眼前执行升级。它从不自行升级任何东西。
行为
每小时一次(可配置),对于每个支撑已加载插件的 npm 包:
- 查询注册表的 latest,并将其与你配置文件的 node_modules 中安装的版本进行比较。比较是严格符合 semver 的——预发布版本排序正确,从不建议降级——并且不是严格 X.Y.Z 格式的版本会被跳过,而不是靠猜测处理。
- 在一个气泡中询问。 任何更新的版本都会变成一个由 dsh 自身渲染的多选问题(dsh-chrome 0.1.2 -> 0.1.3,每个插件一个选项),附加到你最近活跃的会话上。它不消耗模型轮次,也不消耗 token,并且如果你重新连接,它会被重放。
展开完整文档(README 剩余 1 节)
dsh-update-notifier
每小时——或按需,通过 /check-updates——检查你已安装的 DeepSeek Harness(dsh)插件是否有更新版本,并通过一个一键批准气泡来升级它们。
dsh 中没有任何东西会告诉你已安装的插件有了新版本;你只能靠自己记得运行 npm view 才能发现。这个插件填补了这一空白:它每小时将每个已安装的插件与注册表进行一次比对,当有更新的版本时,它会以会话中真实问题气泡的形式询问你——要升级哪些插件。勾选你想要的,智能体就会在你眼前执行升级。它从不自行升级任何东西。
行为
每小时一次(可配置),对于每个支撑已加载插件的 npm 包:
- 查询注册表的 latest,并将其与你配置文件的 node_modules 中安装的版本进行比较。比较是严格符合 semver 的——预发布版本排序正确,从不建议降级——并且不是严格 X.Y.Z 格式的版本会被跳过,而不是靠猜测处理。
- 在一个气泡中询问。 任何更新的版本都会变成一个由 dsh 自身渲染的多选问题(dsh-chrome 0.1.2 -> 0.1.3,每个插件一个选项),附加到你最近活跃的会话上。它不消耗模型轮次,也不消耗 token,并且如果你重新连接,它会被重放。
- 将勾选的插件交给智能体,作为一条后续消息,告诉它运行
pnpm --dir add @ ...
智能体会立即被唤醒,你可以看着升级发生。将其与 dsh-hot-reload 搭配使用,新版本会实时生效,无需重启 dsh。
/check-updates
不想等到整点?在会话中输入 /check-updates:
/check-updates
check-updates · 2 updates — see the question above (7 plugins checked)
它会立即针对你输入它的那个会话运行一个完整周期,并且一旦注册表扫描完成,该行就会结算——它弹出的气泡是一个普通气泡,随时可以回答,刷新后依然存在。在完全无法显示气泡的情况下,结算结果会附带 pnpm ... add 命令,因此答案永远不会只是“你做不到”。
注册表无法访问的包——网络故障、超时、5xx、速率限制,或返回结果中没有版本号——会被计入结算结果,而不是被当作已是最新版本。如果一次扫描中所有包都无法访问,则会以错误结算,而不是“无更新”。两个计数相加:5 plugins checked, 2 unreachable 意味着扫描了七个包。取消该行会停止扫描,因此你取消的检查不会在一分钟后突然弹出一个气泡。
手动检查忽略下面的拒绝记忆:既然你主动询问了,你就会得到完整列表,包括你之前未勾选的版本。它不会干扰每小时的调度,并且在气泡存在时——会附带原因地——拒绝运行。
已经打开,或者检查已在进行中。
该命令出现在 dsh 组合命令注册表的任何地方——@deepseek-ai/dsh-base 就是这样做的,因此任何基于它构建的 profile 都有 /check-updates。它通过 ctx.inject 注册,因此即使是没有该服务的无头 profile 也仍会加载该插件并保留其每小时检查。
只询问一次
对于给定版本,你只会被询问一次(由每小时周期触发——上述命令会覆盖此行为):
- 未勾选的即为拒绝,记录在 /.dsh-update-notifier.json 中,并且不会再被提供——跨重启也是如此——直到注册表的 latest 变为另一个仍优于你已安装版本的版本。删除该文件即可重新询问。
- 批准不会被记录:升级成功会使该版本成为当前版本,而升级失败则值得在重启后重新提供。
- 你从未回答的气泡(会话结束、dsh 停止)不算拒绝——你会再次被询问。
如果还没有活动会话,该提议会被保留:它会在你的下一条消息之后以及下一个每小时周期重试。在完全无法渲染气泡的地方也会被保留——例如无头 profile,或者组合了 userQuestions 服务但没有为其注册任何 UI 的 profile——在那里,可用更新和确切的升级命令也会写入日志,因为你的任何消息都不会让气泡出现。
安装
dsh plugin --profile web add dsh-update-notifier
然后重启 dsh 一次(bundle 补丁层在启动时加载)。适用于任何 profile——将 web 替换为你使用的任何 profile;它会检查自己加载到的 profile。需要 Node 18+,以使用全局 fetch;任何 dsh 宿主都有它。
兼容性
针对 dsh 0.1.0-rc.6(Node 22 / 24)构建并测试。它只使用公共宿主服务,因此如果某个服务缺失,它会降级而不是崩溃:
| 宿主接口 | 用途 |
| loader.entries() | 查找哪些包支撑已加载的插件 |
| userQuestions.ask() | 渲染批准气泡 |
| userQuestions.provider | 不承诺没有 UI 注册来渲染的气泡 |
| agents.get(sessionId) | 解析会话的活动 agent |
| agent.followup() | 唤醒该 agent 以运行升级 |
| session/event (user/message) | 跟踪最近活跃的会话 |
| agent.disposed | 撤回其会话已终止的气泡 |
| commands.register() | /check-updates 命令 |
| agents.roots() | 不承诺 ask() 会拒绝的气泡 |
userQuestions 和 commands 在需要时解析,而不是声明为依赖项,因此该插件仍会在两者都不具备的无头 profile 中加载。
选择退出
不希望被提供升级的插件可以在自己的 package.json 中声明:
{ "dsh": { "updateNotifier": false } }
使用 exclude(见下文)来静默你无法控制的插件。
配置
在你的 profile 的 cordis.patch.yml 中的 update-notifier 行上设置:
| 键 | 默认值 | 含义 |
| interval | 3600000 | 检查之间的毫秒数(被限制为最小 60000) |
| initialDelay | 10000 | 启动后首次检查前的毫秒数 |
| registry | https://registry.npmjs.org | 要查询的兼容 npm 的注册表 |
| exclude | [] | 永不检查或提及的包名 |
| fetchTimeout | 10000 | 每次请求注册表的超时时间,毫秒(最小 1000) |
| profileDir | 自动 | 配置文件目录的绝对路径(若省略则从加载器基础 URL 自动检测) |
安全
- 未经你点击,不会升级任何内容。 此插件从不启动包管理器。它组合气泡,并在获得批准后,由智能体在众目睽睽之下执行指令。
- 注册表中的文本不会进入 UI 或模型。 只有从你自己的配置文件中读取的包名,以及通过 /^[0-9A-Za-z.+-]{1,64}$/ 校验的版本字符串,才会被放入气泡或智能体消息中——绝不会是从注册表获取的描述、README 或变更日志。
- 后续消息带有 source.kind: "plugin",准确列出已批准的包,并告知智能体不要触碰其他任何内容。
限制——请阅读此部分
- 它只询问;它不验证。 一旦你批准,升级就由智能体来运行。失败会在会话中可见,但此插件既不会重试,也不会在之后检查新版本是否真的已安装。
- 只能看到从注册表安装的插件。 从本地检出链接的插件,或内置于 dsh 的插件,在配置文件的 node_modules 下没有对应的包,会被静默跳过——没有气泡,也没有日志行。
- 只查询 latest dist-tag。 不支持固定版本范围、next/beta 通道,或将某个包保持在某个主版本;如果你永远不想要某个插件的最新版本,应使用 exclude。
- 一次只显示一个气泡。 当气泡等待回答时,每小时的检查会跳过——并且 /check-updates 会以“已有一个升级问题待处理”为由拒绝——因此在此期间发布的任何内容都会在你回答后的第一个周期被拾取。
- 拒绝是针对那个确切版本的,而不是“直到该版本为止的任何版本”:如果注册表的 latest 变为一个仍然高于你的不同版本——包括取消发布后的更低版本——你会再次被询问。
- 气泡需要一个 dsh 可以附加问题的会话。注册表故障、加载器状态降级以及状态文件不可写都会降级为日志记录;只有两件事会彻底禁用该插件——上下文中没有插件加载器,以及它无法定位配置文件目录——并且它会在日志中说明是哪一种。
许可证
MIT © Stuart Hu预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
stuarthu/dsh-update-notifier
每小时检查已装插件更新,弹窗勾选即可升级
相关插件 · 市场 / 管理
插件精选列表awesome-dsh-plugin/awesome-dsh-plugin
DeepSeek Harness(dsh)插件精选列表
★ 22,025未汉化DSH
73.6
新词雷达zhuyansen/new-term-radar
new-term-radar新词雷达
★ 2,049已汉化MCP
72.8
插件生态导航0xsline/awesome-deepseek-harness
安装 贡献指南 DeepSeek Docs 公开插件目录 Issues
★ 1,188已汉化DSH
72.6
技能注册中心iflytek/skillhub
企业级开源智能体技能注册中心——发布、发现并管理组织内可复用的技能包。
★ 5,358已汉化DSH
71.9
插件市场目录imsai-sh/awesome-deepseek-harness-plugins
面向 DeepSeek Harnessdsh生态的社区插件目录,共收录 13938 个插件含 PR 收录与…
★ 350已汉化DSH
71.8
插件精选清单Anil-matcha/awesome-dsh-plugin
DeepSeek Harnessdsh精选指南——DeepSeek…
★ 1,013已汉化DSH
71.7
这是你的仓库?认领条目