Skip to content
dsh.fish
Bundle

@dsh-external/dsh-plugin-control

Persistent enable and disable controls for the DSH Web plugin settings page

Source
chenluyao680
License
MIT
Updated
Updated 3 days ago

Readme

# dsh-plugin-control

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

在 DeepSeek Harness Web 的“设置 → 插件 → 启用管理”中,用开关启用或禁用第三方插件。

## 功能

- 即时启用或禁用当前 Loader 中的第三方插件。
- 把状态持久化到当前 Web Profile 的 `cordis.patch.yml`,重启后继续生效。
- 切换失败时自动还原配置文件,避免运行状态与持久化状态不一致。
- 保护 `@deepseek-ai/*` 核心插件与控制插件自身,避免 Web 界面或控制入口失联。
- 支持中文和英文界面;客户端模块变化后会提示刷新页面。
- 写操作仅接受来自本机回环地址的请求。

## 安装

推荐直接从 GitHub 安装到 DSH 的 `web` Profile:

```powershell
npx @deepseek-ai/dsh plugin --profile web add github:chenluyao680/dsh-plugin-control
```

Windows PowerShell 的执行策略为 `Restricted` 时,请使用:

```powershell
npx.cmd @deepseek-ai/dsh plugin --profile web add github:chenluyao680/dsh-plugin-control
```

如果 DSH Web 正在运行,请重启服务并刷新页面:

```powershell
npx @deepseek-ai/dsh web
```

然后进入“设置 → 插件 → 启用管理”。

### 安装固定版本

需要锁定到 `v0.1.1` 时,可以安装 Release 里的归档包:

```powershell
npx @deepseek-ai/dsh plugin --profile web add https://github.com/chenluyao680/dsh-plugin-control/releases/download/v0.1.1/dsh-plugin-control-0.1.1.tgz
```

## 使用说明

- 绿色开关表示插件已启用,灰色开关表示插件已禁用。
- 切换会立即作用于宿主进程;涉及浏览器模块时,按提示刷新页面即可完整生效。
- DSH 核心插件只显示为受保护状态,不能从此页面关闭。
- 控制插件不能关闭自身。如需卸载,请使用 DSH 插件命令。

## 卸载

```powershell
npx @deepseek-ai/dsh plugin --profile web remove @dsh-external/dsh-plugin-control
```

卸载不会自动删除此前写入 `cordis.patch.yml` 的第三方插件启停状态。

## 开发与验证

```powershell
npm install
npm test
npm pack
```

当前版本已在 DSH `0.1.0-rc.6` 上完成宿主 RPC、浏览器交互、真实启停和跨重启验证。

## 安全设计

- 宿主写接口使用 DSH Connection RPC,并限制为本机回环访问。
- 只允许切换非核心、非控制器条目。
- 配置文件采用临时文件替换;运行时切换失败时会恢复原配置。
- 所有写操作串行执行,避免并发请求覆盖彼此的状态。

## 许可证

[MIT](./LICENSE)

Install

dsh plugin --profile web add github:chenluyao680/dsh-plugin-control#9d21edb93db84c6f0673f5f7943009be277535e8

Profile: web

Source