DSH (DeepSeek Harness) web console plugin entry points are often scattered across the sidebar or browser tabs, and frequent switching reduces efficiency. dsh-plugin-palette-board is a Raycast / Launchpad-style 2D application grid that aggregates common entry points into a floating panel, supporting full keyboard interaction and local storage.

Core Features

  • Full keyboard interaction: Can be invoked with ⌘K / Ctrl+K / Alt+Space, and closed with Esc. After opening the panel, use arrow keys or Tab to navigate the grid, and Enter to execute.
  • Local card catalog: Card data is persisted in ~/.dsh/storages/palette-board.json using a two-section structure (entries for user-defined cards + layout for plugin layout); it is restored as-is after refresh or restart.
  • paletteHub service integration: Provides a semi-public ctx.paletteHub service to all client plugins, supporting soft-dependency integration; when the plugin is stopped, host startup is not affected.
  • Scan and import: Reads the sidebar sidebar.footer.action slot registry and converts sidebar entry points into custom cards with one click.
  • Filter mode: Provides a funnel toggle that can hide invalid cards (for example, links returning 404 or buttons no longer present in the sidebar), affecting display only.
  • Themes and sizes: Supports switching between fresh (paper-like) and glass (glassmorphism) themes, as well as cycling through compact/standard/wide size modes.
  • Zero dependencies: Zero runtime dependencies; lib/ build artifacts are committed with the repository and ready to use after cloning.

Installation and Enabling

  1. Clone the repository.
  2. Edit the dsh web profile’s package.json and add the following symlink to dependencies:
    "dsh-plugin-palette-board": "link:/path/to/dsh-plugin-palette-board"
  1. Add the plugin name to the dsh.profile.bundles array.
  2. Run installation:
    cd ~/.dsh/profiles/web && pnpm install

Typical Usage

  • Invoke panel: Use ⌘K / Ctrl+K / Alt+Space.
  • Register cards: The panel’s “Register” feature allows manually defining cards or entering page links to onboard arbitrary web pages.
  • Scan sidebar: Click the “Scan” button to convert existing action entry points at the bottom of the sidebar into palette cards with one click.
  • Third-party integration: Other plugins register cards via ctx.inject(['paletteHub'], ...), without the main plugin needing to add them proactively.

Notes

  • Host version dependency: Requires host dsh web >= 0.1.2-alpha.1.
  • Environment requirements: Requires Node.js >= 20.
  • Storage file: The card catalog is located at ~/.dsh/storages/palette-board.json. If the file is corrupted, the host will back it up before resetting it.
  • Permission scope: The plugin runs under the permissions of the current DSH process. Please review the source code before installing.