插件目录 / Developer / dsh-plugin-ctl
dsh-plugin-ctl
已验证 · 实测可装 LinscStef
功能简介
DSH Web Settings plugin control: start/stop Cordis loader plugins (Qidong Kongzhi tab)
可用 — 实测通过,早期项目
DSH Web Settings plugin control: start/stop Cordis loader plugins (Qidong Kongzhi tab) 实测能干净安装、正常启动。早期项目,但功能可用。
「已验证」表示我们的自动化 CI 在干净 profile 里实际执行了 dsh plugin add 并启动成功——仅此而已。功能描述与版本兼容性均为作者声明。这不是安全审计,也不代表对第三方代码的背书。
README
dsh-plugin-ctl — DSH 插件启停控制
在 DeepSeek Harness Web 的「设置 → 插件」中新增一个 启停控制 标签页,让你可以直接点击启动 / 停止任意 Cordis Loader 插件(原生的「插件列表」标签页是只读的,只能查看)。
功能
- 新增「启停控制」标签页(排在只读「插件列表」之后),列出所有非 group 的 Loader 条目
- 每行显示:模块名、条目 ID、配置状态(已启用 / 已停用)、Cordis 状态(未挂载 / 等待依赖 / 加载中 / 已挂载 / 挂载失败 / 卸载中)
- 「启动」一键启用并挂载;「停止」需二次点击确认,防止误停核心插件
- 启停结果持久化到 Loader 配置,重启 DSH 后依然保持
- 支持搜索、中英文界面跟随系统语言、操作错误内联提示
在其他 DSH 安装
前提:目标机器已安装 DSH(dsh 命令可用)与 pnpm。
dsh plugin --profile web add git+https://github.com/LinscStef/dsh-plugin-ctl.git
--profile web换成你的实际 profile 名(dsh plugin --profile <name> add ...)dsh plugin会自动把带dsh.bundle声明的包并入 profile 的 bundles 层- 安装完成后重启 DSH,打开 设置 → 插件,即可看到「启停控制」标签页
如果 pnpm 提示 git 依赖需要允许 build scripts(
allowBuilds):本包没有 prepare/build 脚本,忽略即可。
卸载
dsh plugin --profile web remove dsh-plugin-ctl
架构
| 文件 | 作用 |
|---|---|
lib/index.js |
Host 半侧:注册 POST /plugin-ctl/api,直接读写 ctx.loader(枚举 + tree.update(id, { disabled }) 启停并持久化) |
lib/client.js |
浏览器半侧:在 settings.plugins.tab 注册 control 标签页,通过 fetch 调用 Host 路由 |
cordis.patch.yml |
bundle patch 层:声明 plugin-ctl 条目(inject: [loader, webServer]) |
安全提示
列表包含核心系统插件(如 dsh-web-app、dsh-base)。停用它们会当场卸载对应功能,因此「停止」统一有二次确认;/plugin-ctl/api 与其他本地插件一样使用未鉴权路由,仅面向本机 Web 界面。
License
MIT
安装
装一次目录插件,之后本站所有插件都能让 DeepSeek Harness 自动找、自动装:
dsh plugin add dshbase-catalog 然后对 agent 说「帮我装 dsh-plugin-ctl」,它会在目录里找到并自动安装。文档:dshbase-catalog · 已验证场景包。
该插件是 GitHub 源码(未发 npm)——直接从仓库装:
Web profile:
dsh plugin --profile web add github:LinscStef/dsh-plugin-ctl Headless(CLI)profile:
dsh plugin --profile headless add github:LinscStef/dsh-plugin-ctl 实测报告
验证通过:从 GitHub 源码完成 L1 安装 + L2 加载 + L3 运行(dsh 0.1.0-rc.6)。