mira_live2d
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_live2d2. Регистрация в профиле
Добавьте в список 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_)
Инструмент | Описание |
| Онлайн-статус, видимость, текущая модель/выражение/действие/фраза, списки выражений/действий, переключатели, конфигурация размышления/ожидания, доступные для переключения модели |
| Список всех моделей в папке model |
| Анализирует model3.json и возвращает список выражений/действий |
| Переключить отображаемую модель |
| Переключить/наложить выражение (пустая строка возвращает значение по умолчанию; |
| Воспроизвести группу действий |
| Синтез речи TTS + пузырь (заставить модель говорить) |
| Показать только пузырь без озвучки |
| Показать / скрыть |
| Включить/выключить систему выражений |
| Включить/выключить воспроизведение действий |
| Установить вручную thinking / awaiting / idle |
| Установить выражения размышления/ожидания, пузыри и задержку очистки простоя |
| Прочитать текущую конфигурацию (ключ TTS не передаётся в открытом виде) |
Выражения: взаимоисключение и наложение
По умолчанию
mira_set_expression(name)— это взаимоисключающая замена: новое выражение плавно сменяет предыдущее.mira_set_expression(name, stack=true)— это переключатель наложения: добавляет выражение в стек наложения, может сосуществовать с текущим взаимоисключающим выражением и другими наложенными выражениями (зависит от аддитивного смешиванияBlend:Addв exp3.json).Пункты выражений в меню правого клика / долгого нажатия всегда являются переключателями наложения (
✓означает включено): нажмите один раз, чтобы включить, ещё раз — чтобы выключить.mira_set_expression("")(пустая строка) восстанавливает значение по умолчанию: очищает взаимоисключающее выражение и все наложенные выражения.
Параметры конфигурации
Все параметры необязательны, значения по умолчанию см. в DEFAULTS в lib/index.js:
Ключ | По умолчанию | Описание |
|
| Главный переключатель |
|
| Начальная модель (имя каталога модели) |
|
| Переопределение каталога моделей |
|
| Внутреннее разрешение холста |
|
| Начальное |
|
| Процент масштабирования на мобильных |
|
| Показывать подсказку при первом запуске |
|
| Интервал опроса команд |
|
| Выражение/пузырь при размышлении (по умолчанию пусто) |
|
| Выражение/пузырь при ожидании подтверждения (по умолчанию пусто) |
|
| Задержка очистки выражения после простоя |
|
| Переключатель TTS |
|
|
|
| по умолч. провайдера | Базовый адрес API |
|
| API-ключ (литерал) |
|
| Имя переменной окружения с API-ключом |
| по умолч. провайдера | Модель / голос |
Как запускаются выражения размышления / ожидания
Модель начинает генерацию (агент переходит в
running) →mood: thinkingМодель вызывает
ask_user_question→mood: 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.
This server cannot be deployed
Maintenance
Related MCP Connectors
AI voice generation: text-to-speech and voice cloning from any MCP client.
MCP server for AI dialogue using various LLM models via AceDataCloud
Create AI Characters and generate their DM and comment replies from any MCP client.
Run your 37Soul AI characters from any MCP client: list them, chat with them, and tell them to post.
Related MCP Servers
AlicenseNot gradedqualityCmaintenanceEnables chatting with an AI waifu character through MCP tools, with user management and dialog history.4MIT No Attribution- AlicenseNot gradedqualityBmaintenanceEnables AI agents to control a Live2D desktop pet's expressions and actions via MCP protocol.MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to show, animate, and control a VRM character on the desktop, including posing and motion installation via MCP tools.1MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to control a desktop virtual character (VRM) by playing animations, showing/hiding the character, and checking runtime status through the MCP protocol.867,021 npm2MIT