CloudFan-cyf/dsh-plugin-control

CloudFan-cyf★ 0JavaScript最后同步: 2026-08-18

在 GitHub 打开

DSH web GUI plugin control center: card list with name/version/description and online enable switches

README 摘要

dsh-plugin-control DSH Web GUI 插件控制中心:以卡片列表聚合展示当前 profile 已安装插件,显示名称、版本与简介,并提供在线启用/停用开关。 功能 - 设置页新增一级区块「插件控制」。 - 卡片展示每个 Loader 插件条目:名称、版本、简介、启用状态。 - 支持搜索与「仅显示已安装插件」过滤。 - 在线开关直接写入 profile 层 cordis.patch.yml ,由 DSH 现有 HMR watcher 热生效,无需手动重启。 - 设置感知开关:对通过自身设置项控制界面的插件(如 dsh-pet),停用会写它的设置开关( pet.enabled ),宠物会真正消失而不是变成不可交互的“僵尸”。 - 核心基础设施条目与本插件自身不可关闭,避免误操作。 安装 从 GitHub 仓库安装 本地开发安装 Windows 下如果仓库路径包含空格, dsh plugin 的 shell 转发可能把 link: 参数拆开。可先创建无空格 junction: 首次安装后需要重启 dsh web 才会加载新 bundle;后续开关操作依赖 HMR,不需要重启。 使用 1. 重启 dsh web 后打开 设置 → 插件控制。 2. 卡片显示插件名称、版本、简介与启用状态。 3. 点击开关即可启用/停用插件;状态写入 /.dsh/profiles/web/cordis.patch.yml (设置感知插件同时写入对应 settings.yaml 分节,如 pet.enabled )。 工作原理 - 列表来自 ctx.loader.entries() 。 - 版本与简介读取 /node modules/ /package.json 与 $DSH HOME/profiles/node modules/ /package.json 。 - 切换写 profile 层 patch,并由现有 watchUserPatches 热重载。 - 对「设置感知」插件(见 src/settings-switches.js ),开关改为写插件的 settings namespace 字段(如 pet.enabled ),并保持 Loader 挂载以保证设置能生效。 安全 - API 仅允许 loopback + 同源请求,路径前缀 /api/dsh-plugin-control 。 - 首次改写 patch 文件前会备份为 cordis.patch.yml.dsh-plugin-control.bak 。 已知限制 - 只管理 profile 层 cordis.patch.yml ;若 home 层 /.dsh/cordis.patch.yml 存在同名补丁,需要用户自行处理。 - 改写 patch 文件时可能规范化 YAML 注释(语义保留,注释可能丢失…

在 GitHub 查看完整 README →
皮肤/UIdeepseek-harnessdshdsh-pluginplugin-managersettingsweb-ui

分类