Preface¶
In the DeepSeek Harness Web plugin ecosystem, conversation.chat.turnTail is a chain slot—the first accepted rendering skips subsequent renderings. The dsh-better-sidebar plugin often preempts this chain with a priority of -1, causing the entire official delivery card (including chips and the delivery card) rendering to be skipped. This plugin inserts itself into the chain with a priority of -2 and takes over rendering only in turns that contain a present declaration, avoiding the card-disappearance issue caused by chain preemption.
What It Is¶
dsh-delivery-cards is a DSH Web plugin maintained by vclike. It provides an independent delivery card row, supports 11 file-type icons and both light and dark themes, and has zero dependencies and zero build requirements.
Installation and Enablement¶
The plugin is not published to npm and must be installed from the GitHub source code.
- Install the plugin:
dsh plugin --profile web add github:vclike/dsh-delivery-cards
- Local development:
git clone https://github.com/vclike/dsh-delivery-cards.git
dsh plugin --profile web add link:D:/path/to/dsh-delivery-cards
- Register the package name:
Add"dsh-delivery-cards"to thedsh.profile.bundlesarray in<DSH_HOME>/profiles/web/package.json. If it is not registered, the browser half will not be assembled into the startup graph. - Restart the service:
After modifying the frontend bundle, you must restartdsh web.
Note: Do not manually add
insert:lines incordis.patch.ymlwithindsh.profile.bundles. The host line is automatically inserted by thecordis.patch.ymlfile inside the plugin package; manual duplication will cause conflicts.
Core Features¶
- Priority control: Participates in the
turnTailchain rendering with a priority of -2 and takes over only in turns that contain apresentdeclaration. When there is nopresententry, it falls back to the default behavior, matching the behavior when the plugin is not installed. - v2.0 heuristic fallback: The client adds a fallback layer. When
presentedis empty, it filtersproduceditems using heuristics based on path, format, and size. This allows delivery cards to be rendered even if the model (Kimi, Claude, GPT, etc.) does not callpresent. - Card interaction:
- Clicking the blank area of a card (or pressing Enter/Space) opens a sidebar preview.
- Two persistent buttons, “Open” (default program) and “Locate” (File Explorer), are provided, with no collapsible secondary menu.
- File icons: Supports file-type icons for 11 categories (PDF, DOC, spreadsheet, PPT, MD, HTML, image, video, audio, archive, and code). Extensions not recognized fall back to a text badge.
- Theme adaptation: All colors use theme tokens and support switching between light and dark themes.
Technical Details and Fixes¶
- Chain preemption fix:
dsh-better-sidebarpreempted the rendering entry point for official delivery cards, causing the cards to disappear. This plugin uses a lower priority to take precedence in turns that containpresent. - Windows window visibility fix: The upstream
@deepseek-ai/dsh-native-commandmethodrevealNativePathusedwindowsHide: true, causing Windows Explorer windows to be created in an invisible state. This plugin rewrites that method in the host half, changingwindowsHidetofalse, ensuring that the Locate button opens a visible window.
Environment Requirements¶
- DSH:
^0.1.5-rc.1 - Node:
>=20 - Platform: On Windows, the “Locate” feature has been fixed for invisible windows; on non-win32 platforms, it falls back to the upstream implementation.
Conclusion¶
dsh-delivery-cards solves the unstable display of delivery cards in the DSH Web ecosystem when multiple plugins are installed. Through v2.0 heuristic fallback and the Windows window-visibility fix, it improves cross-model compatibility and usability.
- GitHub: https://github.com/vclike/dsh-delivery-cards