Introduction¶
The sidebar.footer.action slot at the bottom of the DeepSeek Harness (DSH) sidebar is a location reserved by the host for plugins to place persistent cards (such as session cost or memory entry points). By default, the host renders the container for this slot as a single-line Flex layout, so when two or more plugins are installed, each card takes up only half the width, causing the content to be squeezed and displayed incompletely.
Overview¶
dsh-sidebar-footer-stack is a plugin that stacks footer plugin cards in the sidebar vertically, unifies card appearance, and supports drag-and-drop reordering.
- Maintainer: Daniel92Q
- License: MIT
- Categories: Web UI, Interface
- Core value: Solves the issue of multiple cards being squeezed when displayed side by side, and provides a unified visual style along with flexible ordering capabilities.
Installation¶
Install via the CLI:
dsh plugin --profile web add github:Daniel92Q/dsh-sidebar-footer-stack
If you are using the desktop application, use the in-app “Settings → Plugins → Add Plugin” entry instead, because the desktop version exclusively uses the desktop profile.
After installation, restart the Harness process for the changes to take effect.
Features¶
This plugin mainly provides the following capabilities:
- Vertically stack slot entries: Changes the originally horizontal card layout to a vertical layout, with each card occupying the full width, resolving content compression issues.
- Unify card appearance: Applies a consistent card style to all entries. The plugin automatically detects existing card styles to avoid applying duplicate borders.
- Drag cards to reorder: Supports reordering cards via drag-and-drop operations.
- Persistent ordering: Card order is saved to
localStorageand remains after refresh or restart.
Usage¶
- Reorder: Hold a card, drag it to the upper or lower half of another card, and release to change the order.
- Reset order: Clear the
localStoragekeydsh-sidebar-footer-stack.order. - Enable diagnostics: Set the
localStoragekeydsh-sidebar-footer-stack.debugto'1', then refresh the page to enable diagnostic reporting.
Notes¶
- No build scripts: The plugin is pure JS and requires no build process.
- Depends on host structure: The plugin relies on the host’s internal structure (the
footerActionsclass name and the outlet wrapper layer). If a host upgrade modifies these structures, the plugin will fail silently (without errors, but without taking effect). - Diagnostic reporting: Disabled by default to avoid collecting excessive data.
- Hot replacement: Supports hot replacement of the client bundle, allowing code changes to be viewed without restarting the application.
- Drag feedback: The dragged card appears with 45% opacity, and a 2px brand-color indicator line appears on the target edge.