前言¶
DeepSeek Harness(DSH)采用插件化架构,允许通过插件扩展功能。在构建智能体应用时,语音输入是高频需求。下面介绍 dsh-voice-input 插件,它通过浏览器原生能力实现语音转文字,无需额外服务端部署。
插件简介¶
- 名称:
dsh-voice-input - 维护者:
difimim - 许可证:MIT
- 核心价值:在输入框加入麦克风按钮,利用浏览器 Web Speech API 将语音实时转换为文字填入输入框,实现零成本语音交互。
安装与启用¶
这是标准的 DSH 插件 bundle,使用官方 CLI 安装。安装后需要重启 DSH 进程才能生效。
安装命令:
dsh plugin --profile web add @difimim/dsh-voice-input
安装完成后,重启 DSH 服务:
dsh web
若使用其他 profile(如
tui),命令格式同理:
bash dsh plugin --profile tui add @difimim/dsh-voice-input
核心功能¶
- 输入框工具栏集成:在输入框工具行左侧新增麦克风按钮,用于开始或停止收音。
- 实时识别:边说边将中间结果写进输入框草稿,无需等待识别完成。
- 追加式写入:不清空已有文字,识别结果追加到当前草稿末尾,支持与手打内容共存。
- 零成本零服务端:直接复用浏览器内置 Web Speech API,无需自建识别服务。
- 主题适配:按钮颜色使用 DSH 主题变量,自动适配明暗色模式。
使用方法¶
- 开始收音:点击输入框工具行左侧的麦克风图标。按钮会变红并出现脉冲动画。
- 说话与输入:直接说话,识别出的文字会实时出现在输入框内。
- 停止收音:再点击一次麦克风图标(图标变为方块状),停止收音。
- 发送:确认文字无误后,正常回车发送。
技术细节与注意事项¶
- 识别引擎:依赖浏览器内置的
SpeechRecognition(或webkitSpeechRecognition)接口。 - 识别语言:默认语言为中文(
zh-CN)。 - 写入方式:通过输入框 Slot 提供的
inputActions.setDraft()方法写入草稿。
兼容性与限制:
- 浏览器要求:Chrome / Edge / Safari(较新版本)支持;Firefox 不支持 Web Speech API。
- 网络依赖:识别服务需要联网,音频会被发送到浏览器厂商的识别服务器。
- 权限提示:首次点击麦克风会弹出系统授权窗口,需点击“允许”。
- 隐私说明:当前方案为了实现零部署,会将语音数据发送到浏览器厂商的云端识别服务。如果对隐私有极高要求或需要完全离线,当前版本不满足需求。
总结¶
dsh-voice-input 为 DSH 提供了一个轻量级的语音输入方案,适合希望在现有 DSH 环境中快速增加语音交互能力的开发者。更多细节与源码,请访问其目录页或 GitHub 仓库。