Bundle
yukino-dsh
Yukino (Yukinoshita Yukino) standalone route plugin for DSH: session tree by workspace, task-done voice alerts, no context injection into DSH.
- Source
- Sjkhx
- stars
- 4 stars
- License
- MIT
- Updated
- Updated 9 days ago
Readme
# yukino-dsh · 把雪之下雪乃接入 DSH 把「雪之下雪乃」——一个会**主动开口的 AI 语音助手**——接进 DSH(DeepSeek Harness)web 的插件仓库。 雪乃有 Live2D 形象、日语音色、人设、记忆与对话历史五位一体;既能主动发起对话(语音 / 打字皆可), 也能**监听 DSH 任务完成**:任务一跑完,自动总结并语音播报给你听。既可嵌入 DSH 右侧做陪伴面板, 也可独立打开全屏语音对话页。 - **插件本体**(`lib/`):注入 DSH web,新增 `/yukino` 路由 + 右侧基础面板,DSH 任务完成时把总结交给雪乃点评。 - **雪乃服务**(`yukino/` 子目录):完整数字人语音助手源码与素材(Python orchestrator + Live2D 前端 + 配置 + 人设 + 技能)。 - **当前版本**:0.1.0 · MIT License。 <p align="center"> <img src="yukino/yukinoDsh.png" alt="yukinoDsh 效果图" width="80%"> </p> ## 功能 - **双模式** - **基础模式**:嵌入 DSH 右侧 1/4 屏竖屏面板 —— 上部 Live2D、下部对话 + **打字输入**;面板可隐藏、可一键跳出到独立页(新窗口)。 - **完整模式**:`/yukino` 全屏路由或独立打开 `http://127.0.0.1:8000/`,语音对话。 - **语音 + 打字**:语音走麦克风(VAD→STT→LLM→TTS),打字走文本进同一会话,可混用。 - **DSH 任务完成点评**:DSH 会话跑完,插件把任务总结 POST 给 orchestrator,雪乃用日语评论(先日语后译文)。 - **项目背景注入**:`yukino/log/project_context.md` 描述项目本身,每次会话注入雪乃上下文,被问"这项目做了什么"有依据。 - **Live2D 雪乃**:Cubism 4 前端本地渲染(`avatar.backend=2dlive`),**无需后端 GPU**;待机姿势自动轮换、情绪动作、口型同步。 - **记忆与历史**:mem0 长期记忆(LLM 抽取 + qdrant 向量库)+ SQLite 对话历史(`/history` 管理页)。 ## 目录结构 ``` yukino-dsh-plugin/ ├── lib/ # DSH 插件本体(client.js 注入 / index.js 入口) ├── cordis.patch.yml # DSH profile 补丁(启用 yukino-dsh) ├── package.json # npm 包声明(DSH 发现的入口) ├── yukino/ # ★ VoxEMW 雪乃完整源码+素材(本仓库主体) │ ├── voxemw/ # Python 核心包(orchestrator / s2s 管线 / avatar) │ ├── web/ # Live2D 前端(无构建纯静态,iframe 内容源) │ ├── scripts/ # 启动/安装/工具脚本 │ ├── configs/assistant.yaml # 唯一配置(七积木选型 + 服务端口) │ ├── personas/ skills/ assets/ │ ├── docs/ # SETUP_WSL / wsl2-troubleshooting / upgrade-regression / MODEL_DOWNLOAD │ ├── tests/ # 纯逻辑单测 │ ├── requirements.txt │ └── docs/README.md # VoxEMW 自身文档 └── CLAUDE.md # 项目约定(AI 协作用) ``` ## 快速开始(WSL2,含完整语音) 环境要求:WSL2 + NVIDIA GPU(GPT-SoVITS 需 CUDA)。首次安装见 [`yukino/docs/SETUP_WSL.md`](yukino/docs/SETUP_WSL.md),之后: ```bash cd yukino bash scripts/setup_wsl.sh # 首次:建 .venv、装依赖、生成 .env.local(幂等) bash scripts/start_assistant_wsl.sh # 启动三服务:GPT-SoVITS(:8899) → s2s(:8765) → orchestrator(:8000) ``` 浏览器打开 `http://127.0.0.1:8000/`(完整页)或 `?compact=1`(紧凑面板版)。停止/状态:`start_assistant_wsl.sh stop|status`。 > orchestrator 也可在 Windows 直接跑:`python -m voxemw.avatar.orchestrator`(2dlive 前端本地渲染,无需 GPU;但完整语音仍需 WSL 的 GPT-SoVITS 与 s2s 管线)。 ## 装配 DSH 插件(可选,用于嵌入 DSH) 在 DSH profile 目录装配(需已安装 pnpm): ```bash cd <你的 profile 目录> # 例如 C:\Users\<you>\.dsh\profiles\web pnpm install # 依赖 package.json 里 file: 指向本仓库的 yukino-dsh ``` profile 的 `cordis.patch.yml` 里启用: ```yaml - id: yukino-dsh name: 'yukino-dsh' ``` 装上后 DSH web 右下角出现 ❄ 按钮,点开即基础面板;`#/yukino` 进全屏路由;任务完成自动触发雪乃点评。 > **开发注意**:DSH 读的是 `node_modules/yukino-dsh`,它是**指向本仓库的 junction**,改 `lib/` 源码实时生效,无需手动复制(浏览器强刷即可,`?rev=` 内容哈希会更新)。 ## 配置 - 七积木选型(VAD/STT/LLM/TTS/Avatar/Persona/Memory)都在 `yukino/configs/assistant.yaml`;默认 `avatar.backend=2dlive`、STT 走阿里云百炼、LLM 走 DeepSeek、TTS 走 GPT-SoVITS。 - 环境变量(`.env.local`,已 gitignore):`DEEPSEEK_API_KEY` / `DASHSCOPE_API_KEY` / `MEMORY_EMBEDDER_API_KEY`。 - 项目背景注入:自行创建 `yukino/log/project_context.md`(gitignored,不随仓库分发),描述项目本身;会话开始注入雪乃上下文,保存后重开会话生效。 - 路径约定:脚本/配置已相对化;GPT-SoVITS 安装位置用 `GPT_SOVITS_ROOT` / `GPT_SOVITS_PY` 覆盖。 ## 文档 - [`yukino/docs/SETUP_WSL.md`](yukino/docs/SETUP_WSL.md) — 新用户完整安装指南 - [`yukino/docs/wsl2-troubleshooting.md`](yukino/docs/wsl2-troubleshooting.md) — WSL2 部署踩坑 - [`yukino/docs/upgrade-regression.md`](yukino/docs/upgrade-regression.md) — 上游 speech-to-speech 升级回归 - [`yukino/docs/MODEL_DOWNLOAD.md`](yukino/docs/MODEL_DOWNLOAD.md) — GPT-SoVITS 权重下载放置 ## 致谢 - 感谢 B站 up主 [嘘暖liu](https://space.bilibili.com/1687568228) 提供的雪乃 Live2D 模型 - 感谢 [AI-Hobbyist](https://www.ai-hobbyist.com/forum.php?mod=viewthread&tid=159980&page=1&mobile=no) 提供的雪乃 GPT-SoVITS 语音权重 ## License MIT。雪乃形象与音色素材来自用户授权渠道,见 `yukino/LICENSE` 与各素材目录说明;GPT-SoVITS 权重按 `yukino/docs/MODEL_DOWNLOAD.md` 的授权渠道获取。
Install
dsh plugin --profile web add github:Sjkhx/yukinoDigital
Profile: web
With the hub plugin installed, ask your agent to install it by name — it resolves the same plan shown here.
dsh plugin --profile web add github:stvlynn/dsh.fish#path:packages/dsh-plugin-hub
install yukino-dsh from the hub
- This source has no pinned commit, so a later push upstream changes what installs. Prefer pinning a commit.