前言¶
DeepSeek Harness(DSH)采用「一切皆插件」的扩展方式,原生 Plugin Manager 负责安装、启用、卸载与 bundle 生命周期。若插件只散落在 npm、GitHub 或自建 JSON 目录里,逐个打开页面查版本、对照当前 Harness 是否兼容,再手动拼安装 spec,步骤多且容易漏更新。
Registry Aggregator(@stolyarovmn/dsh-ui-registry-aggregator)在原生 Plugin Manager 之上增加联邦式发现与更新发现:把多个来源合成可搜索索引,安装仍走 DSH 原生 remote.pluginManager 路径。维护者为 Stolyarovmn,当前稳定版为 0.5.2,面向 DSH 0.2.x 实现线,不包含 DSH 0.1.x 兼容代码。
这是什么¶
一句话:为 DeepSeek Harness 0.2.x 提供的联邦插件注册表聚合 UI,与原生 Plugin Manager 集成,用于发现插件、展示兼容性与更新,并 orchestrate 更新流程。
声明的 DSH 兼容范围:>=0.2.0-rc.2 <0.3.0;README 中的验证基线为 DSH v0.2.0-rc.2。社区目录页:SkillHub - dsh-ui-registry-aggregator;源码与说明:GitHub - Stolyarovmn/dsh-ui-registry-aggregator。
核心功能¶
原生 Plugin Manager 仍负责安装、启用/禁用、卸载与 bundle 生命周期;本插件补充发现、兼容性证据、元数据与更新编排。
主 Plugins 页导航¶
在 DSH 0.2.0-rc.2 上,Registry Aggregator 扩展主 Plugins 列表,提供 Installed | Sources | Browse | Updates 导航(沿用原生 Installed 标题/计数视觉):
- Installed:保留原生已安装卡片;若存在符合条件的新版本,卡片上显示
Update → vX.Y.Z。 - Sources / Browse / Updates:直接出现在主 Plugins 页;Updates 旁显示数字更新计数;支持顺序执行 Update all(Registry Aggregator 自身最后更新,避免中断队列)。
- 打开 bundle/详情页时,主列表上的扩展界面会自动收起;Installed → Registry Aggregator 内仍可通过
plugins.bundle.config详情视图作为后备入口。
README 说明:stock
0.2.0-rc.2未暴露列表级 Plugin Manager slot,主页面集成是为 rc.2 准备的兼容桥;待 DSH 提供正式 slot API 后应迁移。
Sources(来源)¶
- 内置 npm、GitHub 来源;支持自定义 JSON 与企业 catalog。
- 启用/禁用、添加、删除、刷新、复制地址;展示包/仓库数量、健康与错误状态。
- 通过
ctx.configForms.get('registry-aggregator')做 live 配置;经 DSH Connection 服务做认证 Host RPC。 - Host 侧对响应大小、超时、重定向校验、DNS pinning、私网访问等有边界控制。
Browse(浏览与搜索)¶
- 在已启用的 npm、GitHub、自定义 JSON、企业来源上做联邦搜索;空查询时可看 popular/default 结果。
- 来源、release、新鲜度、tag、兼容性、分页大小等紧凑筛选;可按相关性、stars、下载量、新鲜度、名称组合排序;支持 20 / 50 / 100 分页。
- 对实际运行中的 DSH 版本标注
Compatible/Incompatible/Not verified;已知不兼容包在安装前会被禁用。 - 安装路径:原生
remote.pluginManager.inspect()→installBundle(),图标一键安装。
Updates(更新)¶
- 从原生已安装 bundle 与最新 npm manifest 发现更新;单包更新走原生 Plugin Manager。
- Update all 顺序执行;明确不兼容的更新目标保持禁用。
架构概览¶
Host 通过 Connection RPC 暴露 /api/plugin-sources/ 下的 health、counts、browse、icons、metadata、download-stats 等;适配 npm、GitHub、custom-json、corporate。客户端配置变更经 registry-aggregator 表单写入 Host Config.sources。
DSH Plugins
├─ Installed | Sources | Browse | Updates
└─ Installed → Registry Aggregator → plugins.bundle.config(Sources / Browse / Updates)
Plugin lifecycle → native remote.pluginManager(inspect / installBundle / listBundles)
安装与启用¶
官方 README 给出的 npm 安装示例(PowerShell,需与目标 DSH 版本、profile、DSH_HOME 一致):
$DSH_VERSION = "0.2.0-rc.2"
$PROFILE = "dsh-020-test"
$env:DSH_HOME = "$env:USERPROFILE\.dsh-020-test"
pnpm dlx "@deepseek-ai/dsh@$DSH_VERSION" plugin --profile $PROFILE add "@stolyarovmn/dsh-ui-registry-aggregator@0.5.2"
pnpm dlx "@deepseek-ai/dsh@$DSH_VERSION" --profile $PROFILE
未发布开发构建可从 GitHub 指定 commit SHA 安装(README 中的 Test from GitHub 段落);将 <commit-sha> 替换为实际提交。
典型用法¶
- 安装并启动 DSH 后,打开 Plugins,在 Sources 中确认 npm/GitHub 或添加 JSON、企业 catalog,按需刷新与健康检查。
- 进入 Browse,输入关键词或留空浏览默认结果,用兼容性筛选缩小范围,对目标包执行 inspect → 安装。
- 在 Installed 或 Updates 查看待更新数量,单包
Update → vX.Y.Z或使用 Update all(启动后顺序执行,README 注明尚未实现取消)。
配置入口:Settings 中与 registry-aggregator 关联的表单(README 架构图:ctx.configForms.get('registry-aggregator'))。
适用场景与注意¶
适合谁:已在 DSH 0.2.0-rc.2 及以上(且 <0.3.0)环境使用原生 Plugin Manager,需要从多个 registry 统一发现、对照当前 Harness 版本看兼容性、并集中处理 npm 侧更新的开发者。
版本线:历史分支 dsh-0.1.7(稳定 v0.4.17 等)对应旧版 DSH;当前 main 为 DSH 0.2.x 实现线。选用插件版本须与本地 DSH 大版本一致。
已知限制(README Known limitations):
- 原生 Add plugin 对话框中的 build-script 审批仍由原生流程处理。
- Update all 启动后顺序跑完,暂无取消。
- 自动更新发现尚未覆盖「仅 GitHub、无 npm 包身份」的已安装依赖。
- 主 Plugins 列表表面向
0.2.0-rc.2的兼容桥,随 DSH slot API 演进可能调整。
安全与权限:插件以当前 DSH 进程权限运行,Sources/Browse 会发起联网 RPC。安装前请阅读仓库源码与 MIT 许可证,确认来源 URL 与组织策略允许访问 npm、GitHub 或自建 catalog。
SkillHub 等社区目录为独立站点,与 DeepSeek / 幻方无官方从属关系;本文安装命令与版本号均来自项目 README,不以目录页为准若二者冲突。
结尾¶
Registry Aggregator 不改变 DSH 原生安装链路,而是把 npm、GitHub、JSON 与企业目录聚合成可搜索、带兼容性证据的索引,并在 Plugins 页集中呈现来源管理与更新队列。若你正在 DSH 0.2.x 上维护插件环境,可按 README 安装 0.5.2 后从 Sources → Browse → Updates 走通一遍流程。
- 目录页:https://www.skillhub.cn/plugins/Stolyarovmn/dsh-ui-registry-aggregator
- GitHub:https://github.com/Stolyarovmn/dsh-ui-registry-aggregator