Introduction¶
The design philosophy of DeepSeek Harness is “everything is a plugin,” allowing developers to extend the functionality of the Web GUI through plugins. Adding a visual Live2D desk companion to the interface can intuitively display the current working state of the Agent. The lrplrplrp/dsh-live2d plugin renders Live2D models in the DSH Web interface, supports mouse interactions, and is fully driven by the actual working state of DSH.
Installation and Enabling¶
Before installing, you must completely exit DSH (close the DSH Host).
- Run the installation command:
dsh plugin --profile web add link:/path/to/dsh-live2d
- Start DSH Web:
dsh web
- After starting, the Live2D desk companion automatically appears in the lower-left corner of the page and runs with the built-in DeepSeek model and animation mapping.
Features¶
Mouse Interaction¶
- Drag to Move: Drag the ✥ icon at the lower-right corner of the Live2D companion; the position is saved automatically.
- Scroll to Zoom: Hover over the drag icon and scroll the mouse wheel to resize the model in real time; the zoom ratio is saved automatically.
- Canvas Adjustment: When hovering over the canvas area, blue corner handles appear in the lower-right corner; drag them to adjust the canvas size.
Eye Following¶
The model’s gaze follows the global mouse cursor by default. If you do not need this effect, you can disable it in the Live2D settings on the DSH settings page.
State-Driven Animation¶
The plugin has built-in animation mappings based on DSH states. When the Agent state changes, the Live2D model automatically switches to the corresponding motion or expression.
IDLE: idle standby; plays the Idle group motion.THINKING: the Agent starts thinking; plays the thinking motion of the Anima group.THINK_END: thinking ends; plays the thinkend motion of the Anima group.WORKING: tool invocation in progress; plays the speak motion of the Anima group.SPEAKING: the Agent starts outputting dialogue; plays the speak motion of the Anima group.SUCCESS: the task is completed; switches to the happy expression.ERROR: the task fails; switches to the unhappy expression.
Model Management¶
- Built-in Model: After installation, directly use the built-in DeepSeek Live2D model.
- Automatic Scanning: Place a model folder containing
.model3.jsonin the plugin’sassets/directory; the plugin will automatically detect it and refresh the model list.
Configuration and Settings¶
The plugin configuration is stored in the browser’s localStorage (key: dsh-live2d.v1) and can also be edited visually on the “Live2D Desk Companion” page of the DSH settings panel.
On the settings page, you can configure the following for each model:
* motion: motion mapping, with the format { "group": "group_name", "index": 0 }; leave it empty to play randomly.
* expression: expression name.
Technical Implementation¶
The plugin depends on @deepseek-ai/cordis as a peer dependency.
At the source-code level, the Host side only reads lib/client.js and delivers it to the browser as-is. The client code is split by function under the lib/src/ directory, and a build script concatenates it to generate lib/client.js. Therefore, if you need to modify the source code, you must run npm run build to rebuild.
Use Cases¶
Suitable for developers who need to add visual feedback to the DeepSeek Harness Web GUI, display the Agent workflow, or simply use it as interface decoration.
References¶
- GitHub repository: https://github.com/lrplrplrp/dsh-live2d
- Community catalog: https://www.skillhub.cn/plugins/lrplrplrp/dsh-live2d