Introduction

The core design philosophy of DeepSeek Harness (DSH) is a plugin-based architecture. During daily use, switching sessions frequently, locating settings, and managing workspaces often rely on mouse clicks. The dsh-command-palette plugin provides a keyboard-first command palette, aiming to reduce mouse usage and quickly access core features through shortcuts.

Features

This plugin provides a unified command entry point for standard DSH, including the following capabilities:

  • Double Shift Trigger: Press the Shift key twice in succession inside a DSH Web window to open the palette. The plugin does not register system-level global shortcuts; it only listens to the currently focused window.
  • Session Management: The palette shows the six most recently updated active sessions by default, and supports searching by title, working directory, Agent preset, or ID.
  • Workspaces and Settings: Supports switching or binding workspaces, and provides direct access to settings pages. The plugin automatically reads the registered settings menus from DSH, so new settings menus added by other plugins will also appear in the “Settings” group automatically.
  • Custom Commands: Allows saving commonly used Prompts. After enabling “dedicated session reuse” for a command, the first execution creates a session and saves the binding; subsequent executions continue to send content to the same session. If the bound session has been archived or is unavailable, the plugin automatically creates a new session.
  • Extension Interface: The plugin exposes a commandPalette service in Client Context, allowing other plugins to register additional commands or open the palette.

Installation and Enablement

Use the official installation command to add the plugin to the Web Profile:

dsh plugin --profile web add dsh-command-palette

After installation, restart the current DSH Web process. Then open Settings → Command Palette to manage custom commands.

Usage

  1. Open the palette: Rapidly press Shift twice consecutively inside a DSH Web window.
  2. Select and execute: Type a keyword to filter commands, use the arrow keys to select a target, press Enter to execute, and press Esc to close.
  3. Manage commands: Add, edit, or delete custom commands in the settings menu.

Technical Implementation and Interfaces

This plugin does not depend on Electron, DSH Desktop preload, or any window.dshDesktopCommandPalette global object. All session, workspace, settings, and UI functionality is implemented through standard DSH Client services.

Custom command data is stored in command-palette.commands within the DSH settings system, and no separate database is created.

For developers, the plugin provides the following service interfaces for extension:

  • registerProvider(provider): Registers a command Provider and returns an unregistration function.
  • collect(context?): Collects all currently available extension commands.
  • open() / close() / toggle() / isOpen(): Controls palette state.
  • subscribe(listener): Listens for palette open-state or Provider changes.

Extension plugins can inject the commandPalette service to register commands:

exports.inject = ['commandPalette']

exports.apply = (ctx) => {
  ctx.inject(['commandPalette'], (scope) => {
    scope.effect(() => scope.commandPalette.registerProvider({
      id: 'my-plugin',
      collect: () => [{
        id: 'open-dashboard',
        group: 'features',
        icon: '⌘',
        title: '打开控制台',
        subtitle: '由扩展插件提供',
        keywords: ['dashboard'],
        run: () => openDashboard()
      }]
    }))
  })
}

Notes

  • Compatibility: This plugin is compatible with standard DeepSeek Harness, @deepseek-ai/dsh version 0.1.1-rc.2, and the Web Profile.
  • Permission Scope: The plugin only listens to the currently focused window and does not involve desktop native browser tabs, Electron IPC coordination, or native view coordination.
  • Development Verification: The project includes npm test and npm run check scripts for verification.

Conclusion

dsh-command-palette simplifies daily DSH workflows through a unified command palette, especially for users who need to switch contexts frequently or use specific commands. It maintains compatibility with the DSH ecosystem through standard extension interfaces.

For more details and source code, visit: GitHub repository | Community Directory