DeepSeek Harness (DSH) adopts a plugin-based architecture. When assigning keyboard shortcuts for different interfaces (desktop and web), existing approaches often make centralized management difficult. omdsh-shortcuts solves this problem by allowing key combinations for any Harness functionality to be bound through a single document, covering both desktop native menus and web page keyboard listeners.

What Is This

omdsh-shortcuts is an input-focused DSH plugin maintained by omdsh-plugins. It decouples shortcut management from hard-coded implementations, defines behavior through configuration files, and provides a visual rebinding form in the plugin center. The plugin is released under the MIT license.

Core Features

  • Unified Shortcut Binding: Supports binding key combinations to any functionality.
  • Multi-Surface Listening: Listens to keyboard input in both desktop shell native menus and web pages.
  • Service Provision: Provides a shortcut service with interfaces such as register, bindings, onBindings, and chordLabel.
  • Command Execution: Executes 12 UI commands, including layout, sessions, workspaces, and sessionModes.
  • Window Management: Supports opening new windows.
  • Visual Configuration: Provides a rebinding form in the plugin center.

Installation and Activation

  • Installation Command: The official installation command is not explicitly provided in the documentation.
  • Environment Requirements:
    • The runtime environment requires Node.js ^22.19.0 or >=24.0.0.
    • pnpm@11.7.0 must be installed.
  • Installation Method: It is usually installed through the DSH plugin center or directly from the GitHub repository.

Typical Usage

Configuring Key Bindings

Use document-based configuration for accelerator (desktop shortcut) and webAccelerator (web shortcut). Example:

{
  "version": 1,
  "items": [
    {
      "id": "sidechat.open",
      "label": "Ask Here",
      "command": { "kind": "browser" },
      "accelerator": "CmdOrCtrl+L",
      "webAccelerator": "CmdOrCtrl+Alt+L"
    }
  ]
}

API Interaction

  • Focus Reporting: Front-end pages can report their focused state via POST /api/desktop/shortcut.focus, enabling them to receive keyboard events from the desktop side.
  • Menu Listening: You can use GET /api/desktop/menu.events to listen for menu updates.

Shortcut Limitations

The browser reserves ⌘N, ⌘T, ⌘W, and ⌘Q, and these shortcuts cannot be overridden. If such shortcuts are attempted to be bound, the plugin will raise an error at mount time instead of silently failing.

Use Cases and Cautions

  • Use Cases: Developers or advanced users who need a unified shortcut experience for both desktop applications and web interfaces.
  • Cautions: The desktop and web key listeners are not shared, and configuration must be handled separately. Binding reserved browser shortcuts will cause the plugin to fail during mounting instead of silently failing.

omdsh-shortcuts solves the complexity of multi-surface shortcut management through unified document configuration. It not only provides low-level service interfaces but also simplifies the configuration process, making it suitable for developers who need deeply customized interaction experiences in DeepSeek Harness. For more details, see the Plugin Catalog or Source Repository.