Preface¶
When developing agents in the DSH Web GUI, staring at the console and chat windows for long periods can cause visual fatigue. This plugin mounts to the shell.overlay slot and provides a chibi-style EVA Unit-01 desktop pet on the desktop layer. It does not rely on external audio files; instead, it uses 44 Web Audio synthesized sound effects and drives the NERV synchronization rate HUD in real time based on DSH’s shell.overlay props and the sessions service.
Core Features¶
-
Chibi Desktop Pet and Rendering Layer
The desktop pet is registered inshell.overlay, and its rendered content is projected viareact-dom’screatePortaltodocument.body > div.eva01-portal. The container setspointer-events:none, the pet body setspointer-events:auto, and the z-index is set to 60. This ensures the desktop pet remains above persistent panels (such as the sidebar) while staying below modal UI elements (such as error popups). -
NERV Synchronization Rate HUD
The HUD state is driven by the current session’sConversationSnapshotand supports six moods with corresponding synchronization-rate target values:IDLE: Synchronization rate 60%ACTIVE: Synchronization rate 88% (current session or any running session exists)STANDBY: Synchronization rate 71% (pendingInteractionexists)OPERATE: Synchronization rate 94% (a tool call is currently being executed)ALERT: Synchronization rate 33% (a new agent error appears)BERSERK: Synchronization rate 400% (triggered by double-click)
-
26 Discrete Actions
The plugin includes 26 built-in discrete actions, including wave, nod, deny, look, stretch, hop, walk, stomp, charge, roar, salute, shiver, slash, unbind, guard, shutdown, turn, crouch, scan, tapcore, tiptoe, rebound, and others. Action priorities are mutually exclusive and are triggered based on mood gating and a priority table. -
Web Audio Synthesized Sound Effects
Sound effects are synthesized in real time using oscillators and a shared white-noise buffer, with no audio file dependencies. It supports 44 sound-effect kinds, such asprog(vibrating sword),jaw(remove mouth clasp), ands2(S² Organs). -
Berserk Mode
Double-clicking the desktop pet triggers an 8-second Berserk mode, featuring wind-up charging, roaring, red eyes, violent shaking, a red AT Field, and a visual synchronization-rate feedback of 400%.
Installation and Activation¶
The installation command is as follows:
dsh plugin --profile web add link:E:/DSH/plugins/eva-unit01
This command appends the package name to the profile’s package.json under dsh.profile.bundles. After changing the bundle list, DSH must be restarted for the change to take effect.
Typical Usage¶
- Movement: Press and drag the desktop pet; movement is constrained within the window. After the window is resized, it automatically clamps back into the viewport. Crossing the screen midline mirrors it as a whole.
- Interaction:
- Single click: triggers a random line + the unit rebound + blip, with a 34% probability of nodding.
- Double click: triggers an 8-second Berserk mode.
- Sound Control: Hover over the
♪in the top-right corner to toggle sound on/off. - Collection: Hover over the
–in the top-right corner to collect purple spheres. - Debug Trigger: In the browser console, call
window.__eva01.play('hop')to trigger a specified action.
Technical Implementation Details¶
- State Source: The mood state does not depend on host events; instead, it directly subscribes to the
sessionsservice to obtain theConversationSnapshot, ensuring counts are not lost after a page refresh and allowing it to display the currently executing tool name. - Asset Embedding: The unit is generated by slicing reference images into 16 layers of data URIs; the eyes and umbilical cable are retained as vector drawings.
- Dependency: The plugin depends on the
@deepseek-ai/cordispeer dependency.
Applicable Scenarios and Cautions¶
This plugin is suitable for developers who want real-time status feedback and a desktop-level interactive experience in the DSH Web GUI. When using it, note the following:
* The plugin runs with the permissions of the current DSH process. Check the source code and license (MIT) before installation.
* It depends on the shell.overlay and sessions services provided by the host environment.
* Sound effects are synthesized in real time and silently fall back if the browser does not support them.