DSH extends its capabilities through plugins, with various features distributed across different locations such as the slash menu, the model selector, the sidebar, and the Composer @ menu. Keyboard-first users need a unified entry point to answer: what can I do in the current workspace, and how can I get there quickly?
Universal Palette provides a shared search controller that retrieves commands, models, sessions, and history in real time through the official API.
Plugin Overview¶
Name: yunmin311/dsh-universal-palette
Category: Client
Maintainer: yunmin311
License: MIT
Core Features¶
- Commands: A live directory of host commands searched and executed through the official API. Newly added Host commands appear automatically.
- Models: A session’s actual model directory, showing the currently selected item.
- Sessions: Current-session-first navigation with stable identity de-duplication.
- Conversation Hits: Full-text history retrieval through DSH session search.
- Deterministic Relevance: Exact-prefix-first scoring, filtering out low-relevance results.
- Native Look: Uses DSH design tokens to deliver native menu typography and glassmorphism surfaces, following localized copy.
- Public Contract Interoperability: Interoperates with community plugins based on verified public contracts, without private coupling.
Installation and Activation¶
Install it through DSH’s official plugin manager:
dsh plugin --profile web add @yunmin311/dsh-universal-palette@0.2.1
After installation, start DSH in --profile web mode to activate it.
Typical Usage¶
- Composer Search: Type
/findin the native DSH slash menu, or use the search button. Search results are displayed in the native DSH interface, positioned above or below the Composer depending on the session state. - Global Floating Palette: Press
Alt+Qon Windows/Linux, orCmd+Shift+Kon macOS, to toggle the global floating palette. - Close: Press
Escto close the palette.
Use Cases and Considerations¶
- Composer Search Limitation: The Composer Search feature requires a host that declares the
conversation.hero.composer.dockseat. If the host does not declare this seat, Composer Search will be disabled in the Hero view. - Consistent Behavior: For capabilities that do not verify the public contract, the plugin does not change any behavior.
- Privacy and Coupling: The plugin does not read private registries, introduces no hard dependencies, and only implements coexistence.
Conclusion¶
Universal Palette provides a centralized control point for keyboard-first users while ensuring compatibility with the DSH ecosystem.