dsh-hotkey:为 DSH Desktop Web GUI 提供可配置键盘快捷键

前言

在 DSH Desktop Web GUI 中,常用操作往往依赖鼠标点击。dsh-hotkey 插件为这些操作提供了键盘入口,支持 VS Code 风格的快捷键配置,并在设置页内提供可视化编辑器。该插件维护者为 melt502,旨在减少鼠标交互,提升操作效率。

前置条件

部分快捷键驱动其他 DSH 插件提供的功能,使用前需安装对应插件,否则这些绑定在设置页将显示为不可用。

前置插件 提供的功能 解锁的快捷键
dsh-vision-router 输入框右下角的识图模式开关按钮 Ctrl+Alt+V — 切换识图模式
dsh-better-sidebar 承载终端、文件、Git、侧边对话与底部面板的右侧边栏 Ctrl+`、Ctrl+J、Ctrl+Alt+B、Ctrl+Shift+E、Ctrl+Shift+G、Alt+E

安装与启用

从本地目录安装插件:

dsh plugin --profile web add "link:<absolute path to this repo>"

安装后重启 DSH Desktop。配置入口位于 系统设置 → 快捷键。

功能

  • 基础配置:包含 20 个动作,默认绑定 16 个键位。
  • 可视化编辑:在设置页内可改键、禁用、单条恢复默认或全部恢复默认。
  • 冲突检测:检测组合键冲突,冲突时按动作表顺序确定优先级。
  • 数据管理:支持 JSON 导入/导出完整键位表。
  • 持久化:配置持久化到 DSH settings scope(命名空间 hotkey)。
  • 多语言支持:跟随 DSH 界面语言(中文 / 英文)。
  • 导航增强:
  • 右侧边栏键盘导航:↑ / ↓ 在可见按钮间移动,Enter 模拟点击。
  • Side Chat 两阶段打开:Alt+E 先展开右侧边栏,再打开或新建对话。
  • 健壮性:服务与 DOM 双路径,避免服务延迟注册导致快捷键完全失效。

默认快捷键

快捷键 动作 说明
Ctrl+B 切换左侧边栏 会话 / 工作区栏
Ctrl+` 打开 / 聚焦终端 右侧终端标签
Ctrl+J 切换底部面板 底部终端 / 面板
Ctrl+Alt+B 切换右侧边栏 承载文件、Git、侧边对话的侧边卡片
Ctrl+Shift+E 文件树 / 编辑器 打开文件标签
Ctrl+Shift+G Git 面板 打开源代码管理标签
Alt+E 侧边对话 先展开右侧边栏,再打开对话
Ctrl+Alt+V 切换识图模式 点击 dsh-vision-router 识图按钮(需先安装该插件)
Ctrl+F 打开新的工作区 打开「添加工作区」选择器
Ctrl+N 新建会话 在当前工作区新建会话
Enter 同意审批 仅审批卡片可见时接管
Esc 拒绝审批 仅审批卡片可见时接管
Ctrl+[ 上一个会话 会话列表导航
Ctrl+] 下一个会话 会话列表导航
Ctrl+I 聚焦输入框 光标移至末尾
Ctrl+, 打开系统设置 DSH 设置入口

另有 4 个动作默认不分配键位:右侧详情列、子代理面板、系统终端窗口、命令菜单。Enter / Esc 只在审批卡片可见时拦截,其他情况保持 DSH 原生行为。

运行时诊断

在 DSH web DevTools 控制台中可调用以下接口进行调试:

window.__DSH_HOTKEY__.effective()    // 获取当前生效的键位表
window.__DSH_HOTKEY__.availability() // 获取各动作的可用性(用于设置页显示)
window.__DSH_HOTKEY__.probe()        // 检测服务、DOM、标签页、会话、面板状态
window.__DSH_HOTKEY__.readiness()    // 检测处理器的就绪状态
window.__DSH_HOTKEY__.debug(true)    // 开启按键调试日志

测试

插件无额外的开发依赖,测试使用 Node.js 内置模块。

npm test

适用场景与注意

  • 适用场景:需要频繁操作 DSH Desktop Web GUI 的开发者,特别是习惯使用键盘导航的场景。
  • 注意事项:
  • Enter / Esc 仅在审批卡片可见时拦截,否则保持 DSH 原生行为。
  • 避免绑定浏览器或 Electron 保留的组合键。
  • DOM 兜底机制依赖 DSH UI 的当前 DOM 结构;若 DSH 升级导致 DOM 结构变化,需重新运行测试并验证。
  • 生态背景:DSH 理念是「一切皆插件」,社区目录与 DeepSeek / 幻方无官方从属关系。

短结尾

dsh-hotkey 通过提供 VS Code 风格的键盘快捷键和可视化编辑器,降低了 DSH Desktop Web GUI 的操作门槛。更多细节与源码可访问 GitHub。

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

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

小夜