DeepSeek Harness Plugin Hub

发布与管理完整 Harness Profiles,发现适合你的插件。

探索

插件目录环境预设文档中心动态

社区

发布插件联系我们报告问题

相关链接

Plugin Hub GitHubDeepSeek Harness 官方项目系统状态隐私说明
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

独立、非官方社区项目,与 DeepSeek 官方无隶属、授权或背书关系。

Plugin Update Checker — DeepSeek Harness 插件(DSH Plugin)
DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录
← Plugins
P

dsh-plugin-update-checker

Plugin Update Checker

一个 DeepSeek Harness 插件,可在插件设置部分添加“检查更新”按钮:扫描每个已安装的插件包以查找已发布的更新,并评估其对正在运行的 DSH 运行时的对等依赖兼容性。

插件会安装到这里;不确定时保持 web。

npx -y @deepseek-ai/dsh plugin --profile web add github:windrover/dsh-plugin-update-checker#2534f2bb09b3c04a75b8b8833db85d735382bfa5
README兼容性版本

兼容性与来源证明

Plugin Update Checker 以 dsh-plugin-update-checker 发布,当前版本为 0.1.0。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
web
发布来源
github
Registry 更新时间
2026/10/4

版本

0.1.0stable
2026/10/4

相关插件

正在加载相关插件…

最新版
0.1.0
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
未提供
文件数
未提供
Surface
web
许可证
MIT
发布源
github
GitHub
★ 0
周下载
0
最近提交
2026/10/10
查看源码 ↗
README Badge

点击下方 Badge 复制 Markdown,粘贴到 README 即可。

这是你的 Plugin?认领权益 · 优先安全扫描

验证 package.json 声明的 GitHub 仓库,即可管理这个公开页面。认领后,Hub 会优先安排当前版本的安全扫描,并在通过后公开展示结果。

认领这个 Plugin →
报告问题

相关插件

继续浏览 developer-tools 分类下经过校验的插件。

Ssh@linxin666/dsh-sshdsh Web GUI 的远程 SSH 操作:主机配置存储(~/.dsh/dsh-ssh.json,可从 ~/.ssh/config 导入)、支持跳板主机的持久化 ssh2 连接池、exec / PTY Web 终端 / SFTP 传输 / 本地端口转发隧道 / 集群执行Update@linxin666/dsh-update用于 dsh Web GUI 的自更新插件:探测 npm 上是否有更新的系列版本,并在原地运行所属配置的 pnpm 更新;可通过设置图标旁侧边栏中的触发器启动,并显示发布说明面板Tui@deepseek-harness-tui/dsh-tui用于 DeepSeek Harness 智能体、会话和工具的交互式终端界面。Cc Safety Netcc-safety-net编码代理 CLI 钩子——阻止破坏性命令和访问机密文件

README

dsh-plugin-update-checker

English · 中文

A DeepSeek Harness plugin that adds a Check updates button to the Built-in plugins settings section. Click it and the plugin scans every installed plugin bundle for (1) the latest published version on the npm registry and (2) its compatibility with the running DSH runtime — then shows one row per bundle.

It lives beside the read-only inventory tab, itself contributing no configuration: it only reports. Updating or toggling a bundle is still done in the sidebar Plugins page or via dsh plugin.

✨ What it does

CheckSourceNotes
Update availabilitynpm registry (latest dist-tag vs the installed version)Registry-only. Bundles installed from a tarball / git / path publish nothing, so they are reported as Unsupported rather than falsely Up to date.
Compatibilitythe bundle's @deepseek-ai/dsh* peerDependencies vs the running DSH versionReuses @deepseek-ai/dsh-app-boot's evaluatePluginCompatibility, the same helper the launcher applies on boot. An exact-version exemption granted in compatibility.json shows as Compatible (exempted).

Compatibility and update availability are computed independently — a slow or unreachable registry can never hide an incompatible peer range, and a local-only bundle still gets a compatibility verdict.

📸 Where it sits

Open Settings → Built-in plugins. The section now has two tabs:

  • Plugin list — the read-only inventory (shipped by DSH).
  • Check updates — this plugin. It shows the running DSH version, a Check updates button, and the results table (plugin / installed / latest / compatibility / update).

The check is on demand: click the button, the host scans, and the table fills in. One broken manifest or an unreachable registry is isolated to its own row — it never blanks the whole report.

📦 Install

Option A — from this GitHub repository (recommended)

  1. Open the sidebar Plugins page → Add plugin.

  2. In the source field, enter one of these install specs (the launcher resolves them through installBundle, the same primitive the GUI uses):

    github:windrover/dsh-plugin-update-checker
    # or the full URL:
    https://github.com/windrover/dsh-plugin-update-checker
    
  3. Restart to load the new bundle:

    dsh check     # iron rule #1: preflight before restart
    dsh restart   # reloads the web profile; the new bundle loads
    
  4. Open Settings → Built-in plugins → Check updates → Check updates. The Check button's fetch('/api/plugin-update-checker/scan') runs inside the authenticated browser session, so it needs no manual token.

This repository is public, so installing directly from GitHub works without any extra authentication. On networks where registry.npmjs.org is unreachable, the launcher uses registry.npmmirror.com automatically.

Option B — local link (for development / editing the plugin)

  1. Clone the package where your profile can link it:

    # e.g. inside your DSH workspace
    git clone https://github.com/windrover/dsh-plugin-update-checker dsh-plugin-update-checker
    
  2. Link it into your profile. Add a link: dependency + a bundles entry to the profile manifest:

    // ~/.dsh/profiles/web/package.json
    {
      "dependencies": {
        "dsh-plugin-update-checker": "link:/abs/path/to/dsh-plugin-update-checker"
      },
      "dsh": { "profile": { "bundles": [ "…", "dsh-plugin-update-checker" ] } }
    }
    

    Then install. npm install rejects the link: protocol in this profile — use pnpm (the profile is a pnpm workspace), which is what dsh wires under the hood:

    cd ~/.dsh/profiles/web
    pnpm install --registry=https://registry.npmmirror.com   # link: deps don't hit the network
    

    dsh's wire_link_plugin_deps auto-symlinks any @deepseek-ai/* the plugin imports into its own node_modules, but it does not handle plain npm packages — so pre-link the one real dependency yourself (the documented link-plugin gotcha: a link: plugin can't resolve packages that aren't hoisted into its tree):

    mkdir -p dsh-plugin-update-checker/node_modules
    ln -sfn ~/.npm/_npx/<active-dsh-hash>/node_modules/semver \
            dsh-plugin-update-checker/node_modules/semver
    
  3. Restart and open it (dsh check && dsh restart, then the same Settings path as Option A).

🔌 How it is built

One bundle, two halves:

  • Host (lib/index.js → lib/host/update-checker.js) registers POST /api/plugin-update-checker/scan, which walks the profile's bundles (via ctx.remote.pluginManager.listBundles(), falling back to scanning node_modules), reads each manifest, evaluates peer compatibility, and probes the registry. cordis.patch.yml adds the Loader row.
  • Browser (lib/client.js) registers a tab into the settings.plugins.tab slot of the Built-in-plugins section and renders the result with react (require("react")) and the design tokens DSH already exposes. The bundle id equals the package name — the contract dsh-client-modules enforces.

🧪 Test

node test/client-contract.test.mjs

Pins the browser-half contract (id == package name, one settings.plugins.tab registration, renderable body). The host scan was exercised against the live profile during development and returns { ok, dshVersion, checkedAt, plugins: [...] }.

📝 Limitations

  • Read-only — it reports; it does not update or toggle anything.
  • Registry reachability — registry checks need network access to the configured registry; offline or firewalled hosts show Unknown per bundle.
  • Local / git / tarball bundles — publish no registry version, so their update status is Unsupported. Their compatibility is still evaluated from the local manifest.