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 installed
Maintenance
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
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 gradedqualityDmaintenanceAn MCP server that enables AI assistants to switch character portraits (2D images or VRM 3D models) based on emotion, with support for multiple transitions and real-time updates via WebSocket.201AGPL 3.0
- AlicenseNot gradedqualityDmaintenanceEnables text-to-speech conversion using the Kokoro TTS model, running fully locally with native JavaScript. Supports multiple voices, speed control, and integrates with MCP-compatible clients.14MIT
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.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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