LX2000WASD/dsh-web-plugin-manager ↗★ 1
dsh-web-plugin-manager
Manage DeepSeek Harness (DSH) plugins from the Web UI: list, enable/disable, install/remove, environments, and a GitHub-awesome-driven marketplace.
安装
$
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:LX2000WASD/dsh-web-plugin-manager说明文档
阅读完整 README ↗dsh-web-plugin-manager
在 Web UI 中一键管理 DeepSeek Harness (DSH) 插件:查看、实时启停、安装/卸载、环境管理、插件市场。bundle 与非 bundle 插件全覆盖。
安装
# 方式一(推荐):从 npm 安装
dsh plugin --profile add dsh-web-plugin-manager
# 方式二:从源码构建
cd /path/to/dsh-web-plugin-manager
pnpm install && pnpm run build
dsh plugin --profile add .
重启 profile 后,Web UI 的 设置 会出现 插件管理 标签页与 市场 一级菜单。
功能
| 能力 | 说明 |
|---|---|
| 查看 | 四源合并:include 树稳定行(EntryOptions.id)+ dsh.profile.bundles 层栈 + package.json 依赖 + cordis.patch.yml insert 行 |
| 实时启停 | 受控编辑 profile 的 cordis.patch.yml(managed-block 机制,保留用户内容,可逆可审阅);配置 HMR 即时生效,零重启,重启后持久 |
| 安装 | 调用官方 dsh plugin CLI(复用 pnpm reconcile),保护 in-box bundles(base/web-app/headless);非 bundle 插件自动写 insert 行并实时挂载;git 源自动 clone 缓存,已发布 npm 的包优先走 npm 安装 |
| 卸载 | bundle 走官方 remove;非 bundle(managed insert 行)实时卸载 |
| 质量门 | 安装后扫描入口 import vs 声明依赖(LOADER_PROVIDED 白名单放行平台包),未声明运行时依赖自动回滚,避免实例启动失败 |
| 环境管理 | 设置 → 插件 → 环境:启动/停止(终端或后台)、复制/转移插件、创建/重命名/删除 profile |
| 市场 | 设置一级菜单「市场」:数据源为 awesome-dsh-plugins 的 PLUGINS.md(✅/待测 状态列)+ GitHub repo API 补星数/更新时间,24h 缓存;选择安装目标环境后一键安装 |
| agent 工具 | plugin_status / plugin_install / plugin_uninstall / plugin_toggle(目标 profile 由配置 profile 指定,默认 web) |
架构
- Host:
src/index.ts——PluginManagerService(ctx.pluginManager)+/api2/plugin-manager/*REST 路由(webServer.register) - Patch 编辑:
src/patch.ts—— 标记块()追加/移除,行级操作,原子写入(tmp + rename);处理 YAML 陷阱( 包名引号、空数组文档 、纯注释文件恢复模板)