从左侧面板打开即并行扫描版本的插件更新器。一键更新复用已完成的扫描结果,已确认最新的插件不再重复查询或重装,仅安装已确认的新版本。保留 DSH 兼容检查、安装后版本核对和 GitHub 更新失败后的恢复尝试,并按每次操作展示一张历史卡片。内置 dsh_oneshot_update Agent 工具。
安装
# Release 预构建包
dsh plugin --profile web add "https://github.com/zhangyong0010/dsh-oneshot/releases/download/v1.0.2/dsh-oneshot.tgz"
# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)
dsh plugin --profile web add github:zhangyong0010/dsh-oneshot
装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。GitHub 来源的插件还会在安装时执行构建脚本——pnpm 默认拦截,所以安装可能停在 ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED 或 ERR_PNPM_IGNORED_BUILDS;dsh 会打印出需要添加的确切键名,把它加进该 profile 的 pnpm-workspace.yaml 的 allowBuilds 下,重跑一次即可装上。放行构建本身就是一次信任判断:请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。
README
DeepSeek Harness(DSH)插件一键更新器:自动读取所有已安装插件,查询各自最新 GitHub 版本,一键强制更新到最新版,并输出「哪个插件从哪一版更新到哪一版」的变更日志。
✨ 功能特性
- 打开即扫描:进入面板自动扫描;最多 6 个插件并行查询,共享请求去重、60 秒短缓存;手动扫描强制刷新,并显示扫描耗时
- 自动发现:一键读取当前 profile 中所有已安装的 DSH 插件(Bundle),识别其来源(GitHub / npm 注册源 / 本地开发包)
- 查询最新 GitHub 版本:按
Releases → Semver Tags → 默认分支 package.json三级回退查询每个插件上游仓库的最新版本 - 复用扫描结果:扫描完成后直接使用已确认的版本计划,已是最新的插件不再查询或重装,只更新已确认有新版的插件。尚未扫描时先扫描一次;手动「扫描版本」会刷新计划;成功更新的插件再次点击更新时自动跳过。
- 一键强制更新:
- GitHub 来源插件 → 安装扫描确认的 Release / Tag / 默认分支提交,安装后核对本地版本;失败时尝试恢复原版本
- 注册源插件 → 更新到最新已发布版本;GitHub 版本领先 npm 时,可切换到已核验包名、版本和 Bundle 声明的 GitHub 目标
- 本地 link:/file: 开发包 → 安全跳过
- 独立更新日志页:点击右上角「更新日志」进入二级页面,每次操作汇总为一张卡片,展示时间、成功/失败/跳过数量和变更摘要;完整日志可展开,可返回插件列表。历史按需加载,最多保留最近 20 次,Host 重载后清空
- 安全预检:更新前比对目标版本的 DSH 兼容性声明,不兼容时自动阻止(避免卸载后无法安装)并给出版本豁免提示
- Agent 工具:内置
dsh_oneshot_update工具,可在对话中直接让 AI 执行扫描 / 更新
📦 安装
在 DSH 的 设置 → 插件 → 安装 中粘贴安装规格:
github:zhangyong0010/dsh-oneshot
当前版本:v1.0.2。也可下载 v1.0.2 安装包,或在安装框粘贴该链接。版本变化见 更新记录。
或让会话中的 Agent 代为安装(plugin_manager install_bundle,安装规格同上)。
🚀 使用
- 点击 左侧边栏的「Oneshot一键新」图标 打开面板,自动开始扫描版本
- 扫描版本:查看每个插件的已安装版本 vs GitHub 最新版本
- 一键强制更新全部:复用扫描结果,跳过已确认最新的插件,只强制安装已确认的新版本;不再重新扫描全部插件
- 右上角「更新日志」:进入独立卡片列表,按需展开完整日志;点击「返回插件列表」返回
- 也可以直接对 AI 说:「用 dsh_oneshot_update 扫描插件」/「用 dsh_oneshot_update 更新全部插件」
📋 更新策略
| 插件来源 | 策略 |
|---|---|
github:owner/repo |
安装准确的远程版本并核对结果;替换前确认恢复来源,失败时尝试恢复并核对原版本 |
| npm 注册源 | 通过插件管理器更新新版本;GitHub 领先时可转为 GitHub 来源(后续按 GitHub 来源更新) |
link: / file: 本地包 |
跳过(无远程下载更新) |
多包仓库按 repository.directory 读取插件自身的 GitHub 版本,不把仓库根项目的版本当作插件版本。这类插件通过注册源更新已发布的版本,避免误装整个根项目。
🛡️ 安全与隐私
- 不兼容保护:DSH 对插件有运行时兼容性门禁(防崩溃/数据丢失)。本插件更新前先预检,并使用与 DSH 一致的语义版本及预发布范围规则。不兼容或无法确认兼容性的目标不替换;不自动授予版本豁免。不能确定包名、Bundle 声明、准确版本或旧版恢复来源时保留原版。网络故障或源版本被移除仍可能使恢复失败,届时日志明确给出手动恢复规格;不会将恢复失败记为成功
- 版本豁免:确需运行不兼容版本时,DSH 要求你显式授予精确版本豁免(官方警告有崩溃/数据丢失风险),本插件只提示、绝不自动授予
- 零遥测:本插件不收集、不上传任何数据;仅在查询版本时访问 GitHub API 与 npm 注册源(GitHub 匿名 API 有限速,查询失败会在日志中如实标注)
🗂️ 项目结构
dsh-oneshot/
├── index.js # Host 端:扫描/更新引擎、HTTP 路由、Agent 工具
├── client.js # Client 端:左侧边栏图标 + 主面板 + 卡片日志
├── cordis.patch.yml # DSH Bundle 插件行
├── locale/ # 中英双语显示元数据
├── vendor/semver/ # node-semver(ISC 许可证,随包携带)
├── tests/ # 扫描、更新及客户端语言回归测试
├── CHANGELOG.md # 更新记录
└── icon.svg # 图标
📄 License
MIT © dsh-oneshot contributors
Oneshot One-Click Updater (English)
A one-click force updater for every installed DeepSeek Harness (DSH) plugin: it discovers all installed plugin bundles, queries their latest GitHub versions (releases → tags → default-branch manifest), force-updates them to the latest, and reports a per-plugin old → new version-change log.
- Install spec:
github:zhangyong0010/dsh-oneshot - Left-sidebar panel: Scan versions / Force-update all / card-style Update log
- Agent tool:
dsh_oneshot_update(scan/update) - Update reuses the completed scan plan, skips current versions without rechecking them, and installs only confirmed newer targets. Without a completed plan it scans once; a manual scan refreshes the plan. Successful updates are excluded from repeated clicks.
- Opening the panel starts a bounded parallel scan; manual scans refresh cached metadata. Update history has its own card view.
- GitHub updates install the discovered ref and verify the installed version. When npm lags behind, a verified GitHub release may replace the registry source.
- Safety: compatibility checks use node-semver and DSH range semantics. Unknown/incompatible targets are blocked. Recovery is verified but may fail if the network or original source is unavailable; failures include a manual recovery spec. Zero telemetry.
链接
同类插件
dsh-market/dsh-market★ 10295
在 DeepSeek Harness 设置页内浏览、搜索并安装社区插件,支持分类筛选、一键更新与停用,以及主题切换与配置备份。
zhu1090093659/dsh-web#packages/dsh-plugin-manager★ 9959
设置 → 插件 分区里的插件管理 Tab:从 npm/git 安装带进度、下次启动生效的启停开关、安装冲突对账可撤销、失败一键转交修复会话。
kingOfSoySauce/dsh-skin-market★ 295
原生皮肤市场与生命周期管理器,发现社区皮肤、展示预览与兼容状态,并提供已验证的一键安装或手动安装入口。
awesome-dsh-plugin/dsh-find-plugin★ 216
会话内直接找插件:按关键词/分类搜索本精选 registry,返回描述与可直接执行的安装命令。
bradeGithub/DSH-Plugins-Marketplace★ 199
面向 GitHub dsh-plugin 话题的插件与技能市场:设置页内逛自动收录的全量索引(CI 每 2 小时刷新),一键安装带类型识别、安装脚本与宿主依赖遮蔽安全检查、环境变量密钥管理,并附 STANDARD.md 识别层规范。
Sanqi-normal/dsh-webui-market-plugin★ 103
dsh Web GUI 内的社区插件市场:浏览 awesome-dsh-plugin.com 目录,从 设置 → 插件 → 插件市场 安装/卸载插件到 profile。
社区评论
评论公开保存在 GitHub Discussions。加载评论会连接 GitHub 和 Giscus;发表内容需要 GitHub 账号。