前言¶
DeepSeek Harness 是一个插件化平台。在使用 Web Profile 进行对话或开发智能体时,语音输入是常见需求。本插件为 DSH 提供了本地化的语音转文字能力,避免了将音频流上传至云端,适合对隐私或网络环境有要求的场景。
插件简介¶
插件名称为 opensquad-ai/dsh-voice-input,由 opensquad-ai 维护。它基于 FunAudioLLM 的 SenseVoice 模型,在 Web Profile 的对话输入框旁集成麦克风按钮。录音后,插件会调用本地服务将音频转为文本并填入输入框。
前置条件¶
使用该插件需要满足以下环境要求:
- Python 3.10+:插件会自动安装
flask、onnxruntime、librosa、soundfile、pyyaml等依赖,但需要手动安装 Python 本身。 - Node.js >= 22.19.0:DSH 平台本身需要满足的版本要求。
- 浏览器支持:浏览器需支持
MediaRecorder和getUserMedia接口。
(可选)ffmpeg:用于异常音频的兜底转码。浏览器端通常将录音转为标准 WAV,正常使用不需要 ffmpeg,但建议安装以防个别浏览器兼容性问题。
安装与启用¶
在终端中执行以下命令即可完成安装:
dsh plugin --profile web add @opensquad/dsh-voice-input
安装完成后,重启 DeepSeek Harness。插件会在后台自动探测 Python 环境、安装剩余依赖并启动后端服务。
核心功能¶
该插件主要提供以下能力:
- 一键录音转文字:在输入框旁显示麦克风按钮,点击开始录音,再次点击停止并转写,文字自动填入输入框。
- 自动模型管理:首次使用时,插件会自动下载 SenseVoice 模型(约 230MB),并在按钮上显示圆环进度和实时百分比。
- 独立管理按钮:除了录音按钮,插件还提供独立的管理按钮,用于查看已安装的模型或卸载模型重新下载。
- 自动拉起服务:插件会自动启动本地 Flask 服务(端口 7101)和下载网关(端口 7102),无需手动配置。
典型用法¶
完成安装和重启后,按以下步骤使用:
- 初始化:重启 dsh 后稍等片刻,后台会自动安装 Python 依赖并启动服务。
- 首次使用:点击麦克风图标,确认下载模型,等待进度条完成。此时服务会自动就绪。
- 录音转写:再次点击麦克风开始录音,说话完毕后点击停止,转写后的文本会自动出现在输入框中。
适用场景与注意¶
- 该插件在 DeepSeek Harness 的 Web Profile 下运行。
- 插件以当前 dsh 进程的权限运行,安装前建议检查源码与许可证。
- 模型下载与依赖安装过程在首次使用时可能较慢,请耐心等待。
技术细节¶
插件的后端逻辑由插件自动管理。启动流程如下:
- 探测 Python 环境。
- 自动执行
pip install安装依赖。 - 启动下载网关(
gateway.py:7102)。 - 检测模型是否已存在,若未存在则下载并启动转写服务(
service.py:7101)。
许可证¶
该插件采用 MIT 许可证开源。