# dsh-mic-input **DeepSeek Harness (DSH) Web GUI 的麦克风语音输入插件 —— 纯浏览器实现,零服务端、零密钥。** English version: [README.md](README.md) 纯 Client 插件,在 DSH Web GUI 输入框工具行右侧添加一个**麦克风按钮**:点击开始/停止录音,语音实时转写进输入框。全部通过浏览器内置的 **Web Speech API** 完成: - **Microsoft Edge** → 微软 Azure 语音服务 - **Google Chrome** → 谷歌/Chrome 语音服务 零服务端、零 API Key、零模型下载。音频只交给浏览器自带的语音服务,插件本身不落盘、不上传。 ## 功能 - **输入框工具行麦克风按钮**(发送按钮左侧):点击开始/停止;录音时红色脉动光圈 - **实时转写**:边说边把中间结果填进输入框 - **文字不重复**:草稿永远基于录音开始时的输入框内容重建,并自动去重 interim 回显前缀(修复 Web Speech 插件常见的"重复文字"问题) - **静默自动续听**:浏览器停顿约 1.5 秒断连后自动重连续听(最多 6 次),长句不会被切断 - **智能标点**(默认开启):句末自动补全——`吗/呢` 结尾补 `?`,`吧/啊/呀/哦/嘛/啦/哇/哈` 结尾补 `!`,其余补 `。`(英文补 `.`);可选:自动补全 / 保留原样 / 去除 - **语言选择**:跟随系统 / 中文(zh-CN)/ English(en-US)——语言匹配错误是识别跑偏的头号原因 - **识别后自动发送**(可选):说完自动提交 - **设置入口**:设置 → 通用 → 语音输入 - **错误可见**:权限被拒、网络错误等以中/英文提示显示在按钮悬停处 ## 安装 ```sh dsh plugin --profile web add github:QT-Chen/dsh-mic-input ``` 或从 npm 安装(预构建产物,无需构建授权): ```sh dsh plugin --profile web add dsh-mic-input ``` 重启 `dsh web`(或刷新页面),点输入框右侧的**麦克风按钮**即可。首次使用浏览器会请求麦克风权限,允许即可(127.0.0.1 / localhost 属安全上下文,可用)。 > 提示:从 GitHub 源码安装时,pnpm ≥ 10 可能要求一次 `allowBuilds` 构建授权;npm 安装则无需此步骤。 ## 使用建议 - 录音即开始一个会话;**再点一次按钮停止**,转写文字保留在输入框中(勾选"自动发送"才会自动提交) - 识别乱码时先检查语言设置——说的语言和设置的语言不一致是常见原因 - 识别质量取决于浏览器自带引擎(Edge 走微软、Chrome 走谷歌,两者可能有明显差异) ## 隐私 无服务端、无存储:音频由浏览器语音服务(微软/谷歌)处理,只有最终文字进入 DSH。插件本身不写盘。 ## License MIT