WSGsety/dsh-plugin-manager ↗★ 1
@wsgsety/dsh-plugin-manager
DSH web plugin manager — enable/disable installed plugins from Settings. · DSH 网页插件管理:设置页直接启停已安装插件。
安装
$
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:WSGsety/dsh-plugin-manager说明文档
阅读完整 README ↗dsh-plugin-manager
DSH 网页插件管理:在 Web 设置页直接启用/停用已安装插件。npm 包名 @wsgsety/dsh-plugin-manager,运行时条目 id dsh-plugin-manager。
- 设置 → 插件 → 插件管理:搜索、按官方/第三方筛选,每个插件一行开关。切换立即生效(Cordis loader 热更新)并写入用户 patch 层(
~/.dsh/profiles/ /cordis.patch.yml),重启后保持。 - 插件卡片带运行状态点(运行中/已停用/挂载失败…)、「官方」徽标(
@deepseek-ai/*)与「受保护」标记。 - 完全自研,不依赖 dshmarket。
安装
# npm registry(推荐)
dsh plugin --profile web add @wsgsety/dsh-plugin-manager
# 或从 GitHub 安装(跟随默认分支最新版)
dsh plugin --profile web add github:WSGsety/dsh-plugin-manager
# 重启 dsh web(命令行或 DeepSeek Harness 桌面应用)后生效
- 运行时 loader 条目 id 带组前缀(
include:ssh),patch 层写入时自动去掉前缀(ssh),与 bundle 层 id 对齐。 - 桌面应用(deepseek-harness-desktop)用 app 内置 dsh 启动 web profile、随机端口,profile 仍是
~/.dsh/profiles/web;改动后重启应用即可。
Host 路由
| 路由 | 方法 | 说明 |
|---|---|---|
/dsh-plugin-manager/entries | GET | loader 条目投影 + patch 停用列表 |
/dsh-plugin-manager/set-enabled | POST | 实时启停 + 写 patch 持久化(可信请求栅栏) |
/dsh-plugin-manager/ping | GET | 健康检查 |
安全
- 所有路由走官方
dsh-client-connection同款可信请求栅栏:Host必须是回环权威(localhost/127.0.0.0/8/[::1],DNS 重绑定无法伪造)、Sec-Fetch-Site: cross-site拒绝、携带的Origin必须与Host完全一致。写接口(/set-enabled)额外要求 TCP 对端可见时为回环地址,把配置平面限制在回环(与官方 WebServer 配置平面语义一致)。 - 写请求体积受限(16 KiB)JSON body,entry id 经白名单校验,杜绝 YAML 注入。
- 保护列表(
lib/entries.js)禁止停用 web 外壳、插件自身与承载页面的核心条目:webserver、web-runtime、modules、connection、client-runtime、locale、ui-layout、ui-sidebar、ui-settings、ui-settings-plugins(本插件页面所在 slot 的所有者,防止 UI 自锁)、settings、typert*、api-remotes、dsh-plugin-manager。