前言¶
在 DSH Desktop 的聊天框中使用语音输入时,dsh-audio-copilot 提供了一个麦克风按钮:点击后说话,多引擎转写后自动填入输入框。
这是什么¶
dsh-audio-copilot 是 ai-yucheng 维护的 DSH 语音输入插件。它的主要能力是 ASR/语音输入:浏览器端进行麦克风录音,服务端调用所选引擎转写,再将结果填入聊天输入框。
该插件资料标明基于 DSH 0.1.0-rc.7 线,许可证为 MIT。使用前置条件包括 DSH Desktop、Node.js ≥ 20,以及 ffmpeg / ffprobe 在 PATH 中。
核心功能¶
- 聊天输入框旁提供麦克风按钮:点击后说话,转写结果自动填入输入框。
- 支持
zhipu、local、gemini、openai四种语音转写引擎。 local引擎使用本地faster-whisper离线转写。首次使用会下载模型,约 460MBsmall或约 1.5GBmedium,之后离线可用。zhipu引擎使用 GLM-ASR-2512,支持中文普通话、四川/粤/闽/吴方言及数十种外语。- 最长录音 28 秒,到点自动停止;更长音频需要分段录音。
gemini引擎遇到免费额度 429 限流时,会按提示等待后重试一次;免费档每时段 20 次请求。zhipu引擎遇到 webm 时,服务端使用 ffmpeg 自动转成 16kHz wav。- 转写失败会给出提示;如果文本注入输入框失败,会自动把结果复制到剪贴板。
- 配置项有 schema 校验。
- 转写文件大小上限为 25MB,
maxAudioBytes默认26214400;ASR 超时默认120000毫秒。
安装与启用¶
先确认前置条件:DSH Desktop 可用,Node.js ≥ 20,ffmpeg / ffprobe 已在 PATH。
1、在 DSH 的 profile web 目录克隆仓库:
git clone https://github.com/ai-yucheng/dsh-audio-copilot.git
2、将插件以本地链接方式加入 profile。将路径替换为实际克隆目录:
pnpm add dsh-audio-copilot@link:C:/绝对路径/dsh-audio-copilot
3、在 profile 的 package.json 的 dsh.profile.bundles 数组中追加:
"dsh-audio-copilot"
典型用法¶
按所选引擎配置 API key。资料给出的示例是:使用 zhipu 时配置 ZHIPU_API_KEY,使用 gemini 时配置 GEMINI_API_KEY。
在 profile 的 cordis.patch.yml 中配置插件键。下面示例展示需要配置的键,具体端点和模型值按所选引擎填写:
- id: audio-copilot
config:
asrEngine: zhipu
asrBaseUrl: <按所选端点填写>
asrModel: <按所选模型填写>
asrApiKeyEnv: ZHIPU_API_KEY
配置完成后,依次执行:
1、重启 DSH Desktop。
2、硬刷新浏览器:Ctrl+Shift+R。
3、点击聊天框工具栏的麦克风按钮,允许浏览器麦克风权限。
4、说话并停止,转写文字自动填入输入框。
可用以下命令验证配置:
dsh --profile web --dump-config | grep audio-copilot
引擎说明¶
zhipu:支持中文普通话、四川/粤/闽/吴方言及数十种外语;按量计费,余额不足会导致转写失败。local:本地faster-whisper离线转写;首次使用需要下载模型;方言效果一般,粤语建议换zhipu引擎。gemini:免费档每时段 20 次请求;遇到 429 限流时自动按提示等待后重试一次。openai:作为可选转写引擎之一;按所选引擎配置对应 API key。
适用场景与注意¶
适合在 DSH 聊天框中使用语音输入、希望转写结果直接进入输入框的场景。若关注中文方言,可优先关注 zhipu;若需要离线或减少外部依赖,可关注 local;若使用 gemini 或 openai,需要先准备对应 API key。
由于插件以当前 DSH 进程权限运行,且会涉及本地录音、本地 ffmpeg / ffprobe、部分外部 ASR 服务与配置校验,安装前应检查源码和许可证。本文介绍的许可证为 MIT。
链接¶
- 目录页:https://www.skillhub.cn/plugins/ai-yucheng/dsh-audio-copilot
- GitHub:https://github.com/ai-yucheng/dsh-audio-copilot