前言¶
DeepSeek Harness (DSH) 允许开发者配置多个 Provider 和模型。当配置的模型数量较多时,对话界面的模型选择菜单会变得冗长,影响选择效率。本插件通过管理模型可见性,控制哪些模型出现在选择器中。
插件介绍¶
dsh-model-visibility 是一个 DeepSeek Harness 插件,由开发者 Lzh3070 维护。其核心价值在于在保持原有 Provider 配置不变的前提下,提供细粒度的模型显示控制。
核心功能¶
- 实时过滤:支持按模型名、模型 ID 或渠道名进行实时搜索过滤。
- 逐模型开关:可以为单个模型设置可见或隐藏状态,开关立即生效。
- 渠道级批量:支持按 Provider(渠道)批量隐藏或显示其下的全部模型。
- 一键恢复:提供清空隐藏列表的功能,快速恢复所有模型显示。
- 零侵入:插件不写入 Provider 配置文件,只维护自身的隐藏列表。
- 会话兼容:隐藏正在使用的模型不会中断当前会话的调度。
安装与启用¶
使用官方安装命令添加插件,并在重启服务后生效。
dsh plugin --profile web add dsh-model-visibility
安装完成后,重启 dsh web 进程。
工作原理¶
插件利用 DSH 的配置系统实现功能。
- 宿主端:通过
.volatile()声明hidden字段,在设置表单写入时原地更新,并包装ctx.llm.listModels方法。目录成员资格是“建议性”的,因此隐藏操作不会影响正在运行的会话。 - 浏览器端:向设置页面注册独立的“模型可见性”分区页。利用
ctx.configForms共享表单读写,通过ctx.remote.session.modelCatalog()读取目录,并跟随llm/adapters-updated事件刷新页面状态。
卸载与恢复¶
卸载插件会自动清除隐藏设置,恢复原始状态。
dsh plugin --profile web remove dsh-model-visibility
由于插件不写入 Provider 配置,卸载后隐藏列表随包删除自动失效,无需手动清理配置。