DeepSeek Harness (DSH) 采用插件化架构,当需要为不同界面(桌面与 Web)分配快捷键时,现有方式往往难以统一管理。omdsh-shortcuts 解决了这一问题,它允许通过单一文档为 Harness 的任何功能绑定按键和弦,覆盖桌面原生菜单与 Web 页面监听。
这是什么¶
omdsh-shortcuts 是一个 DSH 输入类插件,由 omdsh-plugins 维护。它将快捷键管理从硬编码中解放出来,通过配置文件定义行为,并在插件中心提供可视化的重新绑定表单。该插件采用 MIT 许可证。
核心功能¶
- 统一快捷键绑定:支持为任何功能绑定按键和弦。
- 多端监听:同时监听桌面外壳原生菜单和 Web 页面内的按键。
- 服务提供:提供
shortcut服务,包含register、bindings、onBindings、chordLabel等接口。 - 命令执行:执行 12 个 UI 命令,包括
layout、sessions、workspaces、sessionModes。 - 窗口管理:支持打开新窗口。
- 可视化配置:在插件中心提供重新绑定表单。
安装与启用¶
- 安装命令:官方安装命令未在资料中明确给出。
- 环境要求:
- 运行环境需 Node.js 版本在
^22.19.0或>=24.0.0之间。 - 需安装
pnpm@11.7.0。
- 运行环境需 Node.js 版本在
- 安装方式:通常通过 DSH 插件中心或直接从 GitHub 仓库安装。
典型用法¶
配置按键绑定¶
使用文档配置 accelerator(桌面快捷键)和 webAccelerator(Web 端快捷键)。例如:
{
"version": 1,
"items": [
{
"id": "sidechat.open",
"label": "Ask Here",
"command": { "kind": "browser" },
"accelerator": "CmdOrCtrl+L",
"webAccelerator": "CmdOrCtrl+Alt+L"
}
]
}
API 交互¶
- 焦点报告:前端页面可通过
POST /api/desktop/shortcut.focus报告自身处于焦点状态,以便接收桌面端的按键事件。 - 菜单监听:可使用
GET /api/desktop/menu.events监听菜单更新。
快捷键限制¶
浏览器端会保留 ⌘N、⌘T、⌘W、⌘Q,这些快捷键不可被覆盖。若尝试绑定这些快捷键,插件会在挂载时报错,而非静默失效。
适用场景与注意¶
- 适用场景:需要为桌面应用和网页端统一快捷键体验的开发者或高级用户。
- 注意:桌面与 Web 的按键监听器不共享,配置需分别处理。浏览器保留的快捷键若尝试绑定会导致插件挂载失败,而非静默失效。
omdsh-shortcuts 通过统一的文档配置解决了多端快捷键管理的复杂性。它不仅提供了底层服务接口,还简化了配置流程,适合需要在 DeepSeek Harness 中深度定制交互体验的开发者。更多详情可查看插件目录或源码仓库。