dsh-voice-assistant:在 DSH 上跑 Windows 语音助手(候选 0.1.11)

前言

在 DSH 里做带麦克风的助手,难点往往不在对话模型本身,而在会话、工具权限、凭据和桌面音频能否对齐:单独写一个小程序,很容易和原生聊天记录脱节;纯 Web 页又难稳定占用设备。vb2250158 维护的 dsh-voice-assistant(工作流类插件,当前包版本 0.1.11)把 DSH 原生会话当作「大脑」,用共用 SDK 跑语音循环,用 PC 侧服务壳接住麦克风、扬声器和字幕,侧栏与可选 Web UI 只做状态与文字管理。下面按资料说明它是什么、能做什么、如何启用与构建,以及安装时要注意的边界。

这是什么

  • 名称与归属:插件名 dsh-voice-assistant,维护者 vb2250158;社区目录页见 SkillHub 条目,源码与说明见 GitHub 仓库。GitHub 星标数为 0;目录简介为「DSH assistant development candidate」。
  • 定位:README 称其为「语音助手(Windows 候选 0.1.11)」——面向 Windows 的候选实现,不是已全线验收的通用发行版。
  • 架构分工(资料原文):
  • DSH 原生会话:模型、工具、权限、聊天记录。
  • 共用 SDK:语音循环。
  • PC 服务壳:麦克风、扬声器、字幕、系统托盘。
  • 可选 Web UI:只显示状态、提交命令;关闭页面不会停止已明确开启的语音。

核心功能

侧栏文字管理与默认人设

从 DSH 侧栏打开「语音助手」即可用文字管理会话。默认预填可编辑的「大肥鱼 / DeepSeek 娘」人设,沿用 DSH 原生默认模型与预设。

语音开关与任务行为

在设置中配置识别、播报服务和音色,保存密钥,选择设备并测试,再点击「开启语音」。停止语音不会取消已受理的原生任务;用户开口打断播报时,文字内容继续保留。

凭据与普通设置

语音密钥由 DSH 原生凭据存储持有,按接口地址绑定,界面只回显配置状态。改变服务地址后,需要为新地址单独保存密钥。普通设置保存在 DSH settings。设备或服务切换时会先释放旧设备;清理未确认时禁止重新占用。

字幕与托盘

独立字幕支持字号、透明度、皮肤、拖拽、调整大小和锁定。托盘提供暂停、静音、显示/隐藏字幕、解锁和停止入口。多屏变化时,字幕会回到可见工作区。

识别与播报服务(0.1.9 候选能力)

语音设置可分别选择识别和播报服务,支持 OpenAI 兼容接口和 火山语音;各服务保留自己的地址、模型和音色,密钥按识别或播报、服务商及地址隔离。火山语音使用实时识别与双向流式播报接口,需在火山侧开通相应服务。资料注明:火山真实接口、设备播放和安装尚待验收。

对话模型来自 DSH 原生模型目录;在设置中的选择直接作用于助手会话,DSH 会在后台保存默认模型。预设在会话创建后不能通过此页面更改。

原生工具接入

实际接入五个原生管理工具:查询会话、搜索、读取状态、等待结果、向已有会话发送/继续任务。发送带有持久请求身份;已受理和已完成分开处理,不自动重发未确认任务。工具范围可限制到助手工作目录;编辑人设不会改动工具权限。

桌宠组合(可选)

桌宠适配支持 dsh-pet 0.4.5-fork.3 的显示租约协议。安装兼容版本后,在设置中选择具体桌宠,并分别控制气泡和动画;右键「开始聊天」打开同一个助手 GUI,不启动第二个会话或语音循环。未加载兼容服务时设置保持不可用,并显示已加载版本或缺失原因。0.1.5 资料提到与桌宠 0.4.5-fork.4 或后续经验证版本组合使用时,需通过 peer 检查。

安装与启用

已抓取资料 未给出 形如 dsh plugin add … 的单行官方安装命令,请勿凭插件名自行拼接。README 强调用 官方插件安装器,并建议先做固定版本安装预检:

  1. 使用独立的 Home、profile 和端口,按固定 Git 提交安装,验证通过后再在正式实例的空闲窗口切换。
  2. 保留 profile 清单、锁文件与配置恢复点;仅使用官方插件安装器,不覆盖 node_modules。
  3. Windows 进程组依赖 koffi@3.1.1。若 pnpm 返回 ERR_PNPM_IGNORED_BUILDS,在目标 profile 的 pnpm-workspace.yaml 中合并精确构建许可(禁止通配放行全部构建脚本):
allowBuilds:
  'koffi@3.1.1': true

重跑原官方安装命令,并验证 Koffi 在实际 Host 运行时可加载;仅配置许可不代表安装或设备验收成功。与桌宠组合安装时,还需核对其固定 Git 来源构建许可及实际加载的显示租约协议和包版本。

依赖版本(package.json)

插件声明的 peer 依赖包括 Core 侧 0.2.2-rc.1 系列包、@deepseek-ai/cordis 4.1.0、@deepseek-ai/schemastery 3.19.0 等;资料 0.1.5 说明预发布版本不会被跨补丁的普通 semver 下限自动包含,组合桌宠后需运行 npm run test:peers 做交集检查,官方安装器验证仍是独立步骤。

持久存储域使用 voice_assistant(0.1.2 起修复官方存储域名校验导致的 Host 导入失败;HTTP 地址和插件名不变)。

典型用法

日常使用流程

  1. 在 DSH 侧栏打开「语音助手」。
  2. 按需编辑人设与模型(预设若在会话创建后则不可在本页更改)。
  3. 打开设置:选择识别/播报服务、填写地址与音色、在凭据存储中保存密钥、选择音频设备并测试。
  4. 点击「开启语音」;通过托盘或字幕控制暂停、静音、显示与停止。
  5. 需要纯文字操作时继续在同一 GUI 管理;关闭可选 Web UI 不会自动停止已开启的语音。

从源码构建(维护者 / 进阶)

设置环境变量后执行构建(共用 SDK 0.13.1,PC 服务壳 0.3.1):

export DSH_SHARED_ASSISTANT_ROOT=<指向共享 SDK 0.13.1 的路径>
export DSH_DESKTOP_SERVICE_ROOT=<指向 PC 服务壳 0.3.1 的路径>
npm run build

构建会记录输入文件 SHA256 到 sdk-snapshot.json 与 dist/build-info.json,并复制随包音频 runtime。宿主需提供现有 Electron;默认使用当前 DSH Home 下的 electron,可在进阶设置指定路径。本插件不下载模型、不修改开机启动。

Electron 路径在设备启动前会检查:未安装、路径无效或不可读会分别提示。留空时查找当前 DSH Home 下的 electron/electron.exe;隔离 Home 可在进阶设置中指定另一处已有程序,不自动跨 Home 搜索或下载。

契约与 peer 测试(验收向)

export VOICE_TEST_DSH_PROFILE=<独立安装 profile>
npm run test:host-contract

完整 Loader 测试还需设置 VOICE_TEST_DSH_CORE 为与 profile 匹配且已构建的 Core 源码目录。桌宠 peer 检查:

export VOICE_TEST_DSH_CORE=...
export VOICE_TEST_PET_ROOT=...
npm run test:peers

资料明确:源码/构建测试通过不等于已完成真实麦克风、声学打断、字幕视觉和默认模型工具验收;详见仓库内 RESIDENT_ACCEPTANCE.md。

适用场景与注意

适合谁:已在 Windows 上使用 DSH,希望语音输入输出与原生会话、工具、凭据同一套管道,并愿意接受「候选」阶段验收边界的开发者或高级用户。

平台与范围:README 面向 Windows;Rabi 适配、远端工具、眼镜、原生实时语音模型等资料写明另行接入。

安全与权限:插件在 当前 DSH 进程权限 下运行;安装前请阅读源码与 LICENSE、THIRD_PARTY_NOTICES.md,确认许可证与第三方声明。密钥不落插件自有存储,而走 DSH 凭据与 settings。

服务边界:完整系统提示词模式的 preset 不允许通过本界面替换人设,界面会明确提示。普通 scoped persona preset 的替换、工具保留等已通过资料所述 DSH 合同验证;火山等部分能力仍标注待验收。

最近候选变更(节选):0.1.11 更新共享桌面语音服务至 0.3.1,修复停止语音时设备提前关闭的竞态;0.1.10 更新共享助手 SDK 至 0.13.1,并改进已有助手会话的加载与订阅逻辑。

结尾

dsh-voice-assistant 把语音循环和桌面能力挂在 DSH 原生会话之上:侧栏管文字与设置,服务壳管设备与字幕,可选 Web 只作轻量入口。若你要在 Windows DSH 上试语音助手候选,可先按 README 的独立 profile 预检与官方安装器流程安装,再在侧栏完成密钥与设备配置后开启语音。目录与源码:

  • https://www.skillhub.cn/plugins/vb2250158/dsh-voice-assistant
  • https://github.com/vb2250158/dsh-voice-assistant
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye