LX2000WASD/dsh-web-plugin-manager
dsh-web-plugin-manager
dsh-web-plugin-manager is a community DeepSeek Harness plugin. Read the repository README before installing.
Install
npx @deepseek-ai/dsh plugin --profile <name> add dsh-web-plugin-manager@latestRestart `dsh web` after install. Bundle APIs can change during the developer preview.
README badge
[](https://dshhub.dev/plugins/dsh-web-plugin-manager)Paste this into your README. The star count updates with every catalog sync.
From the README
Excerpt from LX2000WASD/dsh-web-plugin-manager, cleaned of badges and images.
dsh-web-plugin-manager
⚠️ 本仓库已停止维护(对应 DSH <= 0.1.5-rc.2)
DSH 0.1.6-alpha.2 起请改用 dsh-plugin-manager-companion。
原因:官方 0.1.6-alpha.2 自带完整插件管理页(
@deepseek-ai/dsh-client-ui-plugin-manager+@deepseek-ai/dsh-plugin-manager宿主服务),本仓库原先"遮蔽官方只读页 + 自建 profile 写权"的 路线不再成立。而且官方在dsh-basebundle 里新增了id: plugin-manager行,与本仓库cordis.patch.yml的行 id 撞车,在 0.1.6-alpha.2 上会让 profile 完全无法启动 (TypeError: duplicate loader entry id: plugin-manager),服务名也与官方同名冲突。新仓库改为伴生补强路线:当前环境的写操作全部交还官方通道,只补官方明说不做的部分 (多环境管理、agent 预设组合、普通插件模块的文件操作、版本/更新、安装前质量门、深度诊断)。
本仓库的 0.6.x 仍可用于 DSH <= 0.1.5-rc.2;在 0.1.6-alpha.2 及以上请勿安装。
在 Web UI 中一键管理 DeepSeek Harness (DSH) 插件:查看、实时启停、安装/卸载、更新检测、健康检查(依赖/冲突/兼容性分析)、环境管理、插件市场。bundle 与非 bundle 插件全覆盖。
强烈建议先装管理器、再装其他插件:本管理器自带质量门与健康检查(安装时全链依赖扫描 + bundle patch 行校验 + 安装即回滚;安装后可做依赖图/冲突/循环/peer 兼容性分析)。先装管理器,后续每个插件的安装都会经过检测,能显著减少"装上就炸、重启起不来"的情况。
若已存在未经验证的插件导致 profile 无法启动:先用
dsh --profile <name> --patch <empty.yml>等方式排查,或手动清理对应依赖/cordis.patch.yml行后,再安装管理器接管。
安装
# 方式一(推荐):从 npm 安装(务必带 @latest)
dsh plugin --profile <name> add dsh-web-plugin-manager@latest
# 方式二:从源码构建
cd /path/to/dsh-web-plugin-manager
pnpm install && pnpm run build
dsh plugin --profile <name> add .
重启 profile 后,Web UI 的"设置"会出现"插件管理"标签页、"技能与预设"与"市场"一级菜单。
更新
# 命令方式(推荐):升级到最新版(重写 specifier,质量门 + 失败自动回滚到旧版本)
dshpm update dsh-web-plugin-manager --profile NAME
# 等价命令(pnpm 语义)
dsh plugin --profile NAME add dsh-web-plugin-manager@latest
UI 自更新:打开"设置 → 插件管理","检查更新"会列出全部已装插件(含管理器自身),有新版时点对应卡片上的"更新"即可——管理器可以一键更新自己,失败自动装回上一版本;更新后需重启 profile 生效。
注意:
- add 不带版本号不会升级:profile 里已声明旧版本(如
^0.1.2)时,dsh plugin add(即pnpm add)保留原 specifier 不升;dsh plugin update(即pnpm update)也只在已声明的范围内重解析。跨版本升级必须用add ...@latest或dshpm update。 - @latest 解析到旧版时:先查
pnpm config get registry是否为镜像源(npmmirror 等 dist-tag 同步滞后 + pnpm 元数据缓存),用pnpm add dsh-web-plugin-manager@latest --registry=https://registry.npmjs.org强制走官方源;显式指定版本号(如@0.3.8)永远可靠。 - pnpm 11 用户:pnpm 11 默认
minimumReleaseAge: 1440(24 小时)——发布不足 24 小时的版本会被扣住,导致"当天发版当天点更新装不上"或解析到旧版。在 profile 的pnpm-workspace.yaml中加minimumReleaseAge: 0(或minimumReleaseAgeExclude白名单)即可;dsh 不会覆盖该文件,改动会保留。
CLI(dshpm)
用户让 AI 安装插件时,AI 默认会跑裸 dsh plugin add / pnpm add——这绕过了全部防护。本包提供 dshpm bin(随插件安装进入 profile 的 node_modules,也可 node <profile>/node_modules/dsh-web-plugin-manager/dist/cli.js 直接调用),所有变更走与 Web UI 完全相同的受保护链路(质量门 + 自动回滚 + 分析 + insert 行维护):
dshpm install <source> [--env KEY=value ...] --profile <name> # npm 名 / github:user/repo / git URL / tarball / 本地路径
dshpm remove <name> --profile <name> # insert 行 + 包依赖一并清理
dshpm update <name> --profile <name> # 升级到 @latest(重写 specifier,质量门+回滚)
dshpm mount <name> --profile <name> # 补挂载官方 CLI 手动安装的未挂载依赖
dshpm uninstall-kind <owner/repo> [--profile <name>] # 卸载市场安装的 skill/预设/cordis 插件
dshpm list --profile <name> # bundle 层栈 / 已装包 / insert 行
dshpm analyze --profile <name> # 健康检查,有问题退出码 1
git 源插件需要安装期环境变量时,CLI 会打印缺失变量清单并给出 --env KEY=value 续装命令(非交互式)。
功能
…

