# dsh-plugin-hotplug

[English](./README.md) | 简体中文

DeepSeek Harness（DSH）的插件热插拔管理器和插件列表替代界面。

它会在设置页接管官方只读插件列表，提供按来源分组的插件清单和安全的运行时控制。

## 功能

- 按当前 profile、第三方 Profile Bundle、home 全局层和 DSH 内置来源分组；
- 立即启用或停用当前 profile 插件与第三方 Bundle；
- 将开关状态持久化到当前 profile 的 `cordis.patch.yml`；
- 使用 Cordis Loader 生命周期完成可回退的热卸载与恢复；
- 分别展示配置状态和运行时 fiber 状态；
- 保护 Web 传输、界面骨架、全局插件和插件自身，避免误操作拆掉管理页面；
- 界面提供英文和中文文案。

## 安装

```bash
dsh plugin --profile web add -w dsh-plugin-hotplug
dsh --profile web
```

这是一个双面 DSH Profile Bundle。包内 patch 会挂载 host/client 两半并停用官方只读 inventory tab。安装或更新宿主端代码后需要重启 profile。

该插件面向 Web profile，因为客户端部分会替换设置页中的插件列表标签页。

## 来源分组与控制范围

- 当前 profile patch 插入的插件可以切换；
- 第三方 Profile Bundle 可以切换；
- home 级全局插件只读，因为 profile patch 层早于 home 层应用；
- DSH 内置插件只读；
- 核心 Web 传输、UI 条目和插件自身始终受到保护。

运行时切换通过 `ctx.loader.update(...)` 执行，让 Cordis 按正常生命周期卸载或恢复插件副作用。持久化只写入一个小型托管区段，不会重写整份用户 patch。

## 卸载

```bash
dsh plugin --profile web remove dsh-plugin-hotplug
```

卸载后请重启 profile，使 Web Bundle 恢复官方插件列表标签页。

## 许可证

MIT
