Plugin updater with an automatic parallel scan on opening its left-sidebar panel. Reuses the completed scan to skip current plugins without rechecking them and installs only confirmed newer targets. Checks DSH compatibility and installed versions, attempts recovery after failed GitHub updates, and shows one history card per operation. Includes a dsh_oneshot_update agent tool.
Install
# from a prebuilt release tarball
dsh plugin --profile web add "https://github.com/zhangyong0010/dsh-oneshot/releases/download/v1.0.2/dsh-oneshot.tgz"
# from GitHub (first run asks for allowBuilds approval — follow the hint, retry)
dsh plugin --profile web add github:zhangyong0010/dsh-oneshot
Any plugin you install runs third-party code with your own permissions — it can read your files, use your credentials, and reach the network, and tool approvals don’t sandbox it. GitHub-sourced plugins also run build scripts at install time — pnpm blocks those until you allow them, so an install can stop with ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED or ERR_PNPM_IGNORED_BUILDS; dsh prints the exact key to add under allowBuilds in your profile’s pnpm-workspace.yaml, and the install works on the next run. Allowing a build is a trust decision: only install sources you trust, and pin a commit (github:owner/repo#sha).
README
This plugin publishes its README in Chinese only.
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.
Links
More in this category
dsh-market/dsh-market★ 10295
Browse, search and install community plugins from inside DeepSeek Harness settings, with category filters, one-click updates, enable/disable, theme switching and configuration backup.
zhu1090093659/dsh-web#packages/dsh-plugin-manager★ 9959
Plugin manager tab in DSH Settings → Plugins: install from npm or git with progress, enable/disable switches effective at next startup, conflict reconciliation with undo, and one-click hand-off to a fix session.
kingOfSoySauce/dsh-skin-market★ 295
Native skin marketplace and lifecycle manager that discovers community skins, displays previews and compatibility status, and provides verified one-click or manual installation paths.
awesome-dsh-plugin/dsh-find-plugin★ 216
Find plugins without leaving the agent: search this curated registry by keyword or category, with ready-to-run install commands.
bradeGithub/DSH-Plugins-Marketplace★ 199
GitHub-topic-driven plugin & skill marketplace: a Settings page that browses the auto-collected registry (the whole dsh-plugin topic plus the skills index, CI-refreshed every 2 hours) with one-click install, type detection, install-script and host-shadow-dependency safety confirmations, env-key management, and the STANDARD.md recognition spec.
Sanqi-normal/dsh-webui-market-plugin★ 103
In-harness plugin market for the dsh web GUI: browse the awesome-dsh-plugin.com catalog and install/uninstall plugins into a profile from Settings → Plugins → Plugin Market.
Community comments
Comments are public GitHub Discussions. Loading them connects to GitHub and Giscus; a GitHub account is required to post.