The DeepSeek Harness (DSH) Web UI emphasizes a plugin-based architecture, but in daily use, developers still need to click the mouse frequently to toggle sidebars or open settings. dsh-keyboard-manager listens to keyboard events, maps common UI operations to keyboard shortcuts, and reduces the frequency of mouse interactions.

Plugin Overview

  • Name: dsh-keyboard-manager
  • Function: Provides keyboard shortcut support for the DeepSeek Harness Web UI
  • Maintainer: Aafff623
  • Category: Client
  • License: MIT

Core Features

The plugin provides three default keyboard shortcuts, all handled by a single listener and routed to the appropriate UI elements based on page state.

  1. Ctrl+Q Toggle left sidebar
    Directly calls the layout service’s toggle method to control showing or hiding the built-in left sidebar.

  2. Ctrl+E Toggle right sidebar
    Smart routing logic:

    • If the dsh-better-sidebar plugin is loaded, click the right panel’s toggle button.
    • If that plugin is not loaded, toggle the native conversation details panel.
    • An active session is required to trigger it.
  3. Ctrl+S Open/Close settings

    • Click the settings trigger button to open the modal.
    • When the dsh-better-sidebar editor is focused, this shortcut is passed through to the editor for the save action.
    • Close the settings modal by pressing the Escape key.

Installation and Enablement

Use the official CLI command to add the plugin to the current Web configuration file.

dsh plugin --profile web add github:Aafff623/dsh-keyboard-manager

After installation, it is recommended to hard-refresh the browser page (Ctrl+Shift+R) to ensure the plugin is loaded effectively.

Configuring Custom Keys

The plugin supports overriding the default key codes through a configuration file. The configuration file path is ~/.dsh/profiles/web/cordis.patch.yml.

# ~/.dsh/profiles/web/cordis.patch.yml
- id: dsh-keyboard-manager
  config:
    sidebar: KeyQ
    rightPanel: KeyE
    settings: KeyS

The configuration validation rules only allow A-Z alphanumeric combinations; duplicate or invalid codes will fall back to default values. After modifying the configuration, restart DSH and refresh the page.

Technical Details and Notes

  • Key Rules: Only strict key combinations are supported, meaning only the Ctrl key is used, without mixing Cmd, Shift, or Alt modifier keys.
  • Event Isolation: The plugin does not interfere with native page event handling. For IME composition input, automatic key repeat, and events already consumed by other listeners, the plugin remains silent to avoid conflicts.
  • Dependency Requirements: Requires @deepseek-ai/cordis version ^4.0.2 and a DSH Web UI environment.
  • Optional Dependency: dsh-better-sidebar is optional. If it is not installed, Ctrl+E automatically falls back to the native conversation details panel; the Ctrl+S save behavior in the editor only takes effect when that plugin is loaded.
  • Headless Configuration: In a Headless configuration, plugin settings cannot be retrieved, so the plugin directly uses the default key values.

Ecosystem and Source

This plugin follows DSH’s plugin-based philosophy and has no direct subordinate relationship with DeepSeek officially. Source code and documentation are located at:

  • GitHub Repository: https://github.com/Aafff623/dsh-keyboard-manager
  • Community Directory: https://www.skillhub.cn/plugins/Aafff623/dsh-keyboard-manager