Skip to main content
Glama

mira_live2d · плагин-маскот для DSH

Портирование xhqm-live2d (плагин WordPress) в нативный плагин DSH: маскот появляется в виде плавающего окна интерфейса диалога. Модель может говорить, менять выражение лица, переключать модели и действия через инструменты MCP, а также автоматически переключать выражения в зависимости от состояния «размышление / ожидание подтверждения / простой».

Установка (любой DSH web profile)

Пакет представляет собой независимый чистый ESM-модуль: на стороне хоста используются только встроенные модули Node, а клиентская библиотека для браузера включена в assets/lib/.

1. Установка пакета

dsh plugin --profile web add github:xhqm-xyz/mira_live2d

Также можно клонировать репозиторий и установить по локальному пути:

git clone https://github.com/xhqm-xyz/mira_live2d.git
dsh plugin --profile web add ./mira_live2d

2. Регистрация в профиле

Добавьте в список insert в ~/.dsh/profiles/web/cordis.patch.yml:

- id: mira_live2d
  name: 'mira_live2d'
  config:
    model: StellaMira          # 初始模型(model 目录名)
    position: right
    tts:
      enabled: false
      provider: openai         # 或 alibaba;base 可覆盖为任意 OpenAI 兼容端点
      keyEnv: 'OPENAI_API_KEY' # 建议用环境变量;或用 key 填字面量(仅本机私有配置)

Для ключей используйте tts.keyEnv (имя переменной окружения) или tts.key (только в локальном приватном конфигурационном файле). Никогда не сохраняйте их в репозиторий.

3. Перезапуск

dsh web

После обновления страницы маскот появится в правом нижнем углу окна диалога.

Related MCP server: live2d-to-agent

Модели

Модели размещаются в каталоге model/, каждая модель — в отдельной подпапке, которая должна содержать файл *.model3.json (см. model/README.md). mira_list_models сканирует автоматически.

Взаимодействие с интерфейсом

  • Перетаскивание: перетаскивание мышью / одним пальцем (позиция запоминается в localStorage)

  • Масштабирование: колесо мыши (ПК) / жест сжатия двумя пальцами (мобильные устройства), от 0,25× до 3× (масштаб запоминается); на мобильных по умолчанию масштабируется в соответствии с mobileScale

  • Меню: правый клик (ПК) / долгое нажатие (мобильные) открывает меню выражений / действий

  • Наложение выражений: пункты выражений в меню — это переключатели наложения, нажмите, чтобы включить/выключить (активные отмечены ); «Выражение по умолчанию» очищает все выражения и наложения

  • Пузырь: mira_speak / mira_bubble / подсказки о размышлении отображаются здесь

Инструменты MCP (вызываются моделью, префикс mira_)

Инструмент

Описание

mira_get_state

Онлайн-статус, видимость, текущая модель/выражение/действие/фраза, списки выражений/действий, переключатели, конфигурация размышления/ожидания, доступные для переключения модели

mira_list_models

Список всех моделей в папке model

mira_get_model_capabilities

Анализирует model3.json и возвращает список выражений/действий

mira_switch_model

Переключить отображаемую модель

mira_set_expression

Переключить/наложить выражение (пустая строка возвращает значение по умолчанию; stack=true для наложения)

mira_play_motion

Воспроизвести группу действий

mira_speak

Синтез речи TTS + пузырь (заставить модель говорить)

mira_bubble

Показать только пузырь без озвучки

mira_show / mira_hide

Показать / скрыть

mira_set_expressions_enabled

Включить/выключить систему выражений

mira_set_animations_enabled

Включить/выключить воспроизведение действий

mira_set_mood

Установить вручную thinking / awaiting / idle

mira_set_persona

Установить выражения размышления/ожидания, пузыри и задержку очистки простоя

mira_get_config

Прочитать текущую конфигурацию (ключ TTS не передаётся в открытом виде)

Выражения: взаимоисключение и наложение

  • По умолчанию mira_set_expression(name) — это взаимоисключающая замена: новое выражение плавно сменяет предыдущее.

  • mira_set_expression(name, stack=true) — это переключатель наложения: добавляет выражение в стек наложения, может сосуществовать с текущим взаимоисключающим выражением и другими наложенными выражениями (зависит от аддитивного смешивания Blend:Add в exp3.json).

  • Пункты выражений в меню правого клика / долгого нажатия всегда являются переключателями наложения ( означает включено): нажмите один раз, чтобы включить, ещё раз — чтобы выключить.

  • mira_set_expression("") (пустая строка) восстанавливает значение по умолчанию: очищает взаимоисключающее выражение и все наложенные выражения.

Параметры конфигурации

Все параметры необязательны, значения по умолчанию см. в DEFAULTS в lib/index.js:

Ключ

По умолчанию

Описание

enabled

true

Главный переключатель

model

''

Начальная модель (имя каталога модели)

modelsDir

model/ плагина

Переопределение каталога моделей

canvas.w/h

480/630

Внутреннее разрешение холста

position

right

Начальное left / right

mobileScale

55

Процент масштабирования на мобильных

showHint

true

Показывать подсказку при первом запуске

pollIntervalMs

1500

Интервал опроса команд

persona.thinking.{expression,bubble}

''

Выражение/пузырь при размышлении (по умолчанию пусто)

persona.awaiting.{expression,bubble}

''

Выражение/пузырь при ожидании подтверждения (по умолчанию пусто)

persona.idleClearMs

3200

Задержка очистки выражения после простоя

tts.enabled

false

Переключатель TTS

tts.provider

openai

openai / alibaba

tts.base

по умолч. провайдера

Базовый адрес API

tts.key

''

API-ключ (литерал)

tts.keyEnv

''

Имя переменной окружения с API-ключом

tts.model / tts.voice

по умолч. провайдера

Модель / голос

Как запускаются выражения размышления / ожидания

  • Модель начинает генерацию (агент переходит в running) → mood: thinking

  • Модель вызывает ask_user_questionmood: awaiting

  • Модель завершает текущий цикл (агент возвращается в idle) → mood: idle, через idleClearMs восстанавливается выражение по умолчанию

  • Также можно установить вручную с помощью mira_set_mood

Сторонние компоненты

В assets/lib/ включены PixiJS (MIT), pixi-live2d-display (MIT) и Live2D Cubism Core (проприетарная, Live2D Software License Agreement). Авторские права и полные тексты лицензий каждого компонента см. в THIRD-PARTY-NOTICES.md.

A
license - permissive license
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • MCP server for AI dialogue using various LLM models via AceDataCloud

  • MCP server exposing the AceDataCloud Fish Audio API (text-to-speech with voice conditioning)

  • Generate, edit, and deploy immersive 3D/WebGL web projects from any MCP assistant.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/xhqm-xyz/mira_live2d'

If you have feedback or need assistance with the MCP directory API, please join our Discord server