点击麦克风说话,识别文字自动追加到输入框草稿
29.9/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/9/18 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
自动兼容检查未通过:仓库 package.json 标记 private,未发布到 npm,需从源码安装。以下命令仍可尝试,但可能失败。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add ManTou-kaya/dsh-voice-input该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
是什么
dsh 原生插件 · browser
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 55 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查需源码安装仓库 package.json 标记 private,未发布到 npm,需从源码安装
展开查看检查明细 ↓
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✓npm 包dsh-voice-input @ 0.1.4
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明
源码安装时若 pnpm 拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑。
验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/9/21 23:43:48
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
可执行外部命令读写/删除本地文件发起外部网络请求
查看扫描证据(共 8 处,展示前 8 条)
- 执行外部命令来自配置/变量lib/index.js:76
execFile(POWERSHELL, ['-NoProfile', '-NonInteractive', '-Command', script], { - 执行外部命令来自配置/变量lib/index.js:140
const child = spawn(POWERSHELL, [ - 写入本地文件lib/index.js:346
writeFileSync(wavPath, body) - 删除本地文件递归lib/index.js:351
rmSync(dir, { recursive: true, force: true }) - 发起网络请求lib/client.js:260
const response = await fetch(ROUTE, { - 发起网络请求lib/client.js:501
const response = await fetch("/voice-input/status", { headers: { "cache-control": "no-cache" } }); - 发起网络请求src/client/engine-local.js:127
const response = await fetch(ROUTE, { - 发起网络请求src/client/session.js:75
const response = await fetch('/voice-input/status', { headers: { 'cache-control': 'no-cache' } })
扫描于 2026/11/4(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 点击麦克风语音输入
- 识别文字追加草稿
给 DSH Web 输入框加语音输入:浏览器 Web Speech,Windows 上回退到离线 System.Speech。
README
由 DeepSeek 最新模型翻译生成dsh-voice-input
为 DSH Web GUI 的输入框添加语音输入:点击麦克风说话,识别出的文字会自动追加到草稿末尾。
- 双引擎:默认使用浏览器内置的 Web Speech(Chrome / Edge);当不可用或报网络错误时,自动回退到本机 Windows 离线识别(System.Speech,零密钥、可离线)
- 零构建安装:lib/client.js 已提交,克隆或 pnpm add github:... 之后直接可用,不需要安装 esbuild
- 浮层面板可切换语言与引擎,完成 / 撤销 / Esc,选择会持久化
- 不改动任何已发布的 @deepseek-ai/ 包,可单独卸载
安装(另一台电脑)
让 AI 助手安装:把仓库地址丢给那台机器上的 Agent,再加一句「按 AGENTS.md 安装」即可。AGENTS.md 是给模型阅读的逐步安装 / 验证 / 排错说明(含每条命令的预期输出)。
前提:那台机器已经装好 DSH 与 pnpm(dsh web 至少运行过一次,profile 才会存在)。
展开完整文档(README 剩余 1 节)
dsh-voice-input
为 DSH Web GUI 的输入框添加语音输入:点击麦克风说话,识别出的文字会自动追加到草稿末尾。
- 双引擎:默认使用浏览器内置的 Web Speech(Chrome / Edge);当不可用或报网络错误时,自动回退到本机 Windows 离线识别(System.Speech,零密钥、可离线)
- 零构建安装:lib/client.js 已提交,克隆或 pnpm add github:... 之后直接可用,不需要安装 esbuild
- 浮层面板可切换语言与引擎,完成 / 撤销 / Esc,选择会持久化
- 不改动任何已发布的 @deepseek-ai/ 包,可单独卸载
安装(另一台电脑)
让 AI 助手安装:把仓库地址丢给那台机器上的 Agent,再加一句「按 AGENTS.md 安装」即可。AGENTS.md 是给模型阅读的逐步安装 / 验证 / 排错说明(含每条命令的预期输出)。
前提:那台机器已经装好 DSH 与 pnpm(dsh web 至少运行过一次,profile 才会存在)。
git clone https://github.com/ManTou-kaya/dsh-voice-input.git
cd dsh-voice-input
powershell -ExecutionPolicy Bypass -File .\install.ps1
脚本做两件事:
1. pnpm add -w github:ManTou-kaya/dsh-voice-input(安装到 %USERPROFILE%\.dsh\profiles\web)
2. 把 loader 行写入该 profile 的 cordis.patch.yml
然后刷新浏览器页面(F5),输入框工具行就会出现麦克风按钮。若没有出现,重启一次 dsh web。
手动安装(不用脚本)
cd $env:USERPROFILE\.dsh\profiles\web
pnpm add -w github:ManTou-kaya/dsh-voice-input
再编辑 cordis.patch.yml(该文件是 YAML 数组,热生效):
- insert:
- id: dsh-voice-input
name: 'dsh-voice-input'
包故意不声明 dsh.bundle:这样 dsh plugin add 不会把包名同时写入 dsh.profile.bundles,避免同一个 id 被插入两次。dsh plugin --profile web add github:ManTou-kaya/dsh-voice-input 也能安装,只是会打印一条 “declares no dsh.bundle” 的提示,属正常现象。
卸载
1) 删掉 cordis.patch.yml 里的 - insert: 那一行(热生效)
2) 删依赖
cd $env:USERPROFILE\.dsh\profiles\web
pnpm remove -w dsh-voice-input
用法
输入框工具行(模型选择器左侧、发送按钮之前)的麦克风按钮:
| 操作 | 效果 |
| 点击麦克风 | 开始识别;再次点击 = 停止并保留文字 |
| 浮层 完成 | 同上 |
| 浮层 撤销 | 只删除本次语音追加的文字(录音期间手打的字不动) |
| Esc | 停止并保留 |
| 语言下拉 | zh-CN / en-US(本机离线引擎只支持已安装的语言) |
| 引擎下拉 | 自动 / 浏览器 / 本机离线 |
识别文字按段追加到草稿末尾;浮层实时显示临时结果。录音期间手动输入的内容不会被覆盖,但可能与识别结果交错。
设置持久化在 localStorage['dsh-voice-input'] = { engine, lang }。
引擎
| 引擎 | 位置 | 依赖 | 说明 |
| browser | 浏览器内 Web Speech API | Chrome / Edge;能访问厂商语音服务 | 准确率最好;Chrome 需要能访问 Google 服务 |
| local | 宿主机 Windows System.Speech | Windows + 已安装听写识别器(如 zh-CN) | 完全离线、无密钥;听写准确率一般 |
auto(默认):有 Web Speech 就用它;API 不存在或报 network / language-not-supported 时自动切换到本机离线引擎,面板会提示已切换。
实现
lib/index.js 宿主端:/voice-input/transcribe、/voice-input/status、启动全局、常驻 PowerShell 子进程 lib/recognize.ps1 System.Speech 常驻 worker(stdin/stdout 行式 JSON、UTF-8、空闲回收) lib/client.js 浏览器端构建产物(__ModuleLoader__ 工厂信封,外部依赖只有 react / react-jsx-runtime / dsh-client-ui-primitives) src/client/ 源码:slot 注册、麦克风按钮、浮层面板、引擎编排、Web Speech、本机录音+WAV、草稿追加/撤销 build.mjs esbuild 打包成宿主可服务的工厂信封
数据流:
[麦克风按钮 conversation.input.right] ─┐ [浮层面板 conversation.input.overlay] ─┤ 模块级 store ├─ browser: SpeechRecognition onresult → 追加草稿 └─ local: getUserMedia → AudioWorklet(16k) → VAD 分段 → WAV → POST /voice-input/transcribe → 宿主 powershell.exe (System.Speech) → 文本 → inputActions.setDraft(实时草稿 + 新段)
- 宿主路由只接受 loopback 对端 + 每进程随机 token(x-dsh-voice-token),body ≤ 4 MiB,20s 超时,临时文件用后即删。
- 草稿写入只能走宿主公开的 InputActions.setDraft()(整体替换),所以采用「追加到实时草稿」而不是「基准草稿 + 累计」,这样录音期间手打的字不会被抹掉。
- System.Speech 的同步 Recognize() 在第一句之后会清空音频输入(多句音频会丢后半段),因此 worker 用 RecognizeAsync(Multiple) + SpeechRecognized / RecognizeCompleted 事件收集全部句子。
开发 powershell
pnpm install # 装 esbuild
node build.mjs # 重写 lib/client.js
只改 src/client/* 时,改完跑 node build.mjs 即可;client-hmr 会轮询该文件并在浏览器里热重载插件行,不用重启 dsh web。改 lib/index.js / lib/recognize.ps1 需要重启 dsh web。
调试本机识别 worker: powershell $env:DSH_VOICE_DEBUG='1' # worker 把请求/结果写到 stderr
限制
- 麦克风需要安全上下文:http://127.0.0.1 / localhost 或 HTTPS。用局域网 IP 打开时浏览器会禁用麦克风,面板会明确提示。
- 本机离线引擎仅 Windows,且只能用系统已安装的识别器语言;听写准确率一般(实测示例句会有错字),面板上有引擎徽标可手动切回浏览器引擎。
- setDraft() 是整体替换,识别结果与录音期间的手动输入可能交错。
License
MIT预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
ManTou-kaya/dsh-voice-input
点击麦克风说话,识别文字自动追加到输入框草稿
相关插件 · 浏览器
智能体插件框架deepseek-ai/deepseek-harness
DeepSeek Harnessdsh是由 DeepSeek AI 开发的开源 agent harness智能体框架。
★ 270,422已汉化DSH
71.9
多设备 Agent 看板YaoApp/yao
✨ 所有 Agent 和工作区集中管理,覆盖你的每一台设备。任务看板追踪进度,桌面端、移动端、浏览器、API…
★ 8,147已汉化DSH
71.2
可扩展侧边栏工作台omdsh-dev/DSH-better-sidebar
DSH 的双工作台:原生右侧栏 + 自绘底部面板,并把 ctx.betterSidebar 服务开放给所有插件
★ 4,761已汉化DSH
71.1
浏览器自动化桥Tencent/BrowserSkill
你的 Agent。你的浏览器。连接,就能协作。
★ 9,967已汉化DSH
71
AI 小说创作工作台EthanYoQ/AI-Novel-Writer
AI 小说作家 / AI Novel Writer
★ 1,591已汉化DSH
70.7
智能体浏览器引擎platonai/Browser4
DeepSeek Harness 集成
★ 1,175已汉化DSH
70.4
这是你的仓库?认领条目