DeepSeek Harness Plugin Hub

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

探索

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

社区

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

相关链接

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

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

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

dsh-plugin-updater

Plugin Updater

DeepSeek Harness 的包级插件管理器:设置页面列出已安装的配置文件插件,并检测最新版本(npm dist-tags / git 提交与标签),支持一键安装、更新和移除;同时提供 GitHub 市场,搜索 dsh-plugin 主题以直接安装

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

npx -y @deepseek-ai/dsh plugin --profile web add github:hyqhyq3/dsh-plugin-updater#5dc8f8517222e1a6362820be4ea9555910121325
README兼容性版本

兼容性与来源证明

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

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

版本

0.3.0stable
2026/9/10
0.2.5stable
2026/9/9
0.2.1stable
2026/9/3

相关插件

正在加载相关插件…

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

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

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

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

认领这个 Plugin →
报告问题

相关插件

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

Automation@michengai/dsh-automation在独立 DSH Session 中按计划执行编码任务,支持 Web 设置页与 Agent 双入口管理。Find Plugindsh-find-plugin在代理中查找 DeepSeek Harness 插件——实时搜索 GitHub 上的 dsh-plugin 主题,并按星标数排序。DSCODE@toddzheng024/dscode-bundle完整的 DeepSeek 编码代理,支持持久化 shell、Ultra 协作和自动权限审查。Market Plusdsh-market-plusDSH 插件市场增强版:dsh-market 基座 + dsh-store 的 npm 权威源/质量验证/GitHub 热度/代理注入/回退安装(MIT,融合 dsh-market 与 dsh-store)

README

dsh-plugin-updater

English | 简体中文

Package-level plugin manager with update detection for DeepSeek Harness (DSH).

It adds a Settings → 插件包 page to the DSH web UI that lists every plugin package installed in the current profile, shows the installed version and the latest available one, and can install, update, and remove packages — dsh plugin (a thin pnpm forwarder) with a browser UI.

This is a community plugin, not an official DeepSeek package. It manages the install state of a profile (npm packages and the dsh.profile.bundles layer list); for runtime enable/disable of loader entries see dsh-plugin-manager — the two are complementary.

Features

  • Lists every dependency of the current profile with its installed version, source (npm / Git / local / built-in), and whether it is an active bundle layer (dsh.profile.bundles).
  • Update detection per source:
    • npm — installed version vs pnpm view <name> dist-tags (runs inside the profile directory, so the configured registry and credentials apply).
    • Git (github:owner/repo, git+…, …#ref) — the installed commit (from the profile lockfile) vs git ls-remote <url> <ref>; the newest semver tag is displayed as the latest version when the repo has tags.
    • Local (link: / file:) — direction-aware check against origin: the checkout's HEAD is compared with git ls-remote origin HEAD, and when they differ a fetch + rev-list --count decides who moved — origin ahead → 可更新; local ahead (unpushed work) → no update offered; diverged → flagged for manual handling.
    • Built-in @deepseek-ai/* bundles — version shown, updated together with the dsh installation.
  • One-click install (any pnpm spec), update (<name>@latest for npm, re-fetch of the recorded spec for Git), and remove, each running pnpm add/remove in the profile directory followed by the same bundle reconciliation dsh plugin performs (a dependency resolving to a package that declares dsh.bundle.patch joins the layer list; a removed one leaves).
  • The page is split into two tabs: 商店 (the marketplace below) and 已安装 (installed packages, the manual install input, and the operation log); both stay mounted so search results survive tab switches. The page opens on 已安装, and the marketplace only queries GitHub the first time its tab is activated (unauthenticated search allows 10 requests/min).
  • 插件市场 (marketplace) — searches GitHub for repositories carrying the dsh-plugin topic (forks excluded), sortable by relevance / stars / last push, with pagination, and installs any result directly as a github:owner/repo dependency. Repos already present in the profile are badged 已安装. Results are cached ~5 min; set DSH_GITHUB_TOKEN (or GITHUB_TOKEN / GH_TOKEN) to raise GitHub's unauthenticated search quota.
  • Build-script gate — pnpm ≥ 10 refuses packages whose install scripts are not allowlisted (and fails hard when a profile carries previously ignored builds). When an install/update is blocked this way, the page offers an explicit 允许构建脚本并重试 button: it writes the exact allowBuilds entry pnpm suggests into the profile's pnpm-workspace.yaml and re-runs the install. Allowing means consenting to run that package's install scripts — do it only for repos you trust.
  • Live operation log and an explicit "restart dsh to apply" banner — profile layers are composed at boot, so changes take effect after a restart.
  • Check results are cached (~10 min) in ~/.dsh/plugin-updater.json; no background polling of registries.

Install

dsh plugin --profile web add github:hyqhyq3/dsh-plugin-updater
dsh --profile web   # restart, then open Settings → 插件包

Or from a local checkout:

dsh plugin --profile web add link:/path/to/dsh-plugin-updater

How it works

  • Host half lib/index.js — discovers the profile it is installed in (the profile whose node_modules/dsh-plugin-updater realpaths to its own package directory; override with DSH_PLUGIN_UPDATER_PROFILE), reads the install state (package.json, node_modules/*/package.json, pnpm-lock.yaml), runs update checks (pnpm view, git ls-remote), and exposes a same-origin JSON API at /plugin-updater/api/* on the GUI webserver. Mutations spawn pnpm in the profile directory and re-apply the bundle reconciliation.
  • Client half lib/client.js — a hand-written module factory registering the Settings section; polls /api/state every 3 s. The UI follows DSH’s Settings → General → Language through the updater locale namespace (zh / en); the plugin has no language setting of its own. Server-generated messages follow the same locale, while external tool output stays verbatim. API requests carry ?lang=zh or ?lang=en (absent or invalid values default to zh). Legacy cached check results are discarded once on upgrade.

HTTP API:

MethodPathPurpose
GET/plugin-updater/api/pingliveness + discovered profile
GET/plugin-updater/api/stateplugins, versions, check results, op status
GET/plugin-updater/api/searchGitHub marketplace (?q=&sort=best|stars|updated&page=&per_page=)
POST/plugin-updater/api/checkre-check updates ({name?})
POST/plugin-updater/api/installpnpm add <spec> + reconcile
POST/plugin-updater/api/updatepnpm add <name>@latest / re-add spec
POST/plugin-updater/api/removepnpm remove <name> + reconcile

Plain ESM JavaScript, zero dependencies (Node built-ins only; Node ^22.19 || >=24, pnpm on PATH, git for Git update checks). No build step — lib/*.js ships exactly as written.

Limitations

  • Changes require a dsh restart to take effect (this page shows the banner); the running process is never reloaded implicitly.
  • The manager refuses to remove itself from the page — use dsh plugin --profile <name> remove dsh-plugin-updater.
  • Update detection for Git packages pins to the spec's ref (#ref or the default branch HEAD); a moved tag is not treated as an update.
  • A link: install without a .git target is listed but not checked.
  • Marketplace search uses GitHub's public search API: without a token it is limited to 10 requests/min (results are cached ~5 min to stretch that); DSH_GITHUB_TOKEN raises the quota.
  • Only dependencies of the profile manifest are managed; runtime loader rows (enable/disable) are out of scope.

Model Experience

None. This plugin adds no model-facing surfaces: it registers no tools and injects no prompt context; it only serves the Settings page and its JSON API.

License

MIT