前言¶
在 DeepSeek Harness(DSH)里做带界面的智能体时,对话和轨迹页签往往够用,但一旦你希望会话里能「看见」一个虚拟形象——LIVE2D 口型、侧边栏里的摄像头与麦克风状态、TTS 时的气泡——把这些都塞进同一个单体插件,升级和维护都会变重。自 4.0.0 起,Stella-Mira 的 muse_vtuber 把职责收窄为「画」:只负责 GUI 上的 「形象」 页签、LIVE2D 舞台与五个形象工具;摄像头、麦克风、ASR、识图与 TTS 分别交给 mira_device、mira_media。下面介绍它是什么、怎么装、怎么用。
这是什么¶
muse_vtuber 是 DSH 插件,维护者为 Stella-Mira,在 SkillHub 社区目录中归类为 趣味换装。当前 package 版本为 4.2.0(MIT 许可证,Node >=18)。
它在宿主 GUI 中注册 conversation.view(id: "muse-avatar",order: 20),在 「对话」「轨迹」之后 增加 「形象」 页签;设置里对应 「形象」 分区,只管 LIVE2D 模型与画布。插件本体 零 npm 第三方依赖,LIVE2D 运行库在 assets/lib/;宿主侧还需已注入 tools、webServer、miraMedia、miraDevice。
依赖关系可以概括为:
muse_vtuber(本插件)──→ mira_device ──→ mira_media
画 LIVE2D、右侧栏、 摄像头/麦克风/ TTS/ASR/VAD/凭据
表情/动作/模型 采集器/自动推帧 (唯一一份阿里云 key)
核心功能¶
界面¶
- 主位:LIVE2D;说话时口型跟音量;未选模型时 频谱环 兜底(麦克风频谱 / TTS 播放器频谱 / 空闲呼吸波形)。
- 右侧栏(自上而下):视频、音频、LIVE2D 表情;视频与波形数据来自
window.__miraDevice__,形象本身不直接操作硬件。 - 说话与插话:TTS 由 mira_media(工具
device_say)播放;形象只订阅say做气泡与口型,避免双重出声。语音识别插话在 mira_device 完成。
落盘与配置¶
配置与状态写在 $DSH_HOME/mira_config/muse_vtuber/:
$DSH_HOME/mira_config/muse_vtuber/
config.json 配置(schemaVersion 1),首次运行自动创建
state.json 形象实况(可见性/模型/表情/开关/动作)
model/ 可选本地模型目录
config.json 修改后下次读取即热加载;更换插件宿主代码需重启 dsh web(Loader 会缓存已解析模块)。DashScope 凭据与采集器配置已迁至 mira_media、mira_device,不再落在本目录。
常用配置项:
| 键 | 默认 | 说明 |
|---|---|---|
enabled |
true |
false 时不注册工具与路由 |
live2d.modelsDir |
"" |
留空则依次找 muse_vtuber/model、mira_live2d/model |
live2d.model |
"" |
留空则不显示模型(仅频谱环);设置页保存后立即切换 |
live2d.width / height |
420 / 560 |
画布初始 CSS 尺寸 |
legacyNode.enabled |
false |
2.x 外部 stella 节点桥,默认关闭 |
工具(5 个,4.1.0 起无账号/权限模型)¶
| 工具 | 作用 |
|---|---|
vtuber_status |
只读状态、模型清单、缺失资源,并转述声音/输入插件状态 |
vtuber_expression |
互斥表情 / 叠加开关 |
vtuber_motion |
播放动作或列清单 |
vtuber_visible |
显示/隐藏形象主体 |
vtuber_model |
切换模型;clear:true 仅留频谱环 |
旧版工具名 vtuber_say、vtuber_camera 等已分别改为 device_say、device_camera 等,预设里若仍写旧名需要一并更新。
HTTP 与事件¶
同源路由前缀 /vtuber/api/*,例如 GET /vtuber/api/bootstrap、GET /vtuber/api/events(SSE:hello / state)、GET /vtuber/api/health。TTS、ASR、识图、采集流已拆到 /media/api/*、/device/api/*。
安装与启用¶
DSH 社区目录 SkillHub 与 GitHub README 均未给出 dsh plugin add github:… 形式的 CLI;安装方式以目录页 「发送给 DeepSeek Harness 安装」 的自然语言说明为准。页面可见文案以如下句子开头(安装时请复制目录页上的完整段落,避免截断):
请安装 DSH 插件 Stella-Mira/muse_vtuber。
README 验收步骤写明需 三件套一起装好:除 muse_vtuber 外,还需 mira_device、mira_media,否则 /vtuber/api/health 里依赖未就位、侧边栏视频/音频与说话链路不完整。安装包名须与 package.json 的 name: muse_vtuber 一致,不要用别名,否则前端 dsh.client 模块可能无法加载。
插件安装位置约定为 PluginDSH/muse_vtuber。
典型用法¶
手工走通界面(README §11)¶
- 打开会议话界面,确认页签顺序为:对话、轨迹、形象。
- 进入 形象:主位为 LIVE2D 或频谱环;右侧为视频 / 音频 / 表情。
- 在输入区点 摄像头(控件属于 mira_device):侧边栏视频有画面;再关则黑屏。
- 开 麦克风 说话:波形动;停顿后出现「听到:…(已插话)」及会话中的
[感知·语音]。 - 用
device_say或 设置 · 声音 试听:形象口型、气泡与 TTS 同步。 - 设置 · 形象 选模型并保存:立即切换;留空则只显示频谱环。
智能体调形象¶
先 vtuber_status 看模型与缺失贴图;换模型用 vtuber_model;演表情 vtuber_expression、动作 vtuber_motion;需要收起主体时用 vtuber_visible。发声、开摄像头、识图等请调用 mira_media / mira_device 对应工具,而不是已删除的 vtuber_say 等旧接口。
适用场景与注意¶
适合:希望在 DSH Web GUI 里固定一块 LIVE2D 展示面、又让会话工具能程序化改表情/模型/显隐的开发者;可与同作者的 mira_device、mira_media 组成完整 VTuber 式交互。
注意:
- 插件在 当前 DSH 进程权限 下运行,安装前请自行阅读 GitHub 源码 与 MIT 许可证。
- SkillHub 为社区目录站点,与 DeepSeek / 幻方无官方从属关系;版本与说明以仓库 README、
package.json为准。 - 从 ≤3.1.0 单体升级时,README §8 列了配置与工具迁移表;迁移只读旧文件,回滚需停用三件套并启用旧版 muse_vtuber 3.1.0。
mira_device默认vision.autoIntervalMs: 0,自动识图需显式配置,避免持续消耗额度。
结尾¶
muse_vtuber 把 DSH 里的「长什么样」从「怎么听、怎么说、怎么采输入」里拆出来:形象页签、LIVE2D、五个 vtuber_* 工具与 /vtuber/api 面专注展示与状态;声音与设备交给配套插件。若要安装或跟踪更新,可看目录页 Stella-Mira/muse_vtuber 与仓库 github.com/Stella-Mira/muse_vtuber。