Foreword

During the use of DeepSeek Harness (DSH), developers can typically see commands, logs, and session results, but may not be able to intuitively determine which stage the current session is in—whether it is “thinking, working, awaiting confirmation, erroring, or completed.” dsh-live2d-companion is a Live2D monitoring panel plugin designed for DSH: after integrating with Cubism 4/5 models, it subscribes to the DSH session event stream and reflects the AI’s working status in real-time.

This plugin offers two forms: a web widget and an Electron transparent topmost desktop pet. Both share the same frontend kernel, making them suitable as a visual supplement for DSH session states.

What Is This

dsh-live2d-companion is maintained by Tisitan and is positioned as a Live2D monitoring panel and desktop pet (kannedjo) for DeepSeek Harness. It integrates Live2D characters with DSH session states to make “what the current session is doing” visible through interface feedback.

The information indicates that the license is marked as MIT, but the full content of the LICENSE file is not completely shown in the verified materials. Before use, you should still check the source code and license.

Core Features

Session State Visualization

  • Subscribes to the DSH session event stream to reflect the AI’s working status in real-time.
  • Provides an 8-state state machine and status lights, covering states such as idle, thinking, working, awaiting confirmation, error, completed, sleeping, and offline.
  • In multi-task parallel processing, each session can display an independent task light and supports aggregation with the main light.

Web Widget and Desktop Pet

  • Supports the web widget form, enabled by default.
  • Supports the Electron transparent topmost desktop pet form, disabled by default.
  • Both forms share the same frontend kernel.

Character Interaction

Supports Live2D character interaction, including:

  • Clicking
  • Head patting
  • Dragging
  • Scaling
  • Waking up
  • Global gaze following

Bubble Dialogue and Dialogue Presets

  • Supports bubble dialogue.
  • Supports editing dialogue presets.
  • The official default dialogue library is read-only.
  • User-defined dialogues can be saved separately and switched to avoid conflicts with upstream updates.

Multi-Model Support

  • Supports Cubism 4/5 models.
  • Models can be placed in the model/ directory.
  • Models can be scanned, switched, imported, and previewed via the model panel.

Game Center

The built-in game center includes:

  • Gomoku (Five-in-a-Row)
  • Chess

Supports:

  • Local engine adjudication
  • Local AI playing
  • Online LLM commentary
  • AlphaGo mode

Integration with DSH Itself

  • Zero modifications to the DSH core.
  • Mounted via the cordis patch layer.
  • Immune to DSH upgrades.

Standalone Entry

The plugin provides a standalone entry for independent operation. Even without starting DSH, you can still use partial pet rendering, the model panel, the game center, and state linkage.

Please note that the standalone version still does not include models, Cubism Core, Electron binaries, or third-party character prompts.

Installation and Activation

Prerequisites

  • DSH must be installed, and dsh web must be available.
  • Node.js version must be ≥ 18.

Installing the Plugin

In an environment where DSH is already installed, execute:

dsh plugin --profile web add github:Tisitan/dsh-live2d-companion

Adjusting the Web Widget and Pet Toggle

By default, the web widget is enabled, and the desktop pet is disabled.

To adjust, add an override line with the same ID in the following path:

$env:USERPROFILE\.dsh\profiles\web\cordis.patch.yml

For example:

- insert:
    - id: live2d-companion
      name: 'dsh-live2d-companion'
      config:
        widget: false
        pet: true

You can adjust the following configuration items via the config of live2d-companion in cordis.patch.yml:

  • widget
  • pet
  • petDir
  • model

Adding Live2D Models

Place the entire Cubism 4/5 model directory into:

public/model/<model_name>/

Then configure the model path in the patch config.

This repository does not distribute any model files. Users need to prepare their own Cubism 4/5 models and comply with their original licenses.

Downloading Cubism Core

Cubism Core is required by the license and is not included in the repository. You need to download live2dcubismcore.min.js from the official Live2D website and place it into:

public/vendor/live2dcubismcore.min.js

Enabling Electron Pet

To enable the desktop pet, enter the pet directory and install dependencies:

cd pet
npm.cmd install

Then restart DSH Web.

Typical Usage

  1. After installing the plugin, first use the default web widget to observe the DSH session status.

  2. Prepare a Cubism 4/5 model, place its entire directory into public/model/<model_name>/, and specify the model path in config.model within cordis.patch.yml.

  3. Place the live2dcubismcore.min.js downloaded from the official Live2D website into public/vendor/live2dcubismcore.min.js.

  4. If you need the desktop pet, execute the following in the pet directory:

npm.cmd install

Then restart DSH Web.

  1. Use the model panel to scan, switch, import, and preview models.

  2. Use the bubble dialogue and dialogue preset editing features to save or switch user-defined dialogue presets. The official default dialogue library remains read-only.

  3. Enter the game center to use the built-in Gomoku and Chess. You can enable local engine adjudication, local AI playing, or online LLM commentary and AlphaGo mode.

Applicable Scenarios and Notes

Who Is It For

  • Those who want to extract the DSH session status from logs and terminals and display it visually.
  • Those who need to use Live2D characters in a web widget or a desktop transparent topmost window.
  • Those who want to integrate their own Cubism 4/5 models while retaining character interaction, dialogue presets, and the model panel.
  • Those who want more intuitive feedback during waiting, thinking, working, erroring, and other stages.

Usage Limitations

  • The plugin is not tied to specific characters, but users need to prepare their own Cubism 4/5 models and comply with the models’ original licenses.
  • Cubism Core is required by the license and is not included in the repository. It must be downloaded from the official Live2D website.
  • The standalone entry does not include models, Cubism Core, Electron binaries, or third-party character prompts.
  • The official default dialogue library public/quips.json is read-only. User-defined dialogues are written to local ignore files to avoid conflicts with upstream updates.

Security and Compliance

The plugin runs with the current dsh process permissions and will be loaded in the DSH Web environment. Before installation, you should check the source code, dependencies, and licenses.

The information indicates that package.json marks the license as MIT, but the full content of the LICENSE file is not completely shown. It is recommended to refer to the actual license text in the repository.

Links

GitHub Repository: https://github.com/Tisitan/dsh-live2d-companion