Skip to main content
Glama

mira_live2d · Plugin de mascota para DSH

Porta xhqm-live2d (plugin de WordPress) como plugin nativo de DSH: la mascota aparece como capa flotante en la interfaz de conversación; el modelo puede hablar, cambiar de expresión, de modelo y de acción mediante herramientas MCP, y cambia automáticamente de expresión según «pensando / esperando confirmación / inactivo».

Instalación (cualquier perfil web de DSH)

Este plugin es un paquete ESM puro sin dependencias: el lado del host solo utiliza los módulos integrados de Node.js, y la librería de ejecución del lado del navegador ya está empaquetada en assets/lib/.

1. Instalar el paquete

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

También se puede clonar e instalar desde una ruta local:

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

2. Registrarlo en el perfil

Añade a la lista insert de ~/.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 填字面量(仅本机私有配置)

La clave se configura mediante tts.keyEnv (nombre de variable de entorno) o tts.key (solo en el archivo de configuración privado local). No la confirmes en el repositorio.

3. Reiniciar

dsh web

Tras actualizar la página, la mascota aparece en la esquina inferior derecha de la interfaz de conversación.

Related MCP server: live2d-to-agent

Modelos

Los modelos se colocan en el directorio model/, un subdirectorio por modelo; dentro del directorio debe existir *.model3.json (consulta model/README.md). mira_list_models los escanea automáticamente.

Interacción en el frontend

  • Arrastrar para mover: arrastre con el ratón / con un dedo (la posición se guarda en localStorage)

  • Zoom: rueda del ratón (escritorio) / pellizco con dos dedos (móvil), 0.25× ~ 3× (el zoom se recuerda); en móvil se escala por defecto según mobileScale

  • Menú: clic derecho (escritorio) / pulsación larga (móvil) abre el menú de expresiones / acciones

  • Superposición de expresiones: los elementos de expresión del menú son conmutadores de superposición: clic para activar/desactivar (los elementos activos se marcan con ); «Expresión por defecto» limpia todas las expresiones y superposiciones

  • Burbuja: mira_speak / mira_bubble / los avisos de pensamiento y espera se muestran aquí

Herramientas MCP (invocables por el modelo, prefijo mira_)

Herramienta

Descripción

mira_get_state

En línea o no, visibilidad, modelo/expresión/acción/frase actuales, listas de expresiones/acciones, conmutadores, configuración de pensamiento y espera, modelos disponibles para cambiar

mira_list_models

Lista todos los modelos de la carpeta model

mira_get_model_capabilities

Analiza model3.json y devuelve la lista de expresiones/acciones

mira_switch_model

Cambia el modelo mostrado

mira_set_expression

Cambia/superpone expresiones (cadena vacía restaura el valor por defecto; stack=true las superpone y coexisten)

mira_play_motion

Reproduce un grupo de movimientos

mira_speak

Síntesis de voz TTS + burbuja (hace hablar al modelo)

mira_bubble

Solo muestra la burbuja sin leer en voz alta

mira_show / mira_hide

Mostrar / Ocultar

mira_set_expressions_enabled

Activa/desactiva el sistema de expresiones

mira_set_animations_enabled

Activa/desactiva la reproducción de movimientos

mira_set_mood

Establece manualmente thinking / awaiting / idle

mira_set_persona

Configura las expresiones de pensamiento/espera, la burbuja y el retardo de limpieza en inactividad

mira_get_config

Lee la configuración actual (no devuelve la clave TTS en texto plano)

Expresiones: exclusión mutua y superposición

  • Por defecto, mira_set_expression(name) es un reemplazo exclusivo: la nueva expresión desvanece la anterior.

  • mira_set_expression(name, stack=true) es un conmutador de superposición: añade la expresión a la pila de superposición y puede coexistir con la expresión exclusiva actual y con otras expresiones superpuestas (depende de la suma aditiva Blend:Add de exp3.json).

  • Los elementos de expresión del menú de clic derecho / pulsación larga son siempre conmutadores de superposición ( indica activado); un clic los activa y otro clic los desactiva.

  • mira_set_expression("") (cadena vacía) restaura el valor por defecto: limpia la expresión exclusiva + todas las expresiones superpuestas.

Opciones de configuración

Todas son opcionales; los valores predeterminados se encuentran en DEFAULTS de lib/index.js:

Clave

Predeterminado

Descripción

enabled

true

Interruptor general

model

''

Modelo inicial (nombre de directorio de model)

modelsDir

model/ del plugin

Anulación del directorio de modelos

canvas.w/h

480/630

Resolución interna del lienzo

position

right

left / right inicial

mobileScale

55

Porcentaje de escala en el móvil

showHint

true

Mostrar sugerencias de uso la primera vez

pollIntervalMs

1500

Intervalo de sondeo de comandos

persona.thinking.{expression,bubble}

''

Expresión/burbuja al pensar (vacío por defecto)

persona.awaiting.{expression,bubble}

''

Expresión/burbuja al esperar confirmación (vacío por defecto)

persona.idleClearMs

3200

Retardo para borrar la expresión tras la inactividad

tts.enabled

false

Interruptor de TTS

tts.provider

openai

openai / alibaba

tts.base

predeterminado del proveedor

URL base de la API

tts.key

''

Clave de API (literal)

tts.keyEnv

''

Variable de entorno que almacena la clave de API

tts.model / tts.voice

predeterminado del proveedor

Modelo / voz

Cómo se activan las expresiones de pensamiento / espera

  • Cuando el modelo empieza a generar (el agente entra en running) → mood: thinking

  • Después de que el modelo llame a ask_user_questionmood: awaiting

  • Cuando el modelo termina la ronda (el agente vuelve a idle) → mood: idle; tras idleClearMs se restaura la expresión por defecto

  • También se puede establecer manualmente con mira_set_mood

Componentes de terceros

assets/lib/ incluye PixiJS (MIT), pixi-live2d-display (MIT) y Live2D Cubism Core (propietario, Live2D Software License Agreement). El texto completo de los derechos de autor y las licencias de cada componente se encuentra en 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