前言¶
DeepSeek Harness (DSH) 的设计理念是「一切皆插件」。在 DSH Web 界面中管理非官方(第三方)插件,通常需要手动编辑配置文件或重启进程。dsh-plugin-toggle 是由 huntersxy 开发的客户端插件,它将第三方插件的管理能力下沉到 Web 设置页,通过界面操作即可启用或禁用插件。
功能¶
该插件主要提供以下能力:
- 列出非官方插件:列出每个 profile 中非官方的 bundle(不包含
@deepseek-ai/*前缀的 bundle 栈)以及用户补丁插入的行。列表会显示版本、描述和当前状态。 - 热重载生效:启用或禁用插件时,插件会直接改写 profile 下的
cordis.patch.yml文件(添加或移除disabled: true标记)。DSH 会监视该文件变化并自动热重载,无需重启进程。 - 刷新页面按钮:在「第三方插件」页签底部提供「刷新页面」按钮,用于应用修改后的界面状态。
安装¶
安装该插件需要使用 DSH 的命令行工具。在终端中执行以下命令:
dsh plugin --profile web add dsh-plugin-toggle
或者,如果你本地已有该插件的压缩包,也可以直接安装:
dsh plugin --profile web add ./dsh-plugin-toggle-0.1.0.tgz
安装完成后,需要重启 dsh web 进程以加载插件。
使用方法¶
安装并重启后,打开 DSH Web 设置页面,导航至「设置」→「插件」,切换到「第三方插件」页签即可看到已列出的非官方插件列表。在这里你可以进行启用或禁用操作。
工作原理与限制¶
- 实现方式:插件通过 Host 端注册自定义路由
POST /plugin-toggle/api/<method>(支持list和set-enabled)来读写配置。由于 DSH 的api-proxy对第三方 settings 命名空间有写死的白名单限制,本插件采用自定义路由通道而非内置的 settings RPC。 - 列表来源:列表基于对 profile 补丁文件的静态解析。它只管理 bundle 栈中非
@deepseek-ai/*的 bundle 行与用户补丁插入的行,且运行时前缀会自动归一化。 - 安装/卸载限制:列表仅支持开关操作。若要安装新插件或卸载现有插件(修改 bundle 栈),必须重启进程才能生效(页面上的刷新按钮仅刷新客户端界面)。
- 热禁用警告:若插件的 bundle 补丁包含配置行或表达式行(非纯 insert),热禁用可能不完整。插件列表会显示警告提示,并在禁用时提醒用户重启进程后完全生效。