前言¶
在 DSH 的插件化思路里,聊天输入框可以扩展。若希望把语音输入放进 dsh web 的聊天输入框,而不是依赖外部工具单独处理粘贴,voco-input-sh 提供了一种做法:在输入框旁增加麦克风按钮,启动 VocoType 的本地识别,再把识别结果插入输入框草稿。
下面介绍这个插件的定位、安装方式和典型用法。
这是什么¶
voco-input-sh 是一个 dsh web 插件包。它负责检测、启动和自动部署 VocoType,读取 VocoType 识别日志,将识别结果插入聊天输入框,并在草稿已包含相同文本时去重。
仓库地址为:
https://github.com/Nothree-code/voco-input-sh
许可证为 MIT。package.json 中版本号为 0.2.0,依赖项包含 react ^18.2.0。
核心功能¶
这个插件主要提供以下能力:
- 在输入框工具行右侧提供麦克风按钮,使用千问风格图标,hover 高亮,录音中红点呼吸。
- 在输入框上方弹出录音面板,显示波形动画、状态提示和累计插入条数。
- 检测 VocoType 进程;未运行时自动启动;未安装时自动下载官方安装包并静默安装。
- 基于 VocoType 的开源离线语音输入能力,支持 Paraformer 中文识别、FSMN-VAD 和 CT-Transformer 标点。
- 读取 VocoType 识别日志,并按 mtime 优化轮询,日志文件无变化时不重复读取。
- 识别结果自动插入输入框草稿;若草稿已包含该文本,则跳过,避免双份。
- 一次启动后可持续输入多句,再次点击按钮或关闭面板结束。
- 面板出错时提供重试按钮。
- 日志路径基于
%LOCALAPPDATA%,exe 探测多个常见安装位置。
安装与启用¶
安装流程属于本地 profile 安装,不是一条单命令插件添加流程。先准备 pnpm,并把包放入 dsh profile 的 packages/ 目录。
先确认目录,例如:
C:\Users\<你>\.dsh\profiles\web\packages\voco-input-sh
然后在 profile 根目录执行安装:
cd <你的 profile 目录> # 例如 C:\Users\<你>\.dsh\profiles\web
pnpm add "file:./packages/voco-input-sh"
接着在 cordis.patch.yml 添加挂载行:
- insert:
- id: voco-input-sh
name: 'voco-input-sh'
最后重启 dsh web。经过上面的步骤,聊天输入框工具行会显示麦克风按钮。
典型用法¶
1、点击输入框右侧麦克风按钮,弹出录音面板。
2、按住 AltRight 说话,松开。
3、识别文字自动插入输入框草稿。
4、如果 VocoType 已把文字粘贴到输入框,插件会在草稿已包含该文本时跳过插入。
5、连续说多句时,识别结果会按顺序全部插入。
6、再次点击麦克风按钮,或点击面板关闭按钮,结束本次持续输入。
适用场景与注意¶
这个插件适合希望在 dsh web 聊天输入框中使用持续语音输入,并接受 VocoType 自动部署的用户。
使用前注意以下几点:
- 需要
pnpm。 - VocoType 会自动部署。首次会自动下载约 25MB 安装包并静默安装;模型约 1.6GB,由 VocoType 首次启动时下载。
- 安装命令示例使用 Windows 路径,并涉及 PowerShell 与
%LOCALAPPDATA%路径。 - 插件会以当前 dsh 进程权限运行。安装前建议检查源码、依赖和 MIT 许可证。
package.json中版本为0.2.0,依赖项包含react ^18.2.0。- 安全设计包括:部署操作使用 POST 并校验 anti-CSRF token;安装包固定 SHA-256 校验;下载链路移除
--ssl-no-revoke;路由有 Origin/Sec-Fetch-Site 守卫;PowerShell 调用有 180s 超时;客户端 ensure 请求有 120s 超时。 - 日志按 UTF-8 读取失败时,会自动改用 GBK 解码。
结尾¶
voco-input-sh 的价值在于把 VocoType 的离线语音识别结果接入 dsh web 输入框,减少重复粘贴和外部工具切换。DSH 社区目录是独立站点,与 DeepSeek / 幻方没有官方从属关系;当前已核实资料未提供具体目录页地址。仓库地址:
https://github.com/Nothree-code/voco-input-sh