DSH Plugin MarketA community catalog for DeepSeek Harness plugins

dsh-web-plugin-manager

Verified Interface & experience ★ 65 0.6.3

Manage DeepSeek Harness (DSH) plugins from the Web UI: list, enable/disable, install/remove, environments, and a GitHub-awesome-driven marketplace.

What it is

Manage DeepSeek Harness (DSH) plugins from the Web UI: list, enable/disable, install/remove, environments, and a GitHub-awesome-driven marketplace.

How to install

Run this in the DSH web profile, then refresh the page.

$ dsh plugin --profile web add dsh-web-plugin-manager@0.6.3

DSH versions accepted

^0.1.5-rc.2

Author and traction

LX2000WASD · ★ 65 · Updated 2026-09-20

About this plugin

dsh-web-plugin-manager ## ⚠️ 本仓库已停止维护(对应 DSH 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-base bundle 里新增了 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 强烈建议先装管理器、再装其他插件:本管理器自带质量门与健康检查(安装时全链依赖扫描 + bundle patch 行校验 + 安装即回滚;安装后可做依赖图/冲突/循环/peer 兼容性分析)。先装管理器,后续每个插件的安装都会经过检测,能显著减少"装上就炸、重启起不来"的情况。 若已存在未经验证的插件导致 profile 无法启动:先用 dsh --profile --patch 等方式排查,或手动清理对应依赖/cordis.patch.yml 行后,再安装管理器接管。 安装

重启 profile 后,Web UI 的"设置"会出现"插件管理"标签页、"技能与预设"与"市场"一级菜单。 更新

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 /node_modules/dsh-web-plugin-manager/dist/cli.js 直接调用),所有变更走与 Web UI 完全相同的受保护链路(质量门 + 自动回滚 + 分析 + insert 行维护):

git 源插件需要安装期环境变量时,CLI 会打印缺失变量清单并给出 --env KEY=value 续装命令(非交互式)。 功能 功能与限制的详细说明见 docs/feature-reference.md(随仓库与 npm 包发布)。 架构 Host:src/index.ts —— PluginManagerService(ctx.pluginManager)+ /api2/plugin-manager/* REST 路由(带信任围栏:POST+JSON 强制、Host 回环/白名单校验、Origin 同源——防 CSRF/DNS-rebinding);安装链路 installWithSource→installProtected(质量门+回滚)整体串行互斥;七条长操作(install/update/remove/backupRestore/uninstallKind/copyPlugins/checkUpdates)REST job 化——POST 即返 jobId、客户端经 job op 轮询取结果(HTTP 超时不再与服务端状态脱节,短任务用 250ms 起步的轮询),在途 job 数上限背压堆叠点击 基础层:src/paths.ts —— profile 路径/manifest/patch 读取、全局变更互斥队列、宿主 profile 识别(argv → 安装位置兜底);src/childproc.ts —— 命令解析(运行中 node 目录 → PATH → $NVM_DIR 兜底)、PATH 注入子进程环境、官方 dsh plugin 运行器、异步 exec 工具(请求路径上零 execFileSync) 保护链路:src/installFlow.ts —— 安装/更新/删除保护流(源准备:git clone 缓存 + npm-first 探测;质量门 + 自动回滚;更新检查 npm dist-tag / git HEAD / lockfile commit;managed 行清理),全部经全局互斥串行 市场管道:src/marketplaceMerge.ts —— catalog/PLUGINS.md 抓取、registry 索引合并、星数富化、服务端已安装标记、dsh.so 徽标叠加、屏蔽名单过滤与同名包消解(index.ts 只保留缓存闭包与 REST 接线) profile 生命周期:src/profiles.ts —— 运行实例进程表扫描(3s TTL 缓存)、终端窗口启动、端口探测、新 profile 模板、in-box bundle 保护恢复 实时应用:src/live.ts —— 补丁变更先经 loader include 条目直接应用(entry.update,与平台 watchUser

Similar plugins