前言¶
做智能体开发时,经常需要在几个模型之间来回比较:同一个任务先用当前模型跑一遍,再换个模型对照结果;或者按任务复杂度调整推理等级。如果每次都要手动点开模型选择器、选模型、再调等级,重复几次就比较繁琐。
DSH 的理念是「一切皆插件」,这类高频小操作正适合做成插件。下面介绍的 dsh-plugin-model-switcher 就是这样一个插件:它给 DSH 的 web 客户端加了两组键盘快捷键,一组切换模型,一组切换推理等级,每次切换后有 toast 通知确认。
这是什么¶
dsh-plugin-model-switcher 由 Mrlilili 维护,当前版本 0.1.0,许可证为 MIT(README 与 package.json 均有标明)。它解决的问题很单一:让模型与推理等级的切换不离开键盘。
插件由 Host 与 Client 两部分组成:
- Host(
src/index.ts)负责实际的切换逻辑与持久化; - Client(
src/client/index.ts)负责快捷键监听、toast 展示和更新模型选择器 UI。
package.json 中 client bundle 的 platform 为 web,注入的依赖有四个:@deepseek-ai/dsh-client-runtime、@deepseek-ai/dsh-client-ui-slots、@deepseek-ai/dsh-client-ui-conversation、@deepseek-ai/dsh-client-modules;peerDependencies 为 @deepseek-ai/cordis。
核心功能¶
两组快捷键¶
| 快捷键 | 作用 |
|---|---|
| Ctrl+Shift+M / Cmd+Shift+M | 在当前 Provider 的模型列表中循环切换 |
| Ctrl+Shift+R / Cmd+Shift+R | 循环切换推理等级:off → low → high → max → off |
每次切换后,右下角会弹出 toast 通知,确认当前切换到的模型或推理等级。
切换在内部怎么完成¶
Host 侧(src/index.ts)做三件事:
- 从
agentDefaultModel读取当前模型选择; - 通过
llm.listModels()在当前 Provider 的模型列表中循环,或通过llm.resolveModelInfo()循环推理等级; - 用
agentDefaultModel.saveSelection()持久化新选择。
Client 侧(src/client/index.ts)负责交互层:
- 在
shell.overlay槽位注册 toast 覆盖层; - 在 document 的捕获阶段监听 Ctrl/Cmd+Shift+M 和 Ctrl/Cmd+Shift+R;
- 通过
host.call()调用 Host 处理器,拿到结果后通过modelDirectories.directoryFor(sessionId).select()更新模型选择器 UI。
也就是说,快捷键切换和界面上的模型选择器共享同一份状态:用快捷键切换后,选择器 UI 会同步更新。
安装与启用¶
先确认本机已安装 DSH,然后执行:
dsh plugin --profile web add https://github.com/Mrlilili/dsh-plugin-model-switcher.git
注意命令里带 --profile web:该插件的 client bundle 面向 web 平台。安装完成后需要重启 DSH,插件才会生效。
典型用法¶
重启 DSH 后无需额外配置,直接使用快捷键:
- 按 Ctrl+Shift+M(macOS 上是 Cmd+Shift+M),在当前 Provider 的模型列表中切到下一个模型,右下角 toast 会提示当前选择;
- 按 Ctrl+Shift+R(macOS 上是 Cmd+Shift+R),推理等级按 off → low → high → max → off 的顺序循环切换,每次切换同样有 toast 确认;
- 切换结果由插件持久化,界面上的模型选择器同步显示最新选择。
适用场景与注意事项¶
适合的场景:
- 需要在多个模型之间快速对比输出的开发者;
- 希望按任务调整推理等级、不想每次都点开选择器的人。
安装前有几点要注意:
- 插件以当前 dsh 进程的权限运行,安装第三方插件前建议先浏览源码(https://github.com/Mrlilili/dsh-plugin-model-switcher),确认逻辑符合预期;
- 该插件使用 MIT 许可证,安装与使用前请自行确认许可证条款满足你的场景;
- 安装命令使用
--profile web,如果你的使用环境不是 web 客户端,这个插件不适用。
小结¶
dsh-plugin-model-switcher 做的事情很聚焦:把模型与推理等级的切换绑定到两组快捷键上,配上 toast 确认与选择器同步,让高频操作留在键盘上。经过上面的步骤即可完成安装和启用。插件体量不大,Host 与 Client 的分工也清晰,适合当作「一切皆插件」的一个参考实现来读。
- 社区插件目录页:https://www.skillhub.cn/plugins/Mrlilili/dsh-plugin-model-switcher
- GitHub 仓库:https://github.com/Mrlilili/dsh-plugin-model-switcher
需要说明的是,skillhub.cn 是独立的社区插件目录站点,与 DeepSeek、幻方无官方从属关系。