READMESource: main@ebdb2aa1
dsh-dstuber · Live2D 桌宠 for DSH
一个运行在 Windows 桌面的 Live2D 桌宠插件,与 DeepSeek Harness 深度联动:它会看着 DSH 干活、碎碎念、在你会话里插话,也会用本地语音把回答念出来。
- 桌面:透明置顶的 Live2D 窗口,可拖动、双击换表情、右键打开设置
- 表情:16 种情绪 + 模型自带表情 + 自定义标签,逐句跟随语气切换
- 口型:音节级口型同步(10ms 包络,不是整句开合)
- 语音:Edge TTS 开箱即用,或本地 GPT-SoVITS 角色音色(设置里一键启停)
- 联动:DSH 主会话的消息、工作进度、答案都能推到桌宠身上
快速安装
环境要求
| 项目 | 要求 |
|---|---|
| 系统 | Windows 10 / 11(x64) |
| DSH | Web 版(dsh web)或桌面端(DSH NEXT)均可 |
| Node.js | ≥ 22.19(DSH 运行环境自带) |
| Python | 3.10+,仅本地语音(GPT-SoVITS / Edge TTS)需要 |
安装步骤
方式 A:从 npm 安装(推荐)
dsh plugin --profile web add dsh-dstuber
- 桌面端(DSH NEXT):在「插件管理」页搜索
dsh-dstuber安装,或执行dsh plugin --profile desktop add dsh-dstuber,安装后重启桌面端。 - 安装完重启 DSH 生效。
方式 B:离线包安装
从 Releases 下载 dsh-dstuber-v0.1.0.zip 解压:
- 把解压出的
dsh-dstuber目录放进 DSH 插件目录(或通过插件管理器选择该目录安装); - 桌面端用户:安装到桌面端独立 profile(
~/.dsh/profiles/desktop)后重启桌面端。
方式 C:从源码安装(clone 本仓库)
# 1. clone 仓库
git clone https://github.com/T-MS-Reyes/dsh-DSTuber.git
cd dsh-DSTuber
# 2. 安装 Node 依赖
npm install
# 3. 构建桌面壳(仓库不含编译好的 exe,必须本地构建一次)
# 需要 Rust 工具链:https://rustup.rs
powershell -NoProfile -ExecutionPolicy Bypass -File scripts/build-shell.ps1 -Release
# 4. 安装到 DSH(把路径换成你实际 clone 的目录)
dsh plugin --profile web add file:D:/path/to/dsh-DSTuber
说明:
- 桌面壳(
shell/)是 Rust/Tauri 项目,仓库不提交target/编译产物,所以必须执行第 3 步生成dsh-dstuber-shell.exe; - 没有 Rust 工具链时,建议改用方式 A(npm 安装,包内已含编译好的 exe);
- 内置模型在
dev/live2d/,随仓库提供,无需另外下载。
通用步骤
- 启用插件:打开 DSH → 设置 → 内置插件 → 桌宠,确认已启用。
- 首次启动:DSH 启动时会自动拉起桌面壳,桌宠出现在屏幕右下角。
- 若未出现,在插件卡片点「启动桌宠」;或在设置 → 常规确认「DSH 启动时自动启动桌宠」已勾选。
- 桌面端若提示外部访问被拒绝,请在桌面端设置中开启「浏览器访问」。
- (可选)配置语音:设置 → 语音 → 选择引擎:
- Edge TTS:默认,无需配置;
- GPT-SoVITS:填好本地安装路径后点「启动服务」,等状态变为「运行中」即可。
- (可选)切换模型:设置 → 模型 → 管理模型,内置「DS鲸鱼娘(全身)」与「DS鲸鱼娘(桌面Q版)」两套模型,可上传自己的 Live2D 模型。
数据与卸载
- 所有配置、模型、语音数据都在插件目录的
.webview2/下(profiles/、live2d/、voice.json、display.json等)。 - 卸载插件不会自动删除这些数据;删除整个插件目录即可彻底清理。
- 插件自身的设置页与 DSH 设置页共用同一份配置,改哪边都生效。
功能介绍
1. 桌面桌宠
- 透明置顶窗口:无边框、不占任务栏;默认始终浮在其他窗口上方(可在常规设置关闭「在最上层显示」)。
- 拖动:按住左键拖动;右键打开设置窗口。
- 双击换表情:双击模型随机换一个模型自带表情(可在设置 → 常规关闭)。
- 显示范围:半身(头+肩,口型更清楚)/ 全身。
- 大小:60% ~ 140%,窗口和模型一起缩放(双击数值可输入精确整数)。
- 减少动态:关闭眨眼、呼吸、张望等空闲动作。
2. 表情系统
- 16 种基础情绪:开心、害羞、生气、难过、惊讶、担心、得意、调皮、尴尬、嘟嘴、晕、专注、好奇、恼火、困、平静。
- 模型自带表情:自动识别模型的表情文件(如爱心眼、吐舌、脸红、星星眼),可在设置 → 模型 → 表情映射里指定每个表情的情绪含义。
- 自定义标签:在表情映射下拉里选「自定义标签…」,输入任意标签名(如「打瞌睡」),保存后由默认模型自动分析成情绪配方;桌宠说话时会按内容使用这些标签。
- 逐句表情:对话中每句话前带
[happy]之类的标签,表情随句子切换,整句结束后约 1.7 秒淡出。 - 双击随机表情:见上。
3. 口型同步
- 语音播放时,嘴型按音节级包络驱动(每 10ms 一个采样),说到哪个字张到哪个程度,不再是「整句一直张着」。
- 无语音时嘴保持闭合。
4. 语音
- Edge TTS:内置,免配置,默认音色
zh-CN-XiaoyiNeural,可调语速/音调。 - GPT-SoVITS:本地角色音色,在设置 → 语音填好安装目录后:
- 点「启动服务」→ 自动处理可写 TEMP、检测端口、等待就绪(约 30 秒);
- 点「停止服务」或退出桌宠时自动停止,不残留进程。
- 引擎管理:设置 → 语音顶部显示两个引擎的可用状态(是否安装、权重/参考音是否齐全),可一键切换。
- 音量:独立播放音量。
5. 碎碎念
- 桌宠在 DSH 工作时会自言自语(如「这个报错有点眼熟…」),碎碎念也会走语音和表情。
- 设置 → 语音可控制碎碎念朗读范围(不读 / 只读重要 / 全部)。
6. 与 DSH 的联动
- 主会话消息:你在 DSH 输入框里打的闲聊,桌宠也会接话(工作指令照旧交给 DSH)。
- 工作进度:工具调用、报错、完成时桌宠会更新状态和表情。
- 字幕窗:可把 DSH 的回复显示在桌宠旁边的字幕窗口(半透明、可调大小/位置/吸附)。
- 对话输入条:从桌宠旁边的输入条直接对 DSH 说话。
- 页面浮层:可选在 DSH 网页右下角显示桌宠(默认关闭)。
7. 模型管理
- 内置模型:全身(DS鲸鱼娘)、桌面Q版(DS鲸鱼娘),均带完整表情映射默认配置。
- 上传模型:支持标准 Cubism 4 模型目录(
.model3.json),上传后自动适配(识别参数、表情、动作、口型)。 - 表情映射:15 / 44 个表情可逐项指定含义(情绪 / 嘴型 / 装饰 / 忽略 / 自定义标签)。
- 动作(motion):模型自带
.motion3.json时自动播放待机动作、说话时播 Talk 组、随机播放其他组;没有 motion 时使用程序化待机(呼吸、眼神、张望)。
8. 设置页
dsh-dstuber 自带独立设置窗口(桌宠右键 / 托盘打开),与 DSH 设置页等价:
| 页面 | 内容 |
|---|---|
| 常规 | 模型、启动、显示范围、大小、动态、双击换表情、在最上层显示 |
| 字幕 | 宽度/高度/字体/背景透明度 |
| 对话 | 对话条宽度、发送方式、历史 |
| 语音 | 引擎管理、GSV 启停、Edge 音色/语速/音调、音量 |
| 模型 | 模型切换/上传/适配、表情映射、自定义标签 |
9. 性能
- 语音 worker 按需启动,退出桌宠时释放;
- 事件流已降频(口型包络 + 4Hz 兜底),长时间运行内存稳定;
- 窗口位置记忆、配置持久化,重启 DSH 后恢复。
已知限制
- Edge TTS 需要联网;离线环境请使用 GPT-SoVITS。
- GPT-SoVITS 需要自行安装(插件不打包模型,只负责启动和停止)。
- 模型版权归原作者所有,内置模型仅用于演示。
鸣谢与来源
本项目的角色资产来自开源社区创作者,版权归原作者所有,本项目仅作集成与演示使用:
| 资产 | 来源 |
|---|---|
| 鲸鱼娘人设原文 | linsport/dsh-whale-persona |
| Q版大肥鱼 Live2D 模型 | 【大肥鱼!丨免费Live2d模型】(B站视频页含作者与授权说明) |
| 大肥鱼全身 Live2D 模型 | 【【免费Live2D模型】大肥鱼/ds娘】(B站视频页含作者与授权说明) |
使用前请阅读各来源页面的授权条款。如原作者要求署名、禁止商用或需二次授权,请遵守其要求;如需商用,请先联系原作者获得许可。
许可证
- 插件代码:MIT License(见 LICENSE)
- 角色资产(人设、Live2D 模型、GSV 音色):版权归各原作者,遵循其原始授权条款,不在 MIT 许可范围内
版本
- 当前版本:
0.1.x(详情见package.json) - 配置与数据格式可能随版本升级调整,升级前建议备份
.webview2/。
No comments yet. Be the first to write one.