dsh-model-switch:用按键一键切换模型与思考强度

前言

在使用 DSH (DeepSeek Harness) 进行模型调试或日常交互时,频繁切换模型与思考强度是常见需求。现有的 UI 操作需要点击模型选择器,若配合外设(如遥控器或小键盘),操作路径较长。下面介绍的插件旨在解决这个问题,通过自定义按键映射,将模型切换与强度调节动作浓缩为一个物理按键的触发。

这是什么

dsh-model-switch 是一个 DSH 全局插件,由 succlz123 维护。它解决了“快速切换模型与思考强度”的痛点,允许将任意按键(含 spare 键、蓝牙小键盘、遥控器 HID 键盘)映射为特定的模型与思考强度组合。

核心功能

  • 可视化按键映射:在输入框下方的模型行左侧渲染一个机械键帽样式的按钮。面板打开时,按钮呈现“按下”状态。
  • 组合键管理:支持添加、更换模型、调整思考强度或删除映射。
  • 内嵌录入流程:点击面板内的“添加按键映射”即可开始。面板会显示“正在监听”并实时回执收到的按键,随后选择模型与强度,全程无需关闭面板。
  • 数据源同步:模型列表直接来自 DSH 官方 modelDirectories 服务(与 UI 模型选择器同源,实时同步),并兼容 remote.session 旧接口。
  • 诊断通道:内置轻量级诊断工具,按键没反应时可查看宿主落盘文件 $DSH_HOME/.dms-diag.ndjson,无需打开浏览器 DevTools。

安装与启用

官方命令:

dsh plugin --profile web add link:<本目录绝对路径>

手工安装方式(推荐):
1. 将插件目录放入 $(DSH_HOME)/profiles/web/packages/dsh-model-switch。
2. 修改 profiles/web/package.json:
* 在 dependencies 中添加 "dsh-model-switch": "file:./packages/dsh-model-switch"。
* 在 dsh.profile.bundles 数组中添加 "dsh-model-switch"。
3. 在 profiles/web 目录下执行 pnpm install。
4. 完全退出并重启 DSH,刷新页面。

注意:pnpm 对内容变化但版本号不变的 file: 依赖可能跳过重链。若修改 lib/*.js 后未生效,请手动同步文件到 profiles/web/node_modules/dsh-model-switch/,或 bump 版本后重新安装。

典型用法

插件安装并刷新页面后,输入框下方模型行左侧会出现机械键帽按钮。打开面板录入一个组合键(建议 F13–F24 或 Ctrl/Alt 组合),将其映射到目标模型与思考强度档位。之后在页面直接按下外设按键,即可完成切换,全程无浮动弹窗干扰。

适用场景与注意

  • 适用场景:需要频繁在不同模型间切换,或使用蓝牙小键盘、电视遥控器等外设辅助输入的开发者。
  • 外设要求:外设键盘/遥控器必须以 HID 键盘身份发送普通按键码(F13–F24 最理想)。多媒体/消费类按键(音量、播放等)浏览器不会产生 keydown 事件,无法捕获。
  • 数据持久化:当前按键映射仅存储在页面内存中,刷新页面后需重新录入(持久化功能在计划中)。
  • 开发注意:日常迭代只需修改 lib/client.js,修改后需同步到 node_modules 或重新 pnpm install。

结尾

该插件通过轻量化的 UI 与按键监听机制,降低了模型切换的操作成本。更多细节与源码,可参考项目目录或 GitHub 仓库。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜