dsh-local-plugin-switch
开发工具 活跃维护

dsh-local-plugin-switch

jcleener/dsh-local-plugin-switch

在设置页提供本地插件开关管理区块,自动罗列所有已安装本地插件,支持实时切换启用/禁用状态,变更结果自动持久化保存,无需重启即可生效。

0
Stars 标星
0
Forks 分支
0
Watchers 关注
0
Open Issues
JavaScript
主要语言
MIT
开源协议
11 KB
仓库大小
1 个月前
最后推送
一键安装扩展 / 插件指令
dsh plugin --profile web add github:jcleener/dsh-local-plugin-switch
git clone https://github.com/jcleener/dsh-local-plugin-switch.git
git clone git@github.com:jcleener/dsh-local-plugin-switch.git
README.md main

dsh-local-plugin-switch

DSH(DeepSeek Harness)插件:在设置页新增「本地插件开关」区块,列出所有本地已安装插件,每个带开/关。
开关 = 实时启停 loader fiber + 把 disabled: true/false 写入 profile 的 cordis.patch.yml,重启后仍生效。

功能

  • 列出所有本地插件:非 group 的 loader 条目,显示名称 / id / 状态(active / failed / loading)
  • 实时开关:调用 entry.update({ disabled: true | null }, false, true) 立即停止 / 启动对应 loader 条目(fiber)
  • 持久化:把 - id: <row> + disabled: true|false 写入 profile 的 cordis.patch.yml,重启后依旧生效(Cordis HMR 开启时保存后约 1s 生效)
  • 宿主保护:webServer / storage / connection 等基础设施行显示「宿主」且不可开关 —— 停掉它们会破坏本页面依赖的链路
  • 与 DSH 自带设置页同款观感(复用 --dsw-alias-* 主题 token)

安装

dsh plugin --profile web add "github:jcleener/dsh-local-plugin-switch"
# 或固定版本
dsh plugin --profile web add "github:jcleener/dsh-local-plugin-switch#v0.1.0"

安装后重启 dsh web,设置页出现《本地插件开关》区块。

使用

打开设置页 → 《本地插件开关》,点任意插件的开关即可。宿主基础设施行显示「宿主」徽标且不可操作。

工作原理

Host 半段提供两个 HTTP 路由:

  • GET /dsh-local-plugin-switch/list — 所有非 group loader 条目
  • POST /dsh-local-plugin-switch/toggle{ name, enabled }

Client 半段(设置页区块)调用以上路由渲染开关列表。

开发 / 结构

lib/index.js      Host 半段(路由 + 实时/持久开关逻辑)
lib/client.js     Client 半段(设置页「本地插件开关」区块 UI)
cordis.patch.yml  加载器补丁层(insert 声明)

许可证

MIT © 2025 jcleener