DeepSeek Harness (DSH) uses a pluggable architecture. When observing Agent execution in the Web interface, the default output is relatively static. The dsh-livechat plugin overlays Bilibili-style danmaku on the chat area, adding visual feedback to the Agent’s working process.
Plugin Positioning¶
This is a fun decorative plugin maintained by huashenglian. It uses multi-track rendering and anti-occlusion fade-out techniques to generate preset or intelligent danmaku that drift horizontally across the screen when the Agent sends a message, completes a reply, calls a tool, or finishes a task. Its core value is to transform a boring log stream into a dynamic, live-stream-like viewing experience.
Installation and Enablement¶
The plugin is a bundle: it ships with cordis.patch.yml and self-activates—one command, no manual patch modification required.
dsh plugin --profile web add github:huashenglian/dsh-livechat
After installation, restart dsh web and open http://127.0.0.1:3080. The danmaku overlay and floating control ball will appear above the chat area.
Core Features¶
Rendering and Anti-Occlusion¶
- Multi-track collision avoidance and fade-out: supports multi-track collision avoidance and anti-occlusion fading.
- Chromium-first optimization: prioritizes Chromium optimizations (such as
translate3d, pausing when the page ishidden, and an on-screen cap). - Anti-occlusion: the overlay dims during reading and brightens when activity is high.
Content Generation¶
- Three preset packs: built-in general / programming / chit-chat preset packs.
- LLM intelligent generation: optional LLM generation with throttling for danmaku; supports smart, interval-based, and tool-call wake-up modes. On generation failure, it silently falls back to presets.
- Style templates: supports style template configuration.
Interaction Controls¶
- Drag ball and hover: provides drag-ball control and hover-to-pause.
- Locking mechanism: danmaku locked by hover or detail view remains on screen until scrolling resumes and it leaves the range.
Per-Session Danmaku Library¶
- Pool management: supports per-session
.jsonldanmaku pool management. - History replay: includes history replay functionality (decay + like weighting).
- Archive and restore: supports archiving and restoration.
Other Features¶
- Gift effects: provides an asset repository and effect position configuration.
- Configuration persistence: configuration is written to a local mirror (
$DSH_HOME/danmaku-config.json) and a concisedanmaku:section insettings.yaml; at startup, resolution follows “mirror → settings → defaults”; configuration is not lost after restart.
Typical Usage¶
- Health check:
curl http://127.0.0.1:3080/api/danmaku/health
Example response: `{"ok":true,"name":"dsh-danmaku","version":"0.6.2"}`.
- Unit test:
node --test tests/presets.test.js
- Uninstall:
dsh plugin --profile web remove dsh-livechat
Notes¶
- Self-activation: The bundle ships with
cordis.patch.ymlfor self-activation (insert id: livechat). Do not duplicate the insert in the profile patch, otherwise startup will reportduplicate loader entry id: livechat. - Cache cleanup: If you uninstall while the service is still running, it will also clean the danmaku pool cache (
~/.dsh/danmaku-pools/). - Permissions and provenance: The plugin runs with the current dsh process permissions. Before installing, review the source code and license (MIT).
Summary¶
dsh-livechat is a lightweight, playful plugin suitable for users who want to increase the sense of Agent interaction during development, debugging, or demonstrations. It visualizes the Agent’s execution flow while providing flexible configuration and interaction controls.