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 withEsc. 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.jsonusing a two-section structure (entriesfor user-defined cards +layoutfor plugin layout); it is restored as-is after refresh or restart. - paletteHub service integration: Provides a semi-public
ctx.paletteHubservice 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.actionslot 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) andglass(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¶
- Clone the repository.
- Edit the dsh web profile’s
package.jsonand add the following symlink todependencies:
"dsh-plugin-palette-board": "link:/path/to/dsh-plugin-palette-board"
- Add the plugin name to the
dsh.profile.bundlesarray. - 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.