dsh-mimo-tts:在 DeepSeek Harness 里接入小米 MiMo 语音合成

前言

在 DeepSeek Harness(DSH)里跑智能体时,助手回答往往很长。只靠眼读不利于复核长文档式输出,也不方便在别的事上分身时「听一遍结论」。常见做法是另开 TTS 服务或手工复制到外部工具,和对话界面脱节。

dsh-mimo-tts 把小米 MiMo TTS(当前官方标为限时免费的 mimo-v2.5-tts 等模型)接到 DSH:既注册模型可调用的 mimo_tts 工具把文字落成本地音频,又在 Web 界面的已定稿回答旁提供播报与自动播报,并附带侧边栏「语音设置」。下面介绍插件定位、安装配置与两种入口的用法。

这是什么

维护者 Hao0311 在 GitHub 开源的 DSH 插件,目录分类为「模型推理」。一句话定位:在 DSH Web profile 下,用小米 MiMo OpenAI 兼容 TTS 接口,实现「工具写文件 + 界面点读 / 自动读」。

仓库地址:https://github.com/Hao0311/dsh-mimo-tts
社区目录页:https://www.skillhub.cn/plugins/Hao0311/dsh-mimo-tts

核心功能

经 README 核实,能力分两条线:

  1. 模型工具 mimo_tts:模型传入待读文本,插件在宿主侧调用 MiMo,把合成结果写到本地(默认 wav,可选 mp3),返回文件绝对路径、字节数,以及 wav 可算的时长等。
  2. Web GUI:每条已定稿助手回答的动作行(在官方「复制」之后)增加播报控件;可单条播放或停止,下拉可开「自动播报新回答」并选音色。侧边栏另有 「语音设置」 面板:选模型、内置音色、文字描述定制音色或本机样本克隆、自动播报、试听输入,无需先发送聊天消息。

此外支持三种合成模型(音色来源不同):内置九音色、mimo-v2.5-tts-voicedesign(voiceDesign 描述)、mimo-v2.5-tts-voiceclone(voiceSamplePath 本机 mp3/wav,≤10MB)。计费口径与 MiMo 大模型共用 XIAOMI_API_KEY;TTS 目前官方标为限时免费。

安装与启用

插件面向 Web profile,依赖宿主的 connection.fetch 注册 API;headless 下缺少 connection 服务时不加载。安装前建议自行查阅仓库源码与 MIT 许可证,并确认本机 DSH 进程权限与将要使用的 API Key 归属。

在 Web profile 下从 GitHub 安装(README 原文命令):

dsh plugin --profile web add github:Hao0311/dsh-mimo-tts

不要用 dsh plugin add dsh-mimo-tts 直装:npm 上无对应包(404),且与同包名的 lengmodkx/dsh-mimo-tts 不能并存。

本地开发时可链到目录(示例路径以 README 为准):

dsh plugin --profile web add link:D:/Workspaces/DSH/plugins/dsh-mimo-tts

package.json 要求 DSH 引擎 >=0.1.7-0,当前插件版本为 0.3.0。

配置 API Key 与环境变量

需要小米 MiMo API Key。插件按以下顺序读取 XIAOMI_API_KEY:

  1. DSH 凭据服务(设置页或 ~/.dsh/.credentials.yaml)
  2. 进程环境变量 XIAOMI_API_KEY
  3. $DSH_HOME/.credentials.yaml

可选环境变量:

变量 默认 含义
MIMO_TTS_MODEL mimo-v2.5-tts 模型 id;换成 voicedesign / voiceclone 可解锁自定义音色(流式未在工具形态开放)
MIMO_TTS_BASE https://api.xiaomimimo.com/v1 OpenAI 兼容端点
DSH_MIMO_TTS_DIR $DSH_HOME/tts 工具生成的音频落盘目录

界面播报走宿主 /api/mimo-tts/speak,API Key 不进入浏览器。

典型用法

智能体调用 mimo_tts

在对话中让模型使用工具时,参数如下(摘自 README):

参数 必填 说明
text 是 待朗读文字,上限 4000 字
voice 否 mimo_default / 冰糖 / 茉莉 / 苏打 / 白桦 / Mia / Chloe / Milo / Dean
style 否 自然语言风格提示,如「温柔、放慢语速」「新闻播报」
format 否 wav(默认,可算时长)/ mp3

需要在工作区保留音频文件、或要在后续流程里引用路径时,应走工具而非界面播放(界面只播放、不落盘)。

Web 界面播报与侧边栏

  1. 打开 DSH Web 客户端,在已定稿助手消息动作行点击播报;再点停止。
  2. 通过动作行旁 ▾ 打开自动播报,或到侧边栏「语音设置」统一配置模型、音色、描述/样本路径与试听。
  3. 自动播报仅对开启之后新结束的回答生效,不会在打开页面时朗读历史消息。

偏好存在浏览器 localStorage(dsh-mimo-tts:prefs),换设备不跟随。

宿主侧路由(供对接或排错参考):

路由 方法 用途
/api/mimo-tts/speak POST {text, voice?, style?, format?} → 音频字节
/api/mimo-tts/config GET 可选音色、默认音色、字数上限、模型 id

适用场景与注意

适合谁:主要在 DSH Web 里开发或日常使用智能体、希望长回答可听复核,或需要模型把解说稿合成到 $DSH_HOME/tts 等工作流目录的开发者。

兼容性:浏览器侧依赖官方 conversation.chat.assistant-actions Slot(@deepseek-ai/dsh-client-ui-chat);宿主升级若改掉 Slot 名,按钮可能消失,工具仍可用。正文优先从 Chat 快照按 messageId 取,取不到时退化到 DOM 近似提取,极少数布局下可能多读或少读一段。

已知限制(README 原文):

  • 非流式合成,长文本需等整段完成才播放;超长请分段;音频长度还受模型与 120s 超时约束。
  • 仅 Web profile 完整可用。
  • MiMo TTS 免费期结束后按平台账单计费,需关注官方政策。

DSH 生态主张「一切皆插件」;SkillHub 等社区目录为独立站点,与 DeepSeek / 幻方无官方从属关系。安装第三方插件等同于在本机 DSH 进程内执行其代码,请自行审阅源码后再用于生产环境。

结尾

dsh-mimo-tts 把 MiMo TTS 收成「模型写文件 + Web 点读 / 自动读 + 侧边栏语音设置」一套能力,减少把回答搬到外部 TTS 的步骤。进一步细节以仓库 README 为准:

羽毛球分组比赛记分
小程序二维码

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

Xiaoye