DSH 的扩展机制允许用户通过插件管理模型供应商。当需要临时禁用某个供应商或快速筛选模型时,直接修改配置文件不够直观。zuojinxin/dsh-provider-switch 是一个静态插件,在官方模型选择器的基础上增加了供应商启停开关、模型搜索和供应商重命名功能。
核心功能¶
供应商启用/禁用¶
进入「设置 → 模型」页面,每个供应商行前会出现一个开关。开启状态下,该供应商下的模型正常可用;关闭后,模型会从选择器中隐藏,且会话调用时会直接报 PROVIDER_DISABLED 错误,不再重试。
模型搜索¶
在输入框的模型选择器顶部新增了一个搜索框。支持按模型名称、描述或供应商名称的关键字进行过滤。
供应商重命名¶
在「设置 → 模型」页面展开供应商编辑卡片后,点击卡片标题即可进行内联修改,改变其在界面上的显示名称。
安装与启用¶
安装前请确保环境满足以下条件:
* dsh web 版本 ≥ 0.1.7-rc.1
* Node.js ≥ 20
执行以下命令安装插件:
dsh plugin --profile web add github:zuojinxin/dsh-provider-switch
安装完成后,重启 dsh web 服务即可生效。
验证安装¶
- 检查启动日志,确认出现以下字样:
[provider-switch] settings namespace ready - 进入「设置 → 模型」页面,检查每个供应商行前是否出现开关。
- 在输入框点击模型选择器,检查顶部是否有搜索框。
注意事项与限制¶
- 依赖注入风险:设置页的开关和重命名功能基于 DOM 注入实现。如果 DSH 官方升级导致类名变更,这些 UI 功能可能会失效(插件会进行优雅降级,不影响拦截逻辑)。
- 设置页显示:禁用供应商时,设置页里的供应商行依然可见,但对应的模型会被隐藏。
- 拦截范围:插件仅拦截
llm/streamwaterfall 流程。绕过该流程的直连调用不在拦截范围内。 - 源码审查:该插件为 MIT 许可证开源项目。作为静态插件,它以当前
dsh web进程的权限运行,安装前建议查阅源码以确认安全性。