Introduction¶
In DeepSeek Harness (DSH) usage scenarios, Agent replies are usually presented as plain text. If you need to display the current state intuitively in a reply (such as character settings, mood, or current task), you must manually assemble code blocks or Markdown in every conversation. This is both tedious and makes it difficult to maintain a consistent format.
dsh-status-card is a DSH plugin maintained by liqiming-whu. Its core function is to inject a configurable dsh-ui status-card instruction at the beginning of every Agent reply body. This leverages DSH’s system prompt injection mechanism without interfering with the conversation history, providing a unified visual state display for Agent replies.
Core Features¶
This plugin provides the following capabilities:
- Reply injection: Outputs an inline
dsh-uistatus card at the beginning of every Agent reply body. - No history interference: Injects formatting instructions through
ctx.systemPrompt.section()without appending user or assistant conversation history. - Visual style: Uses emoji instead of Material Icons to suit different styles.
- Built-in templates: Provides six built-in templates (A Soft Cutesy Energy, B Minimalist Focus, C Professional Work, D Starship Tech, E Warm Companionship, F Developer Terminal).
- Highly configurable: Supports an enable/disable toggle, custom card title, and custom GenUI JSON template.
- Settings-page assistance: The settings page provides real-time card preview and custom template validation.
- Language adaptation: Automatically detects the browser’s preferred language; uses Chinese if it starts with
zh, otherwise uses English. - Customization limits: Custom templates are limited to 64 KiB and must include a non-empty
itemsarray.
Preconditions¶
Before installing this plugin, ensure that your environment meets the following conditions:
- DeepSeek Harness is installed.
pnpmcan be run from the terminal.@omdsh-dev/dsh-genuiis installed and enabled in the Web profile. This is a prerequisite dependency for renderingdsh-uifenced blocks.
Installation¶
It is recommended to install stable version v0.2.1:
dsh plugin --profile web add "git+https://github.com/liqiming-whu/dsh-status-card.git#v0.2.1"
After installation, restart dsh web and hard-refresh the page in the browser.
Usage¶
After the plugin is installed and enabled, open the settings page in the browser and go to the “Status Card” section:
- Enable/disable: Use the toggle to control whether the status card is output in replies.
- Modify title: Customize the title text displayed in the card.
- Select template: Choose a style from the built-in template library (A–F).
- Custom template: Select “Custom Template” to edit strict GenUI JSON. It must satisfy the 64 KiB limitation and the non-empty
itemsarray requirement. - Preview and save: View the live preview on the settings page and save after validation passes.
The browser client reads navigator.languages (with navigator.language as the fallback) and synchronizes the detection result to DSH Settings. If the preferred language starts with zh, the settings UI, built-in templates, and system prompt injection use Chinese; otherwise, they use English.
Notes¶
- Session effectiveness: After installing the plugin, switching the browser language, or changing settings, create a new session for the new status-card configuration to take effect. Existing sessions do not automatically apply the new configuration.
- Persistence: Settings are persisted through the DSH Settings service.
- Local preview: The settings-page preview is implemented locally by the plugin and does not import GenUI client values across plugins, ensuring client bundle purity.
- Rendering dependency: GenUI must be installed and enabled first so that
dsh-uifenced blocks in chat are rendered correctly.
Summary¶
dsh-status-card injects instructions at the system prompt level to enable dynamic status-card display in Agent replies. It reduces the workload of manually assembling formatting and provides multiple built-in styles and customization options, making it suitable for scenarios that need to emphasize character state or display complex information in conversations.