mira_live2d

mira_live2d

Enables DSH chat interfaces to display a draggable/zoomable Live2D mascot with TTS speech, expression/model/motion switching, and mood-based expression changes via MCP tools.

Category
访问服务器

README

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. 在 profile 里登记

在 ~/.dsh/profiles/web/cordis.patch.yml 的 insert 列表追加:

- 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

刷新页面后看板娘出现在对话界面右下角。

模型

模型放 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 key 不回传明文)

表情:互斥与叠加

  • 默认 mira_set_expression(name) 为互斥替换:新表情会淡出上一个表情。
  • mira_set_expression(name, stack=true) 为叠加开关:把该表情加入叠加栈,可与当前互斥表情、其它叠加表情并存(依赖 exp3.json 的 Blend:Add 加算)。
  • 右键 / 长按菜单里的表情项一律是叠加开关(✓ 表示已开启),点一次开、再点一次关。
  • mira_set_expression("")(空串)恢复默认:清空互斥表情 + 全部叠加表情。

配置项

全部可选,默认值见 lib/index.js 的 DEFAULTS:

键 默认 说明
enabled true 总开关
model '' 初始模型(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 provider 默认 接口基地址
tts.key '' API Key(字面量)
tts.keyEnv '' 存 API Key 的环境变量名
tts.model / tts.voice provider 默认 模型 / 音色

思考 / 等待表情如何触发

  • 模型开始生成(agent 进入 running)→ mood: thinking
  • 模型调用 ask_user_question 后 → mood: awaiting
  • 模型结束本轮(agent 回到 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。

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选